International Journal of Digital Earth (Dec 2024)
rupMC: a ray-unit parallel marching cubes algorithm on CPU/GPU heterogeneous architectures
Abstract
ABSTRACTThe marching cubes (MC) algorithm is widely used for extracting isosurfaces from volume data and 3D visualizations because of its effectiveness and robustness but require extensive memory and computing time for large-scale applications. Additionally, MC isosurfaces lack topologic information, making them difficult to use in some geologic applications. To overcome these limitations, this study proposes an enhanced MC using CPU/GPU heterogeneous architecture called the ray-unit parallel MC (rupMC) algorithm. First, ray units form the basic voxel to determine how the surface intersects to reduce repeated computations and enhance efficiency. Then, rupMC uses multiple computing processes and threads on a CPU/GPU heterogeneous architecture to process points concurrently. Finally, the unique surface intersection indices are preserved to compose the surface triangles, and the topological surface information is directly embedded in the triangle compositions. Experiments on five stratum datasets of varying sizes demonstrated that, rupMC achieved approximately dozens of times faster than other serial MC and 4 times faster than a parallel DMC. rupMC demonstrated high scalability and adaptability to various CPUs/GPUs and datasets of various sizes. rupMC has remarkable capabilities for efficiently and feasibly extracting precise surface intersections and triangles, making it well-suited for large-scale and high-density applications.
Keywords