Cache-aware volume rendering methods with dynamic data reorganization

Abstract

 We present two cache-aware methods for accelerating volume rendering on graphics processing units (GPUs). The proposed methods extend a previous method such that they improve the worst frame rate typically observed at oblique viewing angles. The key technique for realizing this extension is a dynamic reorganization of the volume data that improves the data locality based on the expected data access pattern. The proposed methods are: (1) a basic method which requires three times the amount of memory to store the volume and (2) an adaptive method which utilizes on-the-fly data reorganization to achieve similar performance without increasing the memory consumption. Experimental results indicate that the GPU texture cache hit rate increased from 58.8 to 71.8% for oblique viewing angles using a 1 GB data set, compared to the previous method. Furthermore, the maximum speedup of the proposed adaptive method was 3.6\(\times\) that of the previous method.

Graphical Abstract

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

References

  1. Calhoun PS, Kuszyk BS, Heath DG, Carley JC, Fishman MEK (1999) Three-dimensional volume rendering of spiral CT data: theory and method. Radiographics 19(3):745–764

    Article  Google Scholar 

  2. Catmull E, Rom R (1974) A class of local interpolating splines. Academic Press, New York, pp 317–326

    Google Scholar 

  3. Computer-Assisted Paleoanthropology group and the Visualization and MultiMedia Lab at University of Zurich (UZH) (2016) CT datasets. https://www.ifi.uzh.ch/en/vmml/research/datasets.html

  4. Drebin RA, Carpenter L, Hanrahan P (1988) Volume rendering. Comput Graph (Proc SIGGRAPH’88) 22(3):65–74

    Article  Google Scholar 

  5. Jönsson D, Ganestam P, Ynnerman A, Doggett M, Ropinski T (2012) Explicit cache management for volume ray-casting on parallel architectures. In: Proceedings of 12th eurographics symposium parallel graphics and visualization (EGPGV’12), pp 31–40

  6. Lee CH, Park KH (1997) Fast volume rendering using adaptive block subdivision. In: Proceedings of 5th pacific conference computer graphics and applications (PG’97), pp 148–158

  7. Levoy M (1988) Display of surfaces from volume data. IEEE Comput Graph Appl 8(3):29–37

    Article  Google Scholar 

  8. Levoy M (1990) Efficient ray tracing of volume data. ACM Trans Graph 9(3):245–261

    Article  Google Scholar 

  9. Mensmann J, Ropinski T, Hinrichs K (2010) An advanced volume raycasting technique using GPU stream processing. In: Proceedings of 5th international conference on computer graphics theory and applications (GRAPP’10), pp 190–198

  10. Misaki Y, Ino F, Hagihara K (2017) Cache-aware, in-place rotation method for texture-based volume rendering. IEICE Trans Inf Syst E100–D(3):452–461

    Article  Google Scholar 

  11. Morton GM (1966) A computer oriented geodetic data base and a new technique in file sequencing. Tech. rep, IBM Ltd, Ottawa, Ontario

  12. Nagayasu D, Ino F, Hagihara K (2008) A decompression pipeline for accelerating out-of-core volume rendering of time-varying data. Comput Graph 32(3):350–362

    Article  Google Scholar 

  13. NVIDIA Corporation (2016) NVIDIA Tesla P100. https://images.nvidia.com/content/pdf/tesla/whitepaper/pascal-architecture-whitepaper.pdf

  14. NVIDIA Corporation (2019) CUDA C programming guide version 10.2. URL http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf

  15. Owens JD, Luebke D, Govindaraju N, Harris M, Krüger J, Lefohn AE, Purcell TJ (2007) A survey of general-purpose computation on graphics hardware. Comput Graph Forum 26(1):80–113

    Article  Google Scholar 

  16. Owens JD, Houston M, Luebke D, Green S, Stone JE, Phillips JC (2008) GPU computing. Proc IEEE 96(5):879–899

    Article  Google Scholar 

  17. Sugimoto Y, Ino F, Hagihara K (2014) Improving cache locality for GPU-based volume rendering. Parallel Comput 40(5/6):59–69

    MathSciNet  Article  Google Scholar 

  18. Uselton SP (1991) Volume rendering for computational fluid dynamics: initial results. Tech. Rep. RNR-91-026, Nasa Ames Research Center

  19. Wallden M, Markidis S, Okita M, Ino F (2019) Memory efficient load balancing for distributed large-scale volume rendering using a two-layered group structure. IEICE Trans Inf Syst E102.D(12):2306–2316

    Article  Google Scholar 

  20. Wang J, Yang F, Cao Y (2014) Cache-aware sampling strategies for texture-based ray casting on GPU. In: Proceedings of the 4th IEEE symposium large data analysis and visualization (LDAV’14), pp 19–26

  21. Wang J, Yang F, Cao Y (2017) A cache-friendly sampling strategy for texture-based volume rendering on GPU. Vis Inf 1(2):92–105

    Google Scholar 

  22. Weiskopf D, Weiler M, Ertl T (2004) Maintaining constant frame rates in 3D texture-based volume rendering. In: Proceedings 21st computer graphics international (CGI’04), pp 604–607

Download references

Acknowledgements

This study was supported in part by the Japan Society for the Promotion of Science KAKENHI Grant Numbers 15H01687 and 16H02801, and “Program for Leading Graduate Schools” of the Ministry of Education, Culture, Sports, Science, and Technology, Japan. We are also grateful to the anonymous reviewers for their valuable comments.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Ruiyun Zhu.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Zhu, R., Misaki, Y., Walldén, M. et al. Cache-aware volume rendering methods with dynamic data reorganization. J Vis (2021). https://doi.org/10.1007/s12650-020-00712-4

Download citation

Keywords

  • Cache optimization
  • Visualization
  • Data reorganization