Navier-Stokes on programmable graphics hardware using SMAC

Modern programmable graphics hardware offers sufficient computing power to suggest the implementation of traditional algorithms on the graphics processor. This paper describes a complete implementation of a standard technique to solve the incompressible Navier-Stokes fluid equations running entirely on the GPU: the SMAC (simplified marker and cell) method. This method is widely used in engineering applications. The described implementation works with general rectangular domains, with or without obstacles, and with a variety of boundary conditions. Furthermore, we show that our implementation is about sixteen times faster than a reference CPU implementation running on similar cost hardware. Finally, we discuss simple extensions to the method to deal with more general situations, such as free boundary-value problems and three-dimensional domains.

[1]  Greg Humphreys,et al.  A multigrid solver for boundary value problems using programmable graphics hardware , 2003, HWWS '03.

[2]  Carlos Eduardo Scheidegger,et al.  Computation on GPUs: From a Programmable Pipeline to an Efficient Stream Processor , 2003, RITA.

[3]  Brian Cabral,et al.  Imaging vector fields using line integral convolution , 1993, SIGGRAPH.

[4]  Anselmo Lastra,et al.  Physically-based visual simulation on graphics hardware , 2002, HWWS '02.

[5]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[6]  Jarke J. van Wijk,et al.  Image based flow visualization , 2002, ACM Trans. Graph..

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

[8]  Jos Stam,et al.  Stable fluids , 1999, SIGGRAPH.

[9]  Gershon Kedem,et al.  Brute Force Attack on UNIX Passwords with SIMD Computer , 1999, USENIX Security Symposium.

[10]  Pat Hanrahan,et al.  Ray tracing on a connection machine , 1988, ICS '88.

[11]  Eitan Grinspun,et al.  Sparse matrix solvers on the GPU: conjugate gradients and multigrid , 2003, ACM Trans. Graph..

[12]  Dinesh Manocha,et al.  CULLIDE: interactive collision detection between complex models in large environments using graphics hardware , 2003, HWWS '03.

[13]  Anselmo Lastra,et al.  Simulation of cloud dynamics on graphics hardware , 2003, HWWS '03.

[14]  A. A. Samarskii,et al.  On numerical simulation in fluid dynamics , 1979 .

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

[16]  David K. McAllister,et al.  Fast Matrix Multiplies Using Graphics Hardware , 2001, ACM/IEEE SC 2001 Conference (SC'01).