GPUSPH version 5.0 is out! Head over to the release tag on GitHub.

Dear all,

we are pleased to announce the official release of GPUSPH version 5.0. The new release collects two years of development including new physical and numerical models, several bug fixes, better performance, and higher flexibility for the implementation of new features and integration schemes.

Major changes of note include:

  • possibility to create GPUSPH simulation scenarios using the SALOME platform;
  • Hu & Adams formulation for multi-fluid support;
  • additional models for the viscous contribution to the Navier–Stokes equations (Monaghan, Español & Revenga);
  • more sophisticated specification of the viscous model options, including separate specifications for the turbulence model, averaging operator and fluid rheology;
  • support for several non-Newtonian rheologies including Bingham plastic, granular rheology, and the Herschel–Bulkley and DeKee & Turcotte rheological models;
  • versioned interface to define simulation scenarios, with XProblem corresponding to Problem API version 1;
  • experimental support for a repacking phase before the simulation starts.


  • operating systems:
    • Linux is officially supported and tested;
    • Mac OS X support has not been tested with this release; support for this operating system may be phased out in the future, due to the difficulty in keeping up with the evolution of the CUDA and compiler support on that platform;
    • experimental support for Windows is in the works, but it has not been integrated into version 5 due to known bugs in the Microsoft compiler;
  • CUDA 7.0 or later is needed; CUDA 8.0 or later is recommended;
  • a host compiler with C++11 support, and supported by CUDA, is needed:
    • on Linux, GCC 4.8 or later, or Clang 3.6 or later (CUDA 7.5 or
    • later only); on Mac OS X, XCode 6 or later;
  • Project Chrono, for fully coupled fluid/solid and solid/solid interaction:
    • version 3 or version 4 of the Chrono library are supported;
    • GPUSPH can be compiled without Chrono support; moving objects with prescribed motion (e.g. paddles and gates) and no force-feedback are supported in this configuration;
  • an MPI implementation, for multi-node simulations:
    • the minimum recommended versions are OpenMPI 1.8.4 or MVAPICH2 1.8; other MPI implementations may work too without GPUDirect support;
    • GPUSPH can be compiled without MPI support; multiple GPUs on a single machine are still supported in this configuration.

Known issues:

  • some CUDA-aware MPI implementations do not support working with multiple GPUs per process;
    • a possible workaround to use all GPUs on multi-GPU nodes is to run multiple processes per node;
  • hot-starting a simulation with moving objects may produce slightly different results.

A discussion forum for GPUSPH developers and users is available to share ideas on GPUSPH and its applications. For technical issues, please use the official issue tracker. We also invite you to join the #gpusph IRC channel on FreeNode.