GPGPU Geometric Refinement
Summary
With the appropriate library abstractions, basic GPGPU Scientific Computingbecomes a straight-forward parallelization task. However, implementations of more advanced numerical methods remain difficult because of severe restrictions in data handling. One of the aims of this project is to investigate how adaptive data handling can be performed in parallel under these restrictive conditions. In particular, we want to increase the resolution in certain parts of the computational domain depending on the data. Glift [1] offers an abstraction for geometric grid refinement on GPUs that separates the aspects of data layout and processing. Thus, both aspects can be improved and replaced independently, allowing code reusability, performance exploration of different parallel tradeoffs, and adaption to new hardware without application code changes.
A different idea for resolution enhancement is to use particles for the correction of features that are only coarsely represented by the grid. In the particle level set method particles placed near the interface help to preserve the level set evolution more faithfully. Despite the restricted scattering capabilities of GPUs one can devise an efficient parallel coupling of particle and grid data [2].
Figures
A hierarchical page table allows parallel access to adaptive data structures in Glift. Glift abstracts the details offering a simple interface to the programmer.
Dye advection of a spherical volume in a time-dependent 3D flow field. The injection volume is marked in red, the trace of the dye in white. Without the particle correction the trace is either diffusive (on the left) or disappears (in the middle), only with particle correction we obtain a sharp stable trace.
Publications
- Particle Level Set Advection for the Interactive Visualization of Unsteady 3D FlowComput. Graph. Forum, 27(3), 719–726, 2008
@article{DBLP:journals/cgf/CuntzKSW08, author = {Cuntz, Nicolas and Kolb, Andreas and Strzodka, Robert and Weiskopf, Daniel}, title = {Particle Level Set Advection for the Interactive Visualization of Unsteady 3D Flow}, journal = {Comput. Graph. Forum}, volume = {27}, number = {3}, pages = {719--726}, year = {2008}, url = {https://doi.org/10.1111/j.1467-8659.2008.01200.x} doi = {10.1111/J.1467-8659.2008.01200.X}, timestamp = {Thu, 05 Apr 2018 01:00:00 +0200}, }
- Glift: Generic, efficient, random-access GPU data structuresACM Trans. Graph., 25(1), 60–99, 2006
@article{DBLP:journals/tog/LefohnSKSO06, author = {Lefohn, Aaron E. and Sengupta, Shubhabrata and Kniss, Joe and Strzodka, Robert and Owens, John D.}, title = {Glift: Generic, efficient, random-access {GPU} data structures}, journal = {{ACM} Trans. Graph.}, volume = {25}, number = {1}, pages = {60--99}, year = {2006}, url = {https://doi.org/10.1145/1122501.1122505} doi = {10.1145/1122501.1122505}, timestamp = {Tue, 06 Nov 2018 00:00:00 +0100}, }