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 [2021/05/14 18:29] – [Components on VSC-3] goldenberg | ||
---|---|---|---|
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** gpu_test.scrpt | ||
+ | |||
+ | <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** slrm.sbmt.scrpt | ||
+ | |||
+ | <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 ====== | ||
+ | |||
+ | ^ | ||
+ | | {{.: | ||
+ | |||
+ | |||