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

  1. Nicolas Cuntz, Andreas Kolb, Robert Strzodka and Daniel Weiskopf
    Particle Level Set Advection for the Interactive Visualization of Unsteady 3D Flow
    Comput. 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},
    }
    
  2. Aaron E. Lefohn, Shubhabrata Sengupta, Joe Kniss, Robert Strzodka and John D. Owens
    Glift: Generic, efficient, random-access GPU data structures
    ACM 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},
    }
    

Code

Contact