Scientific computation for simulations on programmable graphics hardware

Abstract Graphics processor units (GPUs) have emerged as powerful parallel processors in recent years. Although floating point computations and high level programming languages are now available, the efficient use of the enormous computing power of GPUs still requires a significant amount of graphics specific knowledge. The paper explains how to use GPUs for scientific computations without graphics specific terminology. It offers an algorithmic view on GPUs with comparisons to cache aware and parallel programming of CPUs. Two typical simulation techniques, namely grid based and particle based methods are discussed.

[1]  Markus H. Gross,et al.  Particle-based fluid simulation for interactive applications , 2003, SCA '03.

[2]  Andreas Kolb,et al.  Hardware-based simulation and collision detection for large particle systems , 2004, Graphics Hardware.

[3]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, ACM Trans. Graph..

[4]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[5]  James P. Ahrens,et al.  Scout: a hardware-accelerated system for quantitatively driven visualization and analysis , 2004, IEEE Visualization 2004.

[6]  John D. Owens,et al.  Glift: Generic, Efficient : Generic, Efficient Random Random-Access GPU Data Structures Access GPU Data Structures , 2005 .

[7]  J. Monaghan,et al.  Smoothed particle hydrodynamics: Theory and application to non-spherical stars , 1977 .

[8]  GrinspunEitan,et al.  Sparse matrix solvers on the GPU , 2003 .

[9]  A. Lefohn Glift: an abstraction for generic, efficient GPU data structures , 2005, SIGGRAPH Courses.

[10]  Aslak Tveito,et al.  Numerical solution of partial differential equations on parallel computers , 2006 .

[11]  N. England,et al.  Graphics Hardware , 2019, IEEE Computer Graphics and Applications.

[12]  I. E. Commision Letter symbols to be used in electrical technology - part 2: telecommunications and electronics , 2000 .

[13]  Eitan Grinspun,et al.  Sparse matrix solvers on the GPU: conjugate gradients and multigrid , 2003, SIGGRAPH Courses.

[14]  Dawid Pajak General-Purpose Computation Using Graphics Hardware for Fast HDR Image Processing , 2007 .

[15]  Rüdiger Westermann,et al.  Linear algebra operators for GPU implementation of numerical algorithms , 2003, SIGGRAPH Courses.

[16]  Michael D. McCool,et al.  Metaprogramming GPUs with Sh , 2004 .

[17]  Martin Rumpf,et al.  Graphics Processor Units: New Prospects for Parallel Computing , 2006 .

[18]  Rüdiger Westermann,et al.  UberFlow: a GPU-based particle engine , 2004, SIGGRAPH '04.