TRaX: A Multi-Threaded Architecture for Real-Time Ray Tracing

  • Authors:
  • Josef Spjut;Solomon Boulos;Daniel Kopta;Erik Brunvand;Spencer Kellis

  • Affiliations:
  • School of Computing, University of Utah, Salt Lake City, UT 84112;School of Computing, University of Utah, Salt Lake City, UT 84112;School of Computing, University of Utah, Salt Lake City, UT 84112;School of Computing, University of Utah, Salt Lake City, UT 84112;School of Computing, University of Utah, Salt Lake City, UT 84112

  • Venue:
  • SASP '08 Proceedings of the 2008 Symposium on Application Specific Processors
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Ray tracing is a technique used for generating highly realistic computer graphics images. In this paper, we explore the design of a simple but extremely parallel, multi-threaded, multi-core processor architecture that performs real-time ray tracing. Our architecture, called TRaX for Threaded Ray eXecution, consists of a set of thread states that include commonly used functional units for each thread and share large functional units through a programmable interconnect to maximize utilization. The memory system takes advantage of the application's read-only access to the scene database and write-only access to the frame buffer output to provide efficient data delivery with a relatively simple structure. Preliminary results indicate that a multi-core version of the architecture running at a modest speed of 500 MHz already provides real-time ray traced images for scenes of a complexity found in video games. We also explore the architectural impact of a ray tracer that uses procedural (computed) textures rather than image-based (look-up) textures to trade computation for reduced memory bandwidth.