10.1145/2488551.2488582acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicpsprocConference Proceedings
research-article
Free Access

Triangulating molecular surfaces on multiple GPUs

ABSTRACT

Current GPU-based workstations are inadequate to triangulate and rendering large molecular datasets with thousands and hundreds of thousands, not to say millions, of atoms. The problem is not so the lack of processing power, but the memory limitations of current GPU graphics cards. For example, the NVidia GeForce GTX 590 graphics card comes with two 1.5GB GPUs. We tackle here this problem using a OpenMP-CUDA solution that runs on a loosely-coupled GPU cluster. Basically, we propose a fast, scalable, parallel triangulation algorithm for molecular surfaces that takes advantage of multicore processors of CPUs and GPUs of modern hardware architectures, where each CPU core works as the master of a single GPU, being the processing burden distributed over the CPU cores available in a single computer or a cluster. As much as we know, this is the first marching cubes algorithm that triangulates molecular surfaces on multiple GPUs using CUDA and OpenMP.

References

  1. N. Akkiraju and H. Edelsbrunner. Triangulating the surface of a molecule. Discrete Applied Mathematics, 71(1--3):5--22, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. F. Blinn. A generalization of algebraic surface drawing. ACM Transactions on Graphics, 1(3):235--256, July 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Bloomenthal and K. Shoemake. Convolution surfaces. Computer Graphics, 25(4):251--256, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. B. Chapman, G. Jost, and R. van der Pas. Using OpenMP: Portable Shared Memory Parallel Programming. The MIT Press, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. D'Agostino, I. Merelli, A. Clematis, L. Milanesi, and A. Orro. A parallel workflow for the reconstruction of molecular surfaces. In Advances in Parallel Computing, volume 15, pages 147--154. IOS Press, 2008.Google ScholarGoogle Scholar
  6. S. E. Dias and A. J. Gomes. Graphics processing unit-based triangulations of blinn molecular surfaces. Concurrency and Computation: Practice and Experience, 23(17):2280--2291, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. C. Dyken, G. Ziegler, C. Theobalt, and H.-P. Seidel. High-speed marching cubes using histopyramids. Computer Graphics Forum, 27(8):2028--2039, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  8. H. Edelsbrunner and E. P. Mucke. Three-dimensional alpha shapes. ACM Transactions on Graphics, 13:43--72, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Geiss. Generating complex procedural terrains using the GPU. In H. Nguyen, editor, GPU Gems 3. Addison-Wesley Professional, New Jersey, USA, 2007.Google ScholarGoogle Scholar
  10. C. D. Hansen and P. Hinker. Massively parallel isosurface extraction. In Proceedings of the 3rd Conference on Visualization '92, pages 77--83, Los Alamitos, CA, USA, 1992. IEEE Computer Society Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Harris, S. Sengupta, and J. D. Owens. Parallel prefix sum scan with cuda. In H. Nguyen, editor, GPU Gems 3. Addison-Wesley Professional, Upper Saddle River, New Jersey, Aug 2007.Google ScholarGoogle Scholar
  12. G. Johansson and H. Carr. Accelerating marching cubes with graphics hardware. In Proceedings of the 2006 Conference of the Center for Advanced Studies on Collaborative Research (CASCON '06), Riverton, NJ, USA, 2006. IBM Corp. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D.-S. Kim, Y. Cho, K. Sugihara, J. Ryu, and D. Kim. Three-dimensional beta-shapes and beta-complexes via quasi-triangulation. Computer-Aided Design, 42(10):911--929, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. T. Lewiner, H. Lopes, A. W. Vieira, and G. Tavares. Efficient implementation of marching cubes' cases with topological guarantees. Journal of Graphics, GPU, and Game Tools, 8(2):1--15, 2003.Google ScholarGoogle Scholar
  15. W. E. Lorensen and H. E. Cline. Marching cubes: A high resolution 3d surface construction algorithm. ACM SIGGRAPH Computer Graphics, 21(4):163--169, July 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. P. Mackerras. A fast parallel marching-cubes implementation on the Fujitsu AP1000. Technical Report TR-CS-92-10, Department of Computer Science, The Australian National University, 1992.Google ScholarGoogle Scholar
  17. T. Newman, J. Byrd, P. Emani, A. Narayanan, and A. Dastmalchi. High performance simd marching cubes isosurface extraction on commodity computers. Computers & Graphics, 28:213--233, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  18. A. Raposo, J. Queiroz, and A. Gomes. Triangulation of molecular surfaces using an isosurface continuation algorithm. In Proceedings of the 2009 International Conference on Computational Science and Its Applications, pages 145--153. IEEE Press, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. P. D. Sulatycke and K. Ghose. Multithreaded isosurface rendering on smps using span-space buckets. In Proceedings of the 2002 International Conference on Parallel Processing, Washington, DC, USA, 2002. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Y. Uralsky. DX 10: Pratical metaballs and implicit surfaces. In Game Developers Conference, 2006.Google ScholarGoogle Scholar
  21. Q. Wang, J. JaJa, and A. Varshney. An efficient and scalable parallel algorithm for out-of-core isosurface extraction and rendering. Journal of Parallel and Distributed Computing, 67(5):592--603, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. N. Wilt. The CUDA Handbook: A Comprehensive Guide to GPU Programming. Addison-Wesley Professional, 2013.Google ScholarGoogle Scholar
  23. G. Wyvill, C. McPheeters, and B. Wyvill. Data structure for soft objects. The Visual Computer, 2(4):227--234, February 1986.Google ScholarGoogle ScholarCross RefCross Ref
  24. H. Zhang and T. Newman. Span space data structures for multithreaded isosurfacing. In Proceedings of the IEEE SoutheastCon'2004, pages 290--296. IEEE Press, 2004.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Triangulating molecular surfaces on multiple GPUs

            Comments

            Login options

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

            Sign in

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!

            To help support our community working remotely during COVID-19, we are making all work published by ACM in our Digital Library freely accessible through June 30, 2020. Learn more