R11986/77d2bb5ebd48master
/
README.md
- Miniapp to test GBS gradients with Makefile # -------------------------------------------------------------------------------
#To compile with Makefile and run OpenMP with Offload implementation on izar with NVHPC #
module load nvhpc/21.2-mpi make
srun -p debug --gres=gpu:1 ./gbs_gradients
#To compile with Makefile and run OpenMP with Offload implementation on izar with gcc
module load gcc #modify FLAGS and FC in Makefile uncommenting the corresponding lines make srun -p debug --gres=gpu:1 ./gbs_gradients
#To compile with Makefile and run OpenMP with Offload implementation on piz-daint with cce compiler
module load daint-gpu module load craype-accel-nvidia60 module load cudatoolkit export CRAY_ACCEL_TARGET=nvidia60 git checkout compile_without_openacc # branch with acc pragmas commented #modify FLAGS and FC in Makefile uncommenting the corresponding lines make
srun --gres=gpu:1 -c 12 -N 1 -n 1 --time=00:15:00 --account=g26 -C gpu ./gbs_gradients
#To compile with Makefile and run CUDA C implementation on izar with gcc
module load gcc nvhpc/21.2-mpi #modify FLAGS and FC in Makefile uncommenting the corresponding lines make gbs_gradients_cuda
srun -p debug --gres=gpu:1 ./gbs_gradients
- To compile with CMAKE with gnu on izar # -------------------------------------------------------------------------------
module load gcc cmake mkdir build cd build cmake ..
make
- To compile with CMAKE with nvhpc on izar # -------------------------------------------------------------------------------
module load nvhpc/21.2-mpi cmake mkdir build cd build cmake ..
make
- To compile using CUDA with CMAKE on izar # -------------------------------------------------------------------------------
module load gcc cuda cmake mkdir build cd build cmake -DUSE_CUDA=1 ..
make
- To compile OpenMP with CMAKE with CCE on piz-daint # -------------------------------------------------------------------------------
module load daint-gpu module load craype-accel-nvidia60 module load cudatoolkit export CRAY_ACCEL_TARGET=nvidia60 module load CMake mkdir build cd build cmake ..
make
- To compile OpenACC with CMAKE with CCE on piz-daint # -------------------------------------------------------------------------------
module swap PrgEnv-cray PrgEnv-pgi module unload cray-libsci_acc module load cudatoolkit module load craype-accel-nvidia60 module load daint-gpu module load CMake mkdir build cd build cmake -DUSE_ACC=1 ..
make
- To compile using CUDA with CMAKE with CCE on piz-daint # -------------------------------------------------------------------------------
module load daint-gpu module load craype-accel-nvidia60 module load cudatoolkit export CRAY_ACCEL_TARGET=nvidia60 mkdir build cd build cmake -DUSE_CUDA=1 ..
make
- To compile with CMAKE with xlf compiler on Marconi100 # -------------------------------------------------------------------------------
- xlf compiler doesn't support Fortran "norm2" function (Fortran 2008 standard)
- So have to comment lines mentionning norm2 (just useful for output) in test_gbs_gradients.F90
module load xl cmake cuda mkdir build cd build cmake -DCMAKE_Fortran_COMPILER=xlf2003_r -DCMAKE_VERBOSE_MAKEFILE=ON .. make