394
Views
0
CrossRef citations to date
0
Altmetric
Research Article

rupMC: a ray-unit parallel marching cubes algorithm on CPU/GPU heterogeneous architectures

, , &
Article: 2340583 | Received 01 Nov 2023, Accepted 29 Feb 2024, Published online: 09 Apr 2024
 

ABSTRACT

The 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.

Disclosure statement

No potential conflict of interest was reported by the author(s).

Data availability statement

Data supporting the findings of this study are available in [rupMC] at [https://github.com/HPSCIL/rupMC].

Additional information

Funding

This study was supported by the National Natural Science Foundation of China (grant number 42171466).