Springe zum Hauptinhalt
Mathematisches Rechenzentrum
MRZ

GPU-Computeserver rosenblatt

Der GPU Computeserver rosenblatt steht seit Februar 2022 für Berechnungen, die von Grafikkarten profitieren, zur Verfügung.

Er wurde gemeinsam von den Professuren Stochastik, Harmonische Analysis, Numerische Mathematik und Wissenschaftliches Rechnen (je eine GPU) sowie aus Fakultätsmitteln (Basismaschine) finanziert.

Ansichten GPU Server rosenblatt

Zum Namen rosenblatt

Frank Rosenblatt war ein Pionier der neuronalen Netze:

Hardware

  • CPU: 2 Stück AMD EPYC 7313 16-Core Processor
  • 256 GB RAM
  • 250 GB SSD System- und Swap-Partition
  • 3,5 TB SSD Datenpartition
  • 4 Stück GPU NVIDIA A40 Ampere-Architektur CUDA® Recheneinheiten
  • Ubuntu 22.04

CUDA-Installation und Verwendung

Unter /usr/local/cuda-12.2 befindet sich eine Installation der CUDA-Umgebung. Um diese zu nutzen, müssen ein paar Umgebungsvariablen gesetzt werden. Dies geht am einfachsten mit dem vorbereiteten Script durch Aufruf von:
source /usr/local/cuda-12.2/cudaenv.sh

Anschließend erhält man bei der Abfrage der Version des nvcc-Compilers die korrekte Ausgabe als 12.2:

rosenblatt:~$ source /usr/local/cuda-12.2/cudaenv.sh
rosenblatt:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Jun_13_19:16:58_PDT_2023
Cuda compilation tools, release 12.2, V12.2.91
Build cuda_12.2.r12.2/compiler.32965470_0
und kann mit dem Compilieren der eigenen Programme beginnen.

Zum Monitoring der Auslastung der GPUs gibt es das Tool nvidia-smi. Ein simpler Aufruf liefert zum Beispiel:

rosenblatt:~$ nvidia-smi
Fri Jul  7 10:12:51 2023       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.54.03              Driver Version: 535.54.03    CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA A40                     On  | 00000000:01:00.0 Off |                    0 |
|  0%   34C    P0              80W / 300W |    274MiB / 46068MiB |    100%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  NVIDIA A40                     On  | 00000000:61:00.0 Off |                    0 |
|  0%   23C    P8              12W / 300W |      7MiB / 46068MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   2  NVIDIA A40                     On  | 00000000:A1:00.0 Off |                    0 |
|  0%   23C    P8              12W / 300W |      7MiB / 46068MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   3  NVIDIA A40                     On  | 00000000:C1:00.0 Off |                    0 |
|  0%   23C    P8              12W / 300W |      7MiB / 46068MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A    146064      C   ./a.out                                     262MiB |
+---------------------------------------------------------------------------------------+
Zum dauernden Überwachen besser geeignet ist eine sich wiederholende Ausgabe. Dies kann mittels
nvidia-smi -i 0 -lms 300 --format=csv --query-gpu=power.draw,utilization.gpu,fan.speed,temperature.gpu,
memory.used
erreicht werden. Dabei bedeuten die Parameter
  • -i 0 ... zeige mir GPU0 an, die anderen 3 GPUs analog mit -i 1, -i 2, -i 3
  • -lms 300 ... Ausgabe aller 300 Millisekunden
Man erhält so als fortlaufende Anzeige
rosenblatt:~$ nvidia-smi -i 0 -lms 300 --format=csv --query-gpu=power.draw,utilization.gpu,fan.speed,
temperature.gpu,memory.used

power.draw [W], utilization.gpu [%], fan.speed [%], temperature.gpu, memory.used [MiB]
74.75 W, 0 %, 0 %, 36, 0 MiB
74.69 W, 0 %, 0 %, 36, 0 MiB
74.72 W, 0 %, 0 %, 36, 0 MiB
74.78 W, 0 %, 0 %, 36, 0 MiB
74.71 W, 0 %, 0 %, 36, 0 MiB
74.71 W, 0 %, 0 %, 36, 0 MiB
74.76 W, 0 %, 0 %, 36, 0 MiB
74.73 W, 0 %, 0 %, 36, 0 MiB
74.73 W, 0 %, 0 %, 36, 0 MiB
74.78 W, 0 %, 0 %, 36, 0 MiB
74.78 W, 0 %, 0 %, 36, 0 MiB
74.77 W, 0 %, 0 %, 36, 2 MiB
90.46 W, 5 %, 0 %, 40, 455 MiB
137.43 W, 100 %, 0 %, 43, 455 MiB
184.72 W, 100 %, 0 %, 44, 455 MiB
232.18 W, 100 %, 0 %, 45, 455 MiB
249.01 W, 100 %, 0 %, 46, 455 MiB
250.37 W, 100 %, 0 %, 46, 455 MiB
251.33 W, 100 %, 0 %, 47, 455 MiB
252.26 W, 100 %, 0 %, 47, 455 MiB
252.45 W, 100 %, 0 %, 47, 455 MiB
...
und sieht sehr schön, wie beim Programmstart Leistungsaufnahme, GPU, Temperatur und RAM nach oben gehen.