Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
pandoc:introduction-to-vsc:09_special_hardware:accelerators [2021/05/14 18:31] – [Components on VSC-3] goldenberg | pandoc:introduction-to-vsc:09_special_hardware:accelerators [2023/05/17 14:36] – msiegel | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== GPUs available & how to use it ====== | ||
- | ====== Special hardware (GPUs, binfs) available & how to use it ====== | + | ===== TOP500 List June 2020 ===== |
- | + | ||
- | * Article written by Siegfried Höfinger (VSC Team) < | + | |
- | + | ||
- | ====== TOP500 List June 2020 ====== | + | |
< | < | ||
Line 27: | Line 23: | ||
< | < | ||
</ | </ | ||
- | ====== Components on VSC-3+ ====== | ||
- | ^Model | + | ===== Components on VSC-5 ===== |
- | |< | + | |
- | |{{.: | + | |
- | |< | + | |
- | |{{.: | + | |
- | |< | + | |
- | |{{.: | + | |
- | |< | + | |
+ | ^Model ^# | ||
+ | |< | ||
+ | |{{: | ||
+ | |< | ||
+ | |{{ : | ||
+ | |< | ||
+ | |{{ : | ||
Line 44: | Line 39: | ||
< | < | ||
</ | </ | ||
- | ====== Working on GPU nodes ====== | + | |
+ | ==== Working on GPU nodes Interactively | ||
**Interactive mode** | **Interactive mode** | ||
< | < | ||
- | 1. VSC-3 > salloc -N 1 -p gpu_gtx1080single | + | 1. VSC-5 > salloc -N 1 -p zen2_0256_a40x2 |
- | 2. VSC-3 > squeue -u $USER | + | 2. VSC-5 > squeue -u $USER |
- | 3. VSC-3 > srun -n 1 hostname | + | 3. VSC-5 > srun -n 1 hostname |
- | 4. VSC-3 > ssh n372-012 (...or whatever else node had been assigned) | + | 4. VSC-5 > ssh n3066-012 (...or whatever else node had been assigned) |
- | 5. VSC-3 > module load cuda/ | + | 5. VSC-5 > module load cuda/ |
cd ~/ | cd ~/ | ||
nvcc ./ | nvcc ./ | ||
Line 66: | Line 62: | ||
./a.out | ./a.out | ||
- | 6. VSC-3 > nvidia-smi | + | 6. VSC-5 > nvidia-smi |
- | 7. VSC-3 > / | + | 7. VSC-5 > / |
</ | </ | ||
< | < | ||
< | < | ||
</ | </ | ||
- | ====== Working on GPU nodes cont. ====== | + | |
+ | ===== Working on GPU using SLURM ===== | ||
**SLURM submission** gpu_test.scrpt | **SLURM submission** gpu_test.scrpt | ||
Line 82: | Line 79: | ||
# usage: sbatch ./ | # usage: sbatch ./ | ||
# | # | ||
- | #SBATCH -J gtx1080 | + | #SBATCH -J A40 |
- | #SBATCH -N 1 | + | #SBATCH -N 1 #use -N only if you use both GPUs on the nodes, otherwise leave this line out |
- | #SBATCH --partition | + | #SBATCH --partition |
- | #SBATCH --qos gpu_gtx1080single | + | #SBATCH --qos zen2_0256_a40x2 |
+ | #SBATCH --gres=gpu: | ||
module purge | module purge | ||
Line 93: | Line 91: | ||
/ | / | ||
</ | </ | ||
- | < | ||
< | < | ||
< | < | ||
</ | </ | ||
- | ====== Working on binf nodes ====== | ||
- | **Interactive mode** | + | ===== Real-World Example, AMBER-16 ===== |
- | + | ||
- | < | + | |
- | 1. VSC-3 > salloc -N 1 -p binf --qos normal_binf -C binf -L intel@vsc | + | |
- | (... add | + | |
- | + | ||
- | 2. VSC-3 > squeue -u $USER | + | |
- | + | ||
- | 3. VSC-3 > srun -n 4 hostname | + | |
- | + | ||
- | 4. VSC-3 > ssh binf-11 | + | |
- | + | ||
- | 5. VSC-3 > module purge | + | |
- | + | ||
- | 6. VSC-3 > module load intel/17 | + | |
- | cd examples/ | + | |
- | icc -xHost -qopenmp sample.c | + | |
- | export OMP_NUM_THREADS=8 | + | |
- | ./a.out | + | |
- | </ | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | ====== Working on binf nodes cont. ====== | + | |
- | + | ||
- | **SLURM submission** slrm.sbmt.scrpt | + | |
- | + | ||
- | <code bash> | + | |
- | # | + | |
- | # | + | |
- | # usage: sbatch ./ | + | |
- | # | + | |
- | #SBATCH -J gmxbinfs | + | |
- | #SBATCH -N 2 | + | |
- | #SBATCH --partition binf | + | |
- | #SBATCH --qos normal_binf | + | |
- | #SBATCH -C binf | + | |
- | #SBATCH --ntasks-per-node 24 | + | |
- | #SBATCH --ntasks-per-core 1 | + | |
- | + | ||
- | module purge | + | |
- | module load intel/ | + | |
- | + | ||
- | export I_MPI_PIN=1 | + | |
- | export I_MPI_PIN_PROCESSOR_LIST=0-23 | + | |
- | export I_MPI_FABRICS=shm: | + | |
- | export I_MPI_TMI_PROVIDER=psm2 | + | |
- | export OMP_NUM_THREADS=1 | + | |
- | export MDRUN_ARGS=" | + | |
- | + | ||
- | mpirun -np $SLURM_NTASKS gmx_mpi mdrun ${MDRUN_ARGS} | + | |
- | </ | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | ====== Real-World Example, AMBER-16 | + | |
^ | ^ | ||
| {{.: | | {{.: | ||
- | |||
- | |||