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
- N. Akkiraju and H. Edelsbrunner. Triangulating the surface of a molecule. Discrete Applied Mathematics, 71(1--3):5--22, 1996. Google Scholar
Digital Library
- J. F. Blinn. A generalization of algebraic surface drawing. ACM Transactions on Graphics, 1(3):235--256, July 1982. Google Scholar
Digital Library
- J. Bloomenthal and K. Shoemake. Convolution surfaces. Computer Graphics, 25(4):251--256, 1991. Google Scholar
Digital Library
- B. Chapman, G. Jost, and R. van der Pas. Using OpenMP: Portable Shared Memory Parallel Programming. The MIT Press, 2007. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- H. Edelsbrunner and E. P. Mucke. Three-dimensional alpha shapes. ACM Transactions on Graphics, 13:43--72, 1994. Google Scholar
Digital Library
- R. Geiss. Generating complex procedural terrains using the GPU. In H. Nguyen, editor, GPU Gems 3. Addison-Wesley Professional, New Jersey, USA, 2007.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Y. Uralsky. DX 10: Pratical metaballs and implicit surfaces. In Game Developers Conference, 2006.Google Scholar
- 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 Scholar
Digital Library
- N. Wilt. The CUDA Handbook: A Comprehensive Guide to GPU Programming. Addison-Wesley Professional, 2013.Google Scholar
- G. Wyvill, C. McPheeters, and B. Wyvill. Data structure for soft objects. The Visual Computer, 2(4):227--234, February 1986.Google Scholar
Cross Ref
- 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 Scholar
Cross Ref
Index Terms
Triangulating molecular surfaces on multiple GPUs



Comments