Programming and Computer Software

, Volume 42, Issue 6, pp 382–387 | Cite as

Low overhead path regeneration

  • V. A. Frolov
  • V. A. Galaktionov


Monte Carlo Path Tracing is a core light transport technique which is used for modern methods (like BDPT, MLT, VCM and others). One of the main challenge of efficient GPU Path Tracing implementation is inefficient workload caused by paths of different lengths; few threads process the long paths, while other threads are idle. A work distribution technique called “Path Regeneration” is commonly used to solve this problem. We introduce a novel GPU implementation of path regeneration technique called “in place block based path regeneration.” In comparison to previous approaches our algorithm possesses two main advantages: it has lower self-cost and it does not move any per-ray data along threads in memory, thus, our algorithm can be easily integrated to any advanced path tracing technique (like BDPT, MLT and other) or photon mapping. We tested our solution with path tracing using both CUDA and OpenCL.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Gupta, K., Stuart, J.A., and Owens, J.D., A study of persistent threads style GPU programming for GPGPU workloads, in Proceedings of Innovative Parallel Computing, San Jose, CA, 2012.Google Scholar
  2. 2.
    Bogolepov, D., Ulyanov, D., Sopin, D., and Turlapov, V., GPU-optimized bi-directional path tracing, Proc. WSCG 2013, 24–28 June 2013, Plzen Czech Republic, pp. 57–60, ISBN: 978-80-86943-76-3Google Scholar
  3. 3.
    Lafortune, E.P. and Willams, Y.D., Bidirectiona lapth tracing, Proceedings of Third International Conference on Computational Graphics and Vizualization Techniques, 1993.Google Scholar
  4. 4.
    Hachisuka, T., Kaplanyan, A.S., and Dachsbacher, C., Multiplexed metropolis light transport, ACM Transactions on Graphics (TOG), Proceedings of ACM SIGGRAPH 2014. Scholar
  5. 5.
    Frolov, V., Kharlamov, A., and Ignatenko, A., Biased Global Illumination via Irradiance Caching and Adaptive Path Tracing on GPUs, Proceedings of GraphiCon’ 2010 International Conference on Computer Graphics and Vision, St. Petersburg, 2010, pp. 49–56.Google Scholar
  6. 6.
    Parker, S.G., Bigler, J., Dietrich, A., Friedrich, H., Hoberock, J., Luebke, D., McAllister, D., McGuire, M., Morley, K., Robison, A., and Stich, M., OptiX: A general purpose ray tracing engine, in ACM SIGGRAPH 2010 papers, ACM, NY, Article 66, 13 p.Google Scholar
  7. 7.
    Nocak, J., Havran, V., and Daschbacher, Path regeneration for interactive path tracing, in EUROGRAPHICS 2010, Short papers, pp. 61–64.Google Scholar
  8. 8.
    Van Antwerpen, Unbiased physically based rendering on the GPU, M.S. Thesis, The Netherlands: Delft University of Technology, 2011.Google Scholar
  9. 9.
    Davidovic, T., Krivanek, Ja., Hasan, M., and Slusallek, Ph., Progressive Light Transport Simulation on the GPU: Survey and Improvements, ACM Trans. Graph. 33, 3, Article 29 (June 2014), p. 19.Google Scholar
  10. 10.
    Wald, I., Active thread compaction for GPU path tracing, High Performance Graphics, 2011, pp. 51–58.Google Scholar
  11. 11.
    Laine, S., Karras, T., and Aila, T., Megakernels considered harmful: Wavefront path tracing on GPUs, Proc. of High-Performance Graphics, 2013, pp. 137–143.CrossRefGoogle Scholar
  12. 12.
    Novak, J., Global illumination methods on GPU with CUDA, MS Thesis: Ph. D. Thesis, Czech Technical University, Prague, 2009Google Scholar
  13. 13.
    NVIDIA Mental Ray, 2014. Scholar

Copyright information

© Pleiades Publishing, Ltd. 2016

Authors and Affiliations

  1. 1.Keldysh Institute of Applied Mathematics RASMoscowRussia
  2. 2.Moscow State UniversityMoscowRussia

Personalised recommendations