CPU-GPU Multithreaded Programming Model: Application to the Path Tracing with Next Event Estimation Algorithm

  • Christophe Cassagnabère
  • François Rousselle
  • Christophe Renaud
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4292)


Today’s hardware includes powerful devices such as graphics process units (GPU) that are not always used to their maximum capacities. Our main goal is to take advantage of these unused resources. To achieve this, we abstract GPUs as SIMD streaming coprocessors and use them within the framework of a multithreaded parallel model. Thus we aim to use all the computing power of a modern PC for speeding up a global illumination simulation software.

The global illumination of a virtual scene can be estimated with stochastic methods such as Path Tracing. These methods however remain costly in terms of rendering time, because of the high sampling required to produce good quality frames. The most part of the rendering time is spent performing intersections tests between rays and triangles. We propose to speed up the rendering of a frame, by using all the available CPUs and GPUs. Our work is based on the ray engine developed by Carr et al. for ray tracing, and is mapped to our parallel programming model.


Graphic Process Unit Intersection Test Graphic Hardware Global Illumination Main Thread 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Peercy, M.S., Olano, M., Airey, J., Ungar, P.J.: Interactive multi-pass programmable shading. In: SIGGRAPH 2000: Proceedings of the 27th annual conference on Computer graphics and interactive techniques (2000)Google Scholar
  2. 2.
    Chan, E., Ng, R., Sen, P., Proudfoot, K., Hanrahan, P.: Efficient partitioning of fragment shaders for multipass rendering on programmable graphics hardware. In: HWWS 2002: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware (2002)Google Scholar
  3. 3.
    Luebke, D., Harris, M., Kruger, J., Purcell, T., Govidaraju, N., Buck, I., Woolley, C., Lefohn, A.: Gpgpu: general purpose computation on graphics hardware. In: GRAPH 2004: Proceedings of the conference on SIGGRAPH 2004 course notes, p. 33 (2004)Google Scholar
  4. 4.
    Krüger, J., Westermann, R.: Linear algebra operators for gpu implementation of numerical algorithms. ACM Trans. Graph. 22, 908–916 (2003)CrossRefGoogle Scholar
  5. 5.
    Harris, M.J., Baxter, W.V., Scheuermann, T., Lastra, A.: Simulation of cloud dynamics on graphics hardware. In: HWWS 2003: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, pp. 92–101 (2003)Google Scholar
  6. 6.
    Carr, N.A., Hall, J.D., Hart, J.C.: The ray engine. In: HWWS 2002: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, Aire-la-Ville, Switzerland, pp. 37–46. Eurographics Association (2002)Google Scholar
  7. 7.
    Purcell, T.J., Buck, I., Mark, W.R., Hanrahan, P.: Ray tracing on programmable graphics hardware. ACM Transactions on Graphics 21, 703–712 (2002); Proceedings of ACM SIGGRAPH 2002, ISSN 0730-0301CrossRefGoogle Scholar
  8. 8.
    Moreno-Fortuny, G., McCool, M.: Unified stream processing raytracer. In: Poster at GP^2: The ACM Workshop on General Purpose Computing on Graphics Processors, and SIGGRAPH 2004 poster (2002)Google Scholar
  9. 9.
    Foley, T., Sugerman, J.: Kd-tree acceleration structures for a gpu raytracer. In: HWWS 2005: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, pp. 15–22. ACM Press, New York (2005)CrossRefGoogle Scholar
  10. 10.
    Coombe, G., Harris, M.J., Lastra, A.: Radiosity on graphics hardware. In: GI 2004: Proceedings of the 2004 conference on Graphics interface (2004)Google Scholar
  11. 11.
    Thompson, C.J., Hahn, S., Oskin, M.: Using modern graphics architectures for general-purpose computing: a framework and analysis. In: MICRO 35: Proceedings of the 35th annual international symposium on Microarchitecture, pp. 306–317 (2002)Google Scholar
  12. 12.
    Buck, I., Foley, T., Horn, D., Sugerman, J., Fatahalian, K., Houston, M., Hanrahan, P.: Brook for gpus: stream computing on graphics hardware. ACM Trans. Graph. 23, 777–786 (2004)CrossRefGoogle Scholar
  13. 13.
    Whitted, T.: An improved illumination model for shaded display. Commun. ACM 23, 343–349 (1980)CrossRefGoogle Scholar
  14. 14.
    Pharr, M., Kolb, C., Gershbein, R., Hanrahan, P.: Rendering complex scenes with memory-coherent ray tracing. In: Computer Graphics (Proceedings of ACM SIGGRAPH 1997), pp. 101–108 (1997)Google Scholar
  15. 15.
    Nvidia-SLI. SLI Technology Overview, http://uk.slizone.com/page/slizone_learn.html

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Christophe Cassagnabère
    • 1
  • François Rousselle
    • 1
  • Christophe Renaud
    • 1
  1. 1.Laboratoire d’Informatique du LittoralUniversité du Littoral Côte d’OpaleFrance

Personalised recommendations