Skip to content

warpx

Setting warpx environment

warpx modules do not provide a real warpx-binary, but only set the environment enabling warpx compilation!

@max-wgse001:~$ module load maxwell warpx

 Loading modules: gcc/9.3 openmpi/4.0.4 hdf5/1.10.6 
 Adios2:          /software/gcc/9.3.0/openmpi/4.0.4/adios2/2.6.0 
 openPMD:         /software/gcc/9.3.0/openmpi/4.0.4/openPMD-api/0.12.0
 warpX:           /software/gcc/9.3.0/openmpi/4.0.4/warpx_directory - sample installation

Additional variables defined:
 ADIOS2:           /software/gcc/9.3.0/openmpi/4.0.4/adios2/2.6.0
 openPMD:          /software/gcc/9.3.0/openmpi/4.0.4/openPMD-api/0.12.0

Building warpx:
 should work out of the box: module load naxwell warpx; make USE_MPI=TRUE USE_OPENPMD=TRUE 
 with GPU support: module load naxwell warpx cuda/11.0; make USE_MPI=TRUE USE_OPENPMD=TRUE USE_GPU=TRUE 
 openpmd backends supported: bp,h5 (adios2,hdf5) 

# On nodes equipped with a GPU you could in addition enable CUDA
@max-wgse001:~$ module load cuda/11.0

Building warpx

# environment
module load maxwell warpx
module load cuda/11.0

# get the code and dependencies
cd /scratch/me/
rm -rf warpx_directory/
mkdir warpx_directory
cd warpx_directory/
git clone https://github.com/ECP-WarpX/WarpX.git
git clone https://github.com/ECP-WarpX/picsar.git
git clone --branch development https://github.com/AMReX-Codes/amrex.git
cd WarpX

# build in place
make USE_MPI=TRUE USE_OPENPMD=TRUE USE_GPU=TRUE  # USE_GPU=FALSE on non-gpu nodes
# worked without errors both for CPU and GPU modes