skip to main content
research-article

TRaX: a multicore hardware architecture for real-time ray tracing

Authors Info & Claims
Published:01 December 2009Publication History
Skip Abstract Section

Abstract

Threaded Ray eXecution (TRaX) is a highly parallel multithreaded multicore processor architecture designed for real-time ray tracing. The TRaX architecture consists of a set of thread processors that include commonly used functional units (FUs) for each thread and that share larger FUs through a programmable interconnect. 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 memory system. One specific motivation behind TRaX is to accelerate single-ray performance instead of relying on ray packets in single-instruction-multiple-data mode to boost throughput, which can fail as packets become incoherent with respect to the objects in the scene database. In this paper, we describe the TRaX architecture and our performance results compared to other architectures used for ray tracing. Simulated results indicate that a multicore version of the TRaX architecture running at a modest speed of 500 MHz provides real-time ray-traced images for scenes of a complexity found in video games.We also measure performance as secondary rays become less coherent and find that TRaX exhibits only minor slowdown in this case while packet-based ray tracers show more significant slowdown.

References

  1. E. Catmull, "A subdivision algorithm for computer display of curved surfaces," Ph.D. dissertation, Univ. Utah, Salt Lake City, UT, Dec. 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. T. Whitted, "An improved illumination model for shaded display," Commun. ACM, vol. 23, no. 6, pp. 343-349, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Glassner, Ed., An Introduction to Ray Tracing. London, U.K.: Academic, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Shirley and R. K. Morley, Realistic Ray Tracing. Natick, MA: A. K. Peters, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. S. Immel, M. F. Cohen, and D. P. Greenberg, "A radiosity method for non-diffuse environments," in Proc. SIGGRAPH, 1986, pp. 133-142. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. T. Kajiya, "The rendering equation," in Proc. SIGGRAPH, 1986, pp. 143-150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. Spjut, D. Kopta, S. Boulos, S. Kellis, and E. Brunvand, "TRaX: A multithreaded architecture for real-time ray tracing," in Proc. 6th IEEE SASP, Jun. 2008, pp. 108-114. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. E. Lafortune and Y. D. Willems, "Bi-directional path-tracing," in Proc. Compugraphics, Alvor, Portugal, Dec. 1993, pp. 145-153.Google ScholarGoogle Scholar
  9. D. Kopta, J. Spjut, E. Brunvand, and S. Parker, "Comparing incoherent ray performance of TRaX vs. Manta," in Proc. IEEE Symp. Interactive Ray Tracing (RT), Aug. 2008, p. 183.Google ScholarGoogle Scholar
  10. D. P. Greenberg, K. E. Torrance, P. Shirley, J. Arvo, E. Lafortune, J. A. Ferwerda, B. Walter, B. Trumbore, S. Pattanaik, and S.-C. Foo, "A framework for realistic image synthesis," in Proc. SIGGRAPH, 1997, pp. 477-494. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. H. Clark, "The geometry engine: A VLSI geometry system for graphics," in Proc. 9th Annu. Conf. SIGGRAPH, 1982, pp. 127-133. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. Poulton, H. Fuchs, J. D. Austin, J. G. Eyles, J. Heineche, C. Hsieh, J. Goldfeather, J. P. Hultquist, and S. Spach, "PIXEL-PLANES: Building a VLSI based raster graphics system," in Proc. Chapel Hill Conf. VLSI, 1985, pp. 135-160.Google ScholarGoogle Scholar
  13. H. Fuchs, J. Goldfeather, J. P. Hultquist, S. Spach, J. D. Austin, J. Frederick, P. Brooks, J. G. Eyles, and J. Poulton, "Fast spheres, shadows, textures, transparencies, and image enhancements in pixel-planes," in Proc. 12th Annu. Conf. SIGGRAPH, 1985, pp. 111-120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Deering, S.Winner, B. Schediwy, C. Duffy, and N. Hunt, "The triangle processor and normal vector shader: A VLSI system for high performance graphics," in Proc. 15th Annu. Conf. SIGGRAPH, 1988, pp. 21-30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. ATI, ATI Products From AMD. {Online}. Available: http://ati.amd. com/products/index.htmlGoogle ScholarGoogle Scholar
  16. nVidia Corporation. {Online}. Available: www.nvidia.comGoogle ScholarGoogle Scholar
  17. T. J. Purcell, I. Buck, W. R. Mark, and P. Hanrahan, "Ray tracing on programmable graphics hardware," ACM Trans. Graph., vol. 21, no. 3, pp. 703-712, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Balciunas, L. Dulley, and M. Zuffo, "GPU-assisted ray casting acceleration for visualization of large scene data sets," in Proc. IEEE Symp. Interactive Ray Tracing (RT), Sep. 2006.Google ScholarGoogle ScholarCross RefCross Ref
  19. J. Günther, S. Popov, H.-P. Seidel, and P. Slusallek, "Realtime ray tracing on GPU with BVH-based packet traversal," in Proc. IEEE/Eurographics Symp. Interactive Ray Tracing (RT), Sep. 2007, pp. 113-118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. E. Lindholm, J. Nickolls, S. Oberman, and J. Montrym, "NVIDIA Tesla: A unified graphics and computing architecture," IEEE Micro, vol. 28, no. 2, pp. 39-55, Mar./Apr. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. nVidia SIGGRAPH Ray Tracing Demo, Aug. 2008. {Online}. Available: http://developer.nvidia.com/object/nvision08-IRT.htmlGoogle ScholarGoogle Scholar
  22. I. Wald, S. Boulos, and P. Shirley, "Ray tracing deformable scenes using dynamic bounding volume hierarchies," ACM Trans. Graph., vol. 26, no. 1, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. S. Boulos, D. Edwards, J. D. Lacewell, J. Kniss, J. Kautz, P. Shirley, and I.Wald, "Packet-basedWhitted and distribution ray tracing," in Proc. Graph. Interface, May 2007, pp. 177-184. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D. Koufaty and D. T. Marr, "Hyperthreading technology in the net-burst microarchitecture," IEEE Micro, vol. 23, no. 2, pp. 56-65, Mar./Apr. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. R. Kalla, B. Sinharoy, and J. M. Tendler, "IBM Power5 chip: A dual-core multithreaded processor," IEEE Micro, vol. 24, no. 2, pp. 40-47, Mar./Apr. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. P. Kongetira, K. Aingaran, and K. Olukotun, "Niagara: A 32-way multithreaded Sparc processor," IEEE Micro, vol. 25, no. 2, pp. 21-29, Mar./Apr. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. IBM, The Cell Project at IBM Research. {Online}. Available: http://www.research.ibm.com/cellGoogle ScholarGoogle Scholar
  28. H. P. Hofstee, "Power efficient processor architecture and the cell processor," in Proc. 11th Int. Symp. HPCA, 2005, pp. 258-262. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. C. Benthin, I. Wald, M. Scherbaum, and H. Friedrich, "Ray tracing on the CELL processor," in Proc. IEEE Symp. Interactive Ray Tracing (RT), Sep. 2006, pp. 15-23.Google ScholarGoogle ScholarCross RefCross Ref
  30. H. Kobayashi, K. Suzuki, K. Sano, and N. Oba, "Interactive ray-tracing on the 3DCGiRAM architecture," in Proc. 35th ACM/IEEE MICRO, 2002.Google ScholarGoogle Scholar
  31. D. Hall, "The AR350: Today's ray trace rendering processor," in Proc. EUROGRAPHICS/SIGGRAPH Workshop Graph. Hardware--Hot 3D Session, 2001, pp. 13-19.Google ScholarGoogle Scholar
  32. J. Schmittler, I. Wald, and P. Slusallek, "SaarCOR--A hardware architecture for realtime ray-tracing," in Proc. EUROGRAPHICS Workshop Graph. Hardware, 2002, pp. 27-36. {Online}. Available: http:// graphics.cs.uni-sb.de/Publications Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. J. Schmittler, S. Woop, D. Wagner, P. Slusallek, and W. J. Paul, "Real-time ray tracing of dynamic scenes on an FPGA chip," in Proc. Graph. Hardware, 2004, pp. 95-106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. S. Woop, J. Schmittler, and P. Slusallek, "RPU: A programmable ray processing unit for realtime ray tracing," in Proc. Int. Conf. Comput. Graph. Interactive Tech., 2005, pp. 434-444. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. S. Woop, E. Brunvand, and P. Slusallek, "Estimating performance of an ray tracing ASIC design," in Proc. IEEE Symp. Interactive Ray Tracing (RT), Sep. 2006.Google ScholarGoogle ScholarCross RefCross Ref
  36. V. Govindaraju, P. Djeu, K. Sankaralingam, M. Vernon, and W. R. Mark, "Toward a multicore architecture for real-time ray-tracing," in Proc. IEEE/ACM Int. Conf. Microarchitecture, Oct. 2008, pp. 176-187. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. L. Seiler, D. Carmean, E. Sprangle, T. Forsyth, M. Abrash, P. Dubey, S. Junkins, A. Lake, J. Sugerman, R. Cavin, R. Espasa, E. Grochowski, T. Juan, and P. Hanrahan, "Larrabee: A many-core x86 architecture for visual computing," ACM Trans. Graph., vol. 27, no. 3, pp. 1-15, Aug. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. E. Reinhard, C. Hansen, and S. Parker, "Interactive ray tracing of time varying data," in Proc. Eurographics Workshop Parallel Graph. Vis., 2002, pp. 77-82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. S. Parker, P. Shirley, Y. Livnat, C. Hansen, and P.-P. Sloan, "Interactive ray tracing for isosurface rendering," in Proc. IEEE Vis., 1998, pp. 233-238. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. W. Martin, P. Shirley, S. Parker, W. Thompson, and E. Reinhard, "Temporally coherent interactive ray tracing," J. Graph. Tools, vol. 7, no. 2, pp. 41-48, 2002.Google ScholarGoogle ScholarCross RefCross Ref
  41. D. Luebke, B. Watson, J. D. Cohen, M. Reddy, and A. Varshney, Level of Detail for 3D Graphics. New York: Elsevier, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. M. Anid, N. Bagherzadeh, N. Tabrizi, H. Du, and M. Sanchez-Elez, "Interactive ray tracing using a SIMD reconfigurable architecture," in Proc. SBAC-PAD, 2002, pp. 20-28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. H. Du, A. Sanchez-Elez, N. Tabrizi, N. Bagherzadeh, M. Anido, and M. Fernandez, "Interactive ray tracing on reconfigurable SIMD morphoSys," in Proc. ASP-DAC, Jan. 21-24, 2003, pp. 471-476. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. The RenderMan Interface. {Online}. Available: http://renderman.pixar. com/products/rispec/rispec_pdf/RISpec3_2.pdfGoogle ScholarGoogle Scholar
  45. P. Shirley, Fundamentals of Computer Graphics. Natick, MA: A. K. Peters, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. J. D. Foley, A. van Dam, S. K. Feiner, and J. F. Hughes, Computer Graphics: Principles and Practice, 2nd ed. Boston, MA: Addison-Wesley, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. K. Perlin, "An image synthesizer," ACM SIGGRAPH Comput. Graph., vol. 19, no. 3, pp. 287-296, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. J. C. Hart, "Perlin noise pixel shaders," in Proc. ACM SIGGRAPH/EUROGRAPHICS Workshop Graph. Hardware (HWWS), 2001, pp. 87-94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. K. Perlin, "Improving noise," ACM Trans. Graph., vol. 21, no. 3, pp. 681- 682, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. P. Shirley, K. Sung, E. Brunvand, A. Davis, S. Parker, and S. Boulos, "Rethinking graphics and gaming courses because of fast ray tracing," in Proc. ACM SIGGRAPH Educators Program, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. F. E. Nicodemus. (1965, Jul.). Directional reflectance and emissivity of an opaque surface. Appl. Opt. {Online}. 4(7), pp. 767-773. Available: http://ao.osa.org/abstract.cfm?URI=ao-4-7-767Google ScholarGoogle Scholar
  52. G. J. Ward, "Measuring and modeling anisotropic reflection," in Proc. 19th Annu. Conf. Comput. Graph. Interactive Tech. (SIGGRAPH), 1992, pp. 265-272. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. D. Burger and T. Austin, "The simplescalar toolset, version 2.0," Univ. Wisconsin-Madison, Madison, Tech. Rep. TR-97-1342, Jun. 1997.Google ScholarGoogle Scholar
  54. Synopsys Inc. {Online}. Available: http://www.synopsys.comGoogle ScholarGoogle Scholar
  55. Artisan CMOS Standard Cells. {Online}. Available: http://www.arm. com/products/physicalip/standardcell.htmlGoogle ScholarGoogle Scholar
  56. I. Wald, P. Slusallek, C. Benthin, and M. Wagner, "Interactive rendering with coherent ray tracing," Comput. Graph. Forum (Proc. EUROGRAPHICS 2001), vol. 20, no. 3, pp. 153-164, 2001.Google ScholarGoogle Scholar
  57. J. Bigler, A. Stephens, and S. Parker, "Design for parallel interactive ray tracing systems," in Proc. IEEE Symp. Interactive Ray Tracing, Sep. 2006, pp. 187-196.Google ScholarGoogle ScholarCross RefCross Ref
  58. C. Gribble and K. Ramani, "Coherent ray tracing via stream filtering," in Proc. IEEE Symp. Interactive Ray Tracing (RT), Aug. 2008, pp. 59-66.Google ScholarGoogle Scholar
  59. R. L. Cook, T. Porter, and L. Carpenter, "Distributed ray tracing," in Proc. SIGGRAPH, 1984, pp. 165-174. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. TRaX: a multicore hardware architecture for real-time ray tracing
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access