-
Notifications
You must be signed in to change notification settings - Fork 230
[Manual WIP] Devito on Jade2
George Bisbas edited this page Jul 11, 2024
·
2 revisions
Before you start, important readings:
https://docs.jade.ac.uk/en/latest/
# After completing the registration
# Do `ssh` to your login node (private key needed)
ssh -l your_username jade2.hartree.stfc.ac.uk
# Create a python3 virtual env and activate it
module load python/3.8.6
Load env nvidia-hpc sdk
module load use.dev
# This one works best
module load nvidia-hpc-sdk/22.11-cuda11.8
#-bash-4.2$ module load nvidia-hpc-sdk/21.9-cuda11.0
# GCC 5.4.0 environment now loaded
#
# NVIDIA-HPC-SDK 21.9 with CUDA-11.0, OpenMPI-4.0.5 and GCC-5.4.0 loaded
# [ggb92-axf03@dgk328 ~]$ module load nvidia-hpc-sdk/22.11-cuda11.8
# NVIDIA-HPC-SDK 21.9 with CUDA-11.0 and OpenMPI-4.0.5 loaded
# [ggb92-axf03@dgk328 ~]$
module load gcc
#(python38-env) -bash-4.2$ module load gcc
# GCC 9.1.0 environment now loaded
#The following have been reloaded with a version change:
# 1) gcc/5.4.0 => gcc/9.1.0
# pip3 install --ignore-installed --no-cache-dir -r requirements-mpi.txt
# If devito is not cloned:
git clone https://github.com/devitocodes/devito
pip3 install --upgrade -e .
# Install mpi4py with HPC SDK MPI, takes a few minutes possibly
CC=nvc CFLAGS="-noswitcherror -tp=px" pip install --ignore-installed --no-cache-dir mpi4py
# ch-dir to work filesystem
# may look sth like: /jmain02/home/J2AD015/axfxx/xxgxxx-axfxx/devito
Then you should be able to run a single-node kernel:
Interactive:
salloc --partition=devel --gres=gpu:1
srun --partition=devel --gres=gpu:1 --pty /bin/bash
Let's go single node multi-gpu:
salloc --partition=devel --gres=gpu:2
srun --partition=devel --gres=gpu:2 --pty /bin/bash
Trying:
DEVITO_MPI=1 DEVITO_ARCH=nvc++ DEVITO_LOGGING=DEBUG DEVITO_PLATFORM=nvidiaX DEVITO_LANGUAGE=openacc mpirun -n 2 python examples/seismic/acoustic/acoustic_example.py -d 124 124 124 --tn 100
srun --job-name "test-interactive" --gres=gpu:1 --pty bash -i
We cannot find stddef.h
module load llvm