no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
Previous revision Next revision | |||
— | pandoc:introduction-to-vsc:09_special_hardware:accelerators [2020/10/20 08:09] – Pandoc Auto-commit pandoc | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | |||
+ | ====== Special hardware (GPUs, binfs) available & how to use it ====== | ||
+ | |||
+ | * Article written by Siegfried Höfinger (VSC Team) < | ||
+ | |||
+ | ====== TOP500 List June 2020 ====== | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | <!--for nations flags see https:// | ||
+ | </ | ||
+ | ^ Rank^Nation | ||
+ | | 1.|{{..: | ||
+ | | 2.|{{..: | ||
+ | | 3.|{{..: | ||
+ | | 4.|{{..: | ||
+ | | 5.|{{..: | ||
+ | | 6.|{{..: | ||
+ | | 7.|{{..: | ||
+ | | 8.|{{..: | ||
+ | | 9.|{{..: | ||
+ | | | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | ====== Components on VSC-3 ====== | ||
+ | |||
+ | ^Model | ||
+ | |< | ||
+ | |{{..: | ||
+ | |< | ||
+ | |{{..: | ||
+ | |< | ||
+ | |{{..: | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | ====== Working on GPU nodes ====== | ||
+ | |||
+ | **Interactive mode** | ||
+ | |||
+ | < | ||
+ | 1. VSC-3 > salloc -N 1 -p gpu_gtx1080single --qos gpu_gtx1080single | ||
+ | |||
+ | 2. VSC-3 > squeue -u $USER | ||
+ | |||
+ | 3. VSC-3 > srun -n 1 hostname | ||
+ | |||
+ | 4. VSC-3 > ssh n372-012 | ||
+ | |||
+ | 5. VSC-3 > module load cuda/ | ||
+ | cd ~/ | ||
+ | nvcc ./ | ||
+ | ./ | ||
+ | |||
+ | cd ~/ | ||
+ | nvcc matrixMulCUBLAS.cu -lcublas | ||
+ | ./a.out | ||
+ | |||
+ | 6. VSC-3 > nvidia-smi | ||
+ | |||
+ | 7. VSC-3 > / | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | ====== Working on GPU nodes cont. ====== | ||
+ | |||
+ | **SLURM submission** [[examples/ | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | # | ||
+ | # usage: sbatch ./ | ||
+ | # | ||
+ | #SBATCH -J gtx1080 | ||
+ | #SBATCH -N 1 | ||
+ | #SBATCH --partition gpu_gtx1080single | ||
+ | #SBATCH --qos gpu_gtx1080single | ||
+ | |||
+ | module purge | ||
+ | module load cuda/9.1.85 | ||
+ | |||
+ | nvidia-smi | ||
+ | / | ||
+ | </ | ||
+ | < | ||
+ | |||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | ====== Working on binf nodes ====== | ||
+ | |||
+ | **Interactive mode** | ||
+ | |||
+ | < | ||
+ | 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/ | ||
+ | cd examples/ | ||
+ | icc -xHost -qopenmp sample.c | ||
+ | export OMP_NUM_THREADS=8 | ||
+ | ./a.out | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | ====== Working on binf nodes cont. ====== | ||
+ | |||
+ | **SLURM submission** [[examples/ | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/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 ====== | ||
+ | |||
+ | ^ Performance^Power Efficiency | ||
+ | | {{..: | ||
+ | |||
+ | |||