SPH free surface flow model for GPUs
(Old site. New site:


GPUSPH is an implementation of Smoothed Particle Hydrodynamics for free surface flows (Monaghan, 1994, 2005) on a Nvidia graphics card. In this application, the fluid can be water or a more viscous substance like lava (see also GPU-LAVA).

GPUSPH is open source but copyrighted by the developers under the GPL license.  Feel free to use, but be sure to reference the model properly:  

A journal reference is:


Dambreak encountering a structure and impinging on the back wall.  A 3 million particle representation of the much lower resolution  modeling by Gesteira and Dalrymple (2004).

Hérault, A., G. Bilotta, R.A. Dalrymple, E. Rustico, C. Del Negro. GPUSPH (Version 2.0) [Software] Available from

Hérault, A., G. Bilotta, R.A. Dalrymple, SPH on GPU with CUDA, Journal of Hydraulic Research, 48 (Extra Issue), 74-79, 2010.

GPUSPH was started by Alexis Hérault in a study of lava cooling.  It utilizes Nvidia’s CUDA language for coding Nvidia graphics cards and was inspired by the Nvidia SDK program Particles.  His original effort was presented at the 3rd SPHERIC Meeting in Lausanne, Switzerland in 2008.

The research was carried out at the Istituto Nazionale di Geofisica e Vulcanologia (INGV) under the LAVA project - "Realization of the lava flow invasion hazard map at Mt Etna and methods for its dynamic update" - co-funded by National Civil Protection (DPC), and coordinated by Ciro Del Negro (INGV) and Stefano Gresta (Università di Catania).  Some developments of the code have been sponsored by the Office of Naval Research.

The original GPU code followed the equations of the open source SPH free surface flows code SPHysics, which is written in Fortran and exists in serial and parallel form. See

GPU-SPH is now at version 3.0 and it is a fully independent open source code using  Nvidia graphics cards to do the heavy computations associated with SPH and thus there are tremendous speed-ups associated with the model.  (Note that dualSphysics is a different program.)

Downloading GPUSPH

To obtain GPUSPH, go to