Come monitorare e gestire le GPU NVIDIA su Ubuntu con nvidia-smi

1. Introduzione

Quando si utilizza una GPU su Ubuntu, è fondamentale monitorarne accuratamente lo stato. Questo è particolarmente importante in carichi di lavoro che coinvolgono deep learning o rendering grafico, dove comprendere l’utilizzo della GPU e le versioni dei driver è obbligatorio. In questo articolo spieghiamo come usare nvidia-smi, lo strumento di gestione delle GPU NVIDIA, e presentiamo metodi per verificare le informazioni sulla GPU su Ubuntu.

2. Verifica delle informazioni sulla GPU con nvidia-smi

nvidia-smi è uno strumento da riga di comando che consente di monitorare l’utilizzo, l’uso della memoria e altre informazioni dettagliate sulle GPU NVIDIA. È particolarmente utile per controllare l’attività della GPU in tempo reale o per recuperare metriche di utilizzo dettagliate.

Uso di base

Puoi utilizzare il comando seguente per monitorare l’utilizzo della GPU e l’uso della memoria in tempo reale:

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

Questo comando recupera informazioni dettagliate includendo l’utilizzo della GPU, l’uso della memoria e la memoria disponibile. L’opzione -l ti permette di impostare l’intervallo di aggiornamento in secondi.

Formato di visualizzazione e output su file

Per impostazione predefinita, i risultati vengono mostrati in formato tabellare, ma è possibile esportarli come CSV per una più facile elaborazione. Se desideri salvare le informazioni in un file, specifica la destinazione usando l’opzione -f.

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

Ciò consente di salvare i log di utilizzo della GPU e analizzarli in un secondo momento.

3. Recupero delle informazioni sui processi con nvidia-smi

nvidia-smi permette anche di ottenere informazioni sui processi che stanno attualmente utilizzando la GPU. Questo aiuta a identificare quante risorse GPU consuma ciascun processo.

Ottenere le informazioni sui processi

Usa il comando seguente per visualizzare il PID e l’uso della memoria dei processi che utilizzano la GPU:

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

Questo comando restituisce un elenco dei processi GPU attivi e mostra l’uso della memoria di ciascun processo.

Sottocomando nvidia-smi pmon

Lo strumento nvidia-smi include anche il sottocomando pmon, che fornisce un monitoraggio dettagliato dei processi GPU.

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

Questo visualizza le informazioni sui processi GPU a intervalli specificati. L’opzione --delay definisce l’intervallo di aggiornamento in secondi e puoi scegliere quali informazioni visualizzare.

4. Installazione e verifica dei driver NVIDIA

Per utilizzare una GPU NVIDIA su Ubuntu, è necessario installare il driver NVIDIA corretto. Di seguito i passaggi per l’installazione e la verifica.

Installazione del driver

Prima, installa il driver NVIDIA appropriato per il tuo sistema usando il comando seguente:

sudo apt install nvidia-driver-510

Al termine dell’installazione, riavvia il sistema.

Verifica dell’installazione

Dopo il riavvio, esegui il comando seguente per confermare che il driver sia installato correttamente:

nvidia-smi

Se compaiono la versione del driver e la versione CUDA, l’installazione è avvenuta con successo.

5. Verifica del funzionamento della GPU con TensorFlow

Puoi anche verificare la funzionalità della GPU testandola con TensorFlow, un framework di machine learning.

Installazione di Anaconda

Prima, installa Anaconda e configura il tuo ambiente:

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

Controllo del riconoscimento della GPU in TensorFlow

Successivamente, verifica se TensorFlow riconosce la GPU:

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

Se il dispositivo GPU appare nell’elenco, TensorFlow sta rilevando correttamente la GPU.

6. Monitoraggio e registrazione della GPU

nvidia-smi consente il monitoraggio in tempo reale della GPU e la registrazione dei log. Questo aiuta a tenere traccia dell’utilizzo della GPU nel tempo e a ottimizzare le prestazioni.

Monitoraggio Periodico

Per impostare il monitoraggio periodico, utilizzare l’opzione -l per specificare l’intervallo di aggiornamento e, opzionalmente, registrare i dati in un file:

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

Controllo Programmabile tramite Binding Python

nvidia-smi fornisce binding Python (nvidia-ml-py) che permettono di recuperare programmaticamente le informazioni sulla GPU. Questo consente un monitoraggio e un controllo più personalizzati da script Python.

7. Conclusione

nvidia-smi è uno strumento potente per controllare e gestire l’utilizzo della GPU NVIDIA su Ubuntu. Questo articolo ha spiegato l’uso base, il monitoraggio dei processi, l’installazione dei driver e la verifica della GPU TensorFlow. Utilizza queste tecniche per massimizzare le prestazioni della GPU e ottimizzare il tuo sistema.

年収訴求