Skip to content

Building on DCS with gcc


Setup Proxy to access source via github Setup web proxy

Download latest release from github

mkdir ~/scratch-shared/lammps-build cd ~/scratch-shared/lammps-build git clone

Load modules:

module load cmake module load gcc module load spectrum-mpi module load cuda

cmake ~/scratch-shared/lammps-build/lammps/cmake/ -D CMAKE_BUILD_TYPE=Release -D BUILD_MPI=yes -D BUILD_OMP=no -D LAMMPS_MACHINE=AiMOS -D CMAKE_CXX_FLAGS="-O3 -std=c++11" -D PKG_GPU=yes -D GPU_API=cuda -D GPU_PREC=mixed -D GPU_ARCH=sm_70

cd ~/scratch-shared/lammps-build

cp ~/scratch-shared/lammps-build/lammps/bench/FERMI/in.lj .

Edit and add line: package gpu 6

Allocate 1 node, 6 GPUs: salloc -N 1 --gres=gpu:6 -t 180

Above is not a fully exclusive access job request

mpirun -np 36 ./lammps-build/lmp_AiMOS -sf gpu -v x 288 -v y 288 -v z 288 -v t 1000 < ./in.lj

Above 36 MPI ranks across 2 POWER9 CPUs + 6 GPUs configuration runs in 4.0 mins

Running with just 36 MPI ranks on 2 POWER9 CPUs runs in 40 mins

Observing an initial 10x performance improvement using parallel CPUs w/ GPUs vs. just parallel CPUs alone.

Last update: May 18, 2020