Long Integer on DL_MESO_DPD multi-GPU¶
This module extends the capability of the DL_MESO code to run simulations with more than 1.8 billion particles using long integer arrays.
The current version of DL_MESO_DPD on multi GPU cannot run systems larger than 1.8 billion particles due to the
INTEGER type used in Fortran for the particle arrays.
This module addresses this problem replacing, only where needed, the
LONG INTEGER type in the Fortran arrays. This allows us to run simulations with more than 1.8 billion particles and, as a result, more complex systems.
This module is part of the DL_MESO_DPD code. Full support and documentation is available at:
To download the DL_MESO_DPD code you need to register at https://gitlab.stfc.ac.uk. Please contact Dr. Micheal Seaton at Daresbury Laboratory (STFC) for further details.
The DL_MESO code is developed using git version control. Currently, the multi GPU version is under a branch named
multi_GPU_version. After downloading the code, checkout the GPU branch and look into the
DPD/gpu_version folder, i.e:
git clone https://gitlab.stfc.ac.uk/dl_meso.git cd dl_meso git checkout multi_GPU_version cd ./DPD/gpu_version/bin make all
To compile and run the code you need to have installed the CUDA-toolkit (>=8.0) and have a CUDA enabled GPU device (see http://docs.nvidia.com/cuda/#axzz4ZPtFifjw). For testing, the MPI library the OpenMPI 3.1.0 has been used.
To run the separation test case, copy the
CONTROL files from the “../tests/LargeSeparation” directory and run using
mpirun -np NP ./dpd_gpu.exe. The test case consists in simulating a binary mixture of 24 billion particles on 4096 GPUs (tested on PizDaint CSCS supercomputer).
This module has been merged into DL_MESO code. It is composed of the following commits (you need to be registered as collaborator):