The source code for GPUSPH is hosted on GitHub.

  • To download the source and track the updates you need git (on Debian, Ubuntu and related systems: sudo apt-get install git)

Optionally, you may also install:

  • the HDF5 library, to read H5SPH files (on Debian, Ubuntu and related systems: sudo apt-get install libhdf5-dev).
  • an MPI implementation to compile and run the multi-node version of GPUSPH. Some MPI implementations are CUDA-aware, i.e. they cna handle GPU pointers directly; please prefer a CUDA-aware MPI implementation if possible.
  • the Chrono library for rigid body dynamics (see the documentation for the installation of CHRONO).

(Note that GPUSPH v3 required ODE compiled for single-precision; this is not used anymore in GPUSPH v4).

To download, compile and run GPUSPH, use

git clone

See the documentation for the list of compilation and execution options.

Data files

Some of the GPUSPH sample problems require meshes of the boundary particles or other support data. These files are not part of the GPUSPH repository but can instead be downloaded here:

Download supporting data files

These files should be placed into a folder data_files/ in your GPUSPH working directory. The GPUSPH source includes a scripts/get-data-files script that will automatically download the data files and put them into the correct folder.


In order to create h5sph files for your own geometries you can use Crixus, an open-source software that was created to convert STL files to particles for the use with the semi-analytical wall boundary conditions. For further details on this software see the corresponding readme. For further details about its installation and use see the installation documentation.