Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
pandoc:introduction-to-vsc:09_special_hardware:accelerators [2021/08/23 07:22] – [Components on VSC-3+] goldenberg | pandoc:introduction-to-vsc:09_special_hardware:accelerators [2023/05/17 14:35] – msiegel |
---|
| |
====== Special hardware (GPUs, binfs) available & how to use it ====== | ====== GPUs available & how to use it ====== |
| ===== TOP500 List June 2020 ===== |
* Article written by Siegfried Höfinger (VSC Team) <html><br></html>(last update 2020-10-04 by sh). | |
| |
====== TOP500 List June 2020 ====== | |
| |
| |
<!--slide 2--> | <!--slide 2--> |
</HTML> | </HTML> |
====== Components on VSC-3+ ====== | ===== Components on VSC ===== |
| |
^Model ^#cores ^Clock Freq (GHz)^Memory (GB)^Bandwidth (GB/s)^TDP (Watt)^FP32/FP64 (GFLOPs/s)^ | ==== GPUs on VSC-5 ==== |
|<html><font color="navy"></html>42+51x GeForce GTX-1080 n37[1,2,3]-[001-006,001-022,001-026]<html></font></html>| | | | | | | | |
|{{.:nvidia-gtx-1080.jpg}} |2560 |1.61 |8 |320 |180 |8228/257 | | ^Model ^#cores ^Clock Freq (GHz)^Memory (GB)^Bandwidth (GB/s)^TDP (Watt)^FP32/FP64 (GFLOPs/s)^ |
|<html><font color="navy"></html>4x Tesla k20m n372-02[4,5]<html></font></html> | | | | | | | | |
|{{.:nvidia-k20m.png}} |2496 |0.71 |5 |208 |195 |3520/1175 | | |
|<html><font color="navy"></html>1x Tesla V100 n372-023<html></font></html> | | | | | | | | |
|{{.:v100.png}} |5120/644|1.31 |32 |900 |250 |14000/7000 | | |
|<html><font color="navy"></html>19x GeForce RTX-2080Ti n375-[001-019]<html></font></html>| | | | | | | | |<html><font color="navy"></html>19x GeForce RTX-2080Ti n375-[001-019]<html></font></html>| | | | | | | |
|{{:pandoc:introduction-to-vsc:09_special_hardware:rtx-2080.jpg?nolink&200 |}} |4352|1.35 |11 |616 |250 |13450/420 | | |{{:pandoc:introduction-to-vsc:09_special_hardware:rtx-2080.jpg?nolink&200}} |4352|1.35 |11 |616 |250 |13450/420 | |
|<html><font color="navy"></html>42x2 nVidia A40<html></font></html>| | | | | | | | |<html><font color="navy"></html>45x2 nVidia A40 n306[6,7,8]-[001-019,001-019,001-007]<html></font></html>| | | | | | | |
|{{ :pandoc:introduction-to-vsc:09_special_hardware:a40.jpg?nolink&200|}} |10752 |1.305 |48 |696 |300 |37400/1169 | | |{{ :pandoc:introduction-to-vsc:09_special_hardware:a40.jpg?nolink&200|}} |10752 |1.305 |48 |696 |300 |37400/1169 | |
| |<html><font color="navy"></html>60x2 nVidia A100-40GB n307[1-4]-[001-015]<html></font></html>| | | | | | | |
| |{{ :pandoc:introduction-to-vsc:09_special_hardware:a100.jpg?nolink&200|}} |6912 |0.765 |40 |1555 |250 |19500/9700 | |
| |
| |
<!--slide 3--> | <!--slide 3--> |
</HTML> | </HTML> |
====== Working on GPU nodes ====== | |
| ==== Working on GPU nodes Interactively ==== |
| |
**Interactive mode** | **Interactive mode** |
| |
<code> | <code> |
1. VSC-3 > salloc -N 1 -p gpu_gtx1080single --qos gpu_gtx1080single | 1. VSC-5 > salloc -N 1 -p zen2_0256_a40x2 --qos zen2_0256_a40x2 --gres=gpu:2 |
| |
2. VSC-3 > squeue -u $USER | 2. VSC-5 > squeue -u $USER |
| |
3. VSC-3 > srun -n 1 hostname (...while still on the login node !) | 3. VSC-5 > srun -n 1 hostname (...while still on the login node !) |
| |
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/9.1.85 | 5. VSC-5 > module load cuda/9.1.85 |
cd ~/examples/09_special_hardware/gpu_gtx1080/matrixMul | cd ~/examples/09_special_hardware/gpu_gtx1080/matrixMul |
nvcc ./matrixMul.cu | nvcc ./matrixMul.cu |
./a.out | ./a.out |
| |
6. VSC-3 > nvidia-smi | 6. VSC-5 > nvidia-smi |
| |
7. VSC-3 > /opt/sw/x86_64/glibc-2.17/ivybridge-ep/cuda/9.1.85/NVIDIA_CUDA-9.1_Samples/1_Utilities/deviceQuery/deviceQuery | 7. VSC-5 > /opt/sw/x86_64/glibc-2.17/ivybridge-ep/cuda/9.1.85/NVIDIA_CUDA-9.1_Samples/1_Utilities/deviceQuery/deviceQuery |
</code> | </code> |
<HTML> | <HTML> |
<!--slide 4--> | <!--slide 4--> |
</HTML> | </HTML> |
====== Working on GPU nodes cont. ====== | ====== Working on GPU using SLURM ====== |
| |
**SLURM submission** gpu_test.scrpt | **SLURM submission** gpu_test.scrpt |
# usage: sbatch ./gpu_test.scrpt | # usage: sbatch ./gpu_test.scrpt |
# | # |
#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 gpu_gtx1080single | #SBATCH --partition zen2_0256_a40x2 |
#SBATCH --qos gpu_gtx1080single | #SBATCH --qos zen2_0256_a40x2 |
| #SBATCH --gres=gpu:2 #or --gres=gpu:1 if you only want to use half a node |
| |
module purge | module purge |
/opt/sw/x86_64/glibc-2.17/ivybridge-ep/cuda/9.1.85/NVIDIA_CUDA-9.1_Samples/1_Utilities/deviceQuery/deviceQuery | /opt/sw/x86_64/glibc-2.17/ivybridge-ep/cuda/9.1.85/NVIDIA_CUDA-9.1_Samples/1_Utilities/deviceQuery/deviceQuery |
</code> | </code> |
<html><font color="navy"></html>**Exercise/Example/Problem:**<html></font></html> <html><br/></html> Using interactive mode or batch submission, figure out whether we have ECC enabled on GPUs of type gtx1080 ? | |
| |
<HTML> | <HTML> |
</HTML> | </HTML> |
| |
====== Real-World Example, AMBER-16 ====== | ===== Real-World Example, AMBER-16 ===== |
| |
^ Performance^Power Efficiency ^ | ^ Performance^Power Efficiency ^ |
| {{.:amber16.perf.png}}|{{.:amber16.powereff.png}} | | | {{.:amber16.perf.png}}|{{.:amber16.powereff.png}} | |
| |