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/24 12:51] – [Components on VSC-3+] goldenberg | pandoc:introduction-to-vsc:09_special_hardware:accelerators [2023/03/14 13:08] – [Working on GPU using SLURM] goldenberg |
---|
| |
====== Special hardware (GPUs, binfs) available & how to use it ====== | ====== GPUs available & how to use it ====== |
| |
* Article written by Siegfried Höfinger (VSC Team) <html><br></html>(last update 2020-10-04 by sh). | * Article written by Siegfried Höfinger (VSC Team) <html><br></html>(last update 2020-10-04 by sh). |
<!--slide 2--> | <!--slide 2--> |
</HTML> | </HTML> |
====== Components on VSC-3+ ====== | ====== Components on VSC ====== |
| ===== GPUs on VSC-3 - now decommissioned ===== |
| |
^Model ^#cores ^Clock Freq (GHz)^Memory (GB)^Bandwidth (GB/s)^TDP (Watt)^FP32/FP64 (GFLOPs/s)^ | ^Model ^#cores ^Clock Freq (GHz)^Memory (GB)^Bandwidth (GB/s)^TDP (Watt)^FP32/FP64 (GFLOPs/s)^ |
|<html><font color="navy"></html>1x Tesla V100 n372-023<html></font></html> | | | | | | | | |<html><font color="navy"></html>1x Tesla V100 n372-023<html></font></html> | | | | | | | |
|{{.:v100.png}} |5120/644|1.31 |32 |900 |250 |14000/7000 | | |{{.:v100.png}} |5120/644|1.31 |32 |900 |250 |14000/7000 | |
| |
| ===== GPUs on VSC-5 ===== |
| |
| ^Model ^#cores ^Clock Freq (GHz)^Memory (GB)^Bandwidth (GB/s)^TDP (Watt)^FP32/FP64 (GFLOPs/s)^ |
|<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 n56[6,7,8]-[001-019,001-019,001-004]<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> |