| Literature DB >> 32596136 |
Pian Qi1, Gang Mei1, Nengxiong Xu1, Hong Tian2.
Abstract
In this paper we specifically present a parallel solution to finding the one-ring neighboring nodes and elements for each vertex in generic meshes. The finding of nodal neighbors is computationally straightforward but expensive for large meshes. To improve the efficiency, the parallelism is adopted by utilizing the modern Graphics Processing Unit (GPU). The presented parallel solution is heavily dependent on the parallel sorting, scan, and reduction. Our parallel solution is efficient and easy to implement, but requires the allocation of large device memory.•Our parallel solution can generate the speedups of approximately 55 and 90 over the serial solution when finding the neighboring nodes and elements, respectively.•It is easy to implement due to the reason it does not need to perform the mesh-coloring before finding neighbors•There are no complex data structures, only integer arrays are needed, which makes our parallel solution very effective.Entities:
Keywords: Computational geometry; GPU; Mesh topology; Neighbors finding; Parallel Programming
Year: 2020 PMID: 32596136 PMCID: PMC7306601 DOI: 10.1016/j.mex.2020.100954
Source DB: PubMed Journal: MethodsX ISSN: 2215-0161
Fig. 1A simple illustration of concurrently finding neighboring nodes for each vertex in a mesh.
Fig. 2A simple illustration of concurrently finding neighboring elements for each vertex in a mesh.
Finding neighboring nodes in parallel.
Fig. 3Six models for testing.
Comparison of efficiency of our parallel solution and the serial solution (1 k = 1000).
| Mesh Model | Num. of Node | Num. of Elem. | Serial (/ms) | Parallel (/ms) | Speedup | |||
|---|---|---|---|---|---|---|---|---|
| Find Node | Find Elem. | Find Node | Find Elem. | Find Node | Find Elem. | |||
| Armadillo | 172 k | 346 k | 2527 | 1732 | 50.0 | 22.1 | 50.5 | 78.4 |
| Angel | 237 k | 474 k | 3635 | 2580 | 66.7 | 29.4 | 54.5 | 87.8 |
| Hand | 327 k | 655 k | 4806 | 3305 | 89.1 | 38.3 | 53.9 | 86.3 |
| Dragon | 437 k | 871 k | 6543 | 4488 | 112.7 | 48.5 | 58.1 | 92.5 |
| Buddha | 543 k | 1088 k | 8577 | 6072 | 138.5 | 60.6 | 61.9 | 100.2 |
| Blade | 882 k | 1765 k | 13,931 | 10,000 | 221.3 | 93.3 | 63.0 | 107.2 |
Specifications Table
| Subject Area: | Computer Science |
| More specific subject area: | Algorithm Design |
| Method name: | Parallel Neighbors Finding |
| Name and reference of original method: | N/A |
| Resource availability: | N/A |