Gids voor het controleren van GPU op Ubuntu: Hoe nvidia-smi te gebruiken en te configureren

1. Inleiding

Bij het gebruiken van een GPU op Ubuntu is het cruciaal om de status nauwkeurig te monitoren. Dit is vooral belangrijk voor taken zoals deep learning en grafische rendering, waarbij inzicht in GPU‑gebruik en driver‑versies essentieel is. Dit artikel legt uit hoe je nvidia-smi, een NVIDIA GPU‑beheertool, kunt gebruiken en biedt een gids voor het controleren van de GPU‑status op Ubuntu.

2. GPU‑informatie controleren met nvidia-smi

nvidia-smi is een commandoregel‑tool waarmee je het gebruik van NVIDIA‑GPU’s, geheugengebruik en andere details kunt monitoren. Het is vooral nuttig voor realtime monitoring van GPU‑activiteit en het ophalen van gedetailleerde gebruiksinformatie.

Basisgebruik

De volgende opdracht toont realtime GPU‑gebruik en geheugengebruik:

nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1

Deze opdracht geeft gedetailleerde informatie, inclusief GPU‑benutting, geheugengebruik en beschikbaar geheugen. Je kunt ook het update‑interval in seconden opgeven met de -l‑optie.

Uitvoerformaat en bestandslogboek

Standaard wordt de uitvoer weergegeven in een tabelvorm, maar je kunt het ook in CSV‑formaat exporteren voor eenvoudigere verwerking. Als je de informatie naar een bestand wilt opslaan, gebruik dan de -f‑optie om het uitvoerpad op te geven.

nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /path/to/output.csv

Deze methode stelt je in staat om GPU‑gebruik te loggen voor latere analyse.

3. Procesinformatie ophalen met nvidia-smi

Met nvidia-smi kun je informatie opvragen over de processen die momenteel de GPU gebruiken. Dit helpt bij het identificeren welke processen GPU‑bronnen verbruiken en in welke mate.

Procesinformatie ophalen

Voer de volgende opdracht uit om de PID en het geheugengebruik van processen die de GPU gebruiken te controleren:

nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv,noheader

Deze opdracht geeft een lijst van momenteel draaiende GPU‑processen terug, inclusief hun geheugengebruik.

nvidia-smi pmon subopdracht

De nvidia-smi‑tool bevat een subopdracht genaamd pmon, die meer gedetailleerde informatie over GPU‑processen biedt.

nvidia-smi pmon --delay 10 -s u -o DT

Deze opdracht toont GPU‑procesinformatie op opgegeven intervallen. De --delay‑optie stelt het update‑interval in seconden in, en je kunt de weergegeven informatie aanpassen.

4. NVIDIA‑drivers installeren en verifiëren

Om een NVIDIA‑GPU op Ubuntu te gebruiken, moet je het juiste NVIDIA‑stuurprogramma installeren. Hieronder staan de stappen voor het installeren en verifiëren van het stuurprogramma.

Het stuurprogramma installeren

Installeer eerst het aanbevolen NVIDIA‑stuurprogramma voor je systeem met de volgende opdracht:

sudo apt install nvidia-driver-510

Wanneer de installatie voltooid is, herstart je systeem.

De installatie verifiëren

Na het opnieuw opstarten, controleer je of het stuurprogramma correct geïnstalleerd is met de volgende opdracht:

nvidia-smi

Als de opdracht de driver‑versie en CUDA‑versie weergeeft, is de installatie geslaagd.

5. GPU‑werking verifiëren met TensorFlow

Om te bevestigen dat de GPU correct functioneert, kun je TensorFlow, een machine‑learning‑framework, gebruiken voor testen.

Anaconda installeren

Installeer eerst Anaconda om de omgeving in te stellen.

bash ./Anaconda3-2022.05-Linux-x86_64.sh
conda update -n base conda
conda update anaconda
conda update -y --all
conda install tensorflow-gpu==2.4.1

GPU‑herkenning controleren met TensorFlow

Controleer vervolgens of TensorFlow de GPU herkent door de volgende opdracht uit te voeren:

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

Als het GPU‑apparaat in de lijst verschijnt, heeft TensorFlow de GPU succesvol gedetecteerd.

6. GPU‑gebruik monitoren en loggen

Met nvidia-smi kun je het GPU-gebruik in real time monitoren en de gegevens loggen. Dit helpt bij het bijhouden van de GPU-utilisatie over lange perioden en het optimaliseren van de prestaties.

Instellen van Regelmatige Monitoring

Om periodieke monitoring in te stellen, gebruik de optie -l in nvidia-smi om het update-interval te specificeren. Je kunt ook de uitvoer naar een bestand loggen.

nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /var/log/gpu.log

Programmatische Controle met Python Bindings

nvidia-smi biedt Python bindings (nvidia-ml-py), waarmee je GPU-informatie programmatisch kunt ophalen. Dit maakt aangepaste monitoring en controle mogelijk.

7. Conclusie

nvidia-smi is een krachtig hulpmiddel voor het monitoren en beheren van NVIDIA GPU-gebruik op Ubuntu. Dit artikel besprak het basisgebruik, het ophalen van procesinformatie, het installeren van drivers en het verifiëren van GPU-operatie met TensorFlow. Gebruik deze methoden om de GPU-prestaties te maximaliseren en je systeem te optimaliseren.