Jak sledovat a spravovat GPU NVIDIA v Ubuntu pomocí nvidia-smi

1. Úvod

Při používání GPU v Ubuntu je nezbytné přesně sledovat její stav. To je zvláště důležité u úloh zahrnujících hluboké učení nebo grafické renderování, kde je nutné rozumět využití GPU a verzím ovladačů. V tomto článku vysvětlujeme, jak používat nvidia-smi, nástroj pro správu NVIDIA GPU, a představujeme metody pro kontrolu informací o GPU v Ubuntu.

2. Kontrola informací o GPU pomocí nvidia-smi

nvidia-smi je nástroj příkazové řádky, který vám umožňuje sledovat využití, využití paměti a další podrobné informace o NVIDIA GPU. Je zvláště užitečný při sledování aktivity GPU v reálném čase nebo při získávání podrobných metrik využití.

Základní použití

Pro sledování využití GPU a využití paměti v reálném čase můžete použít následující příkaz:

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

Tento příkaz získá podrobné informace včetně využití GPU, využití paměti a dostupné paměti. Volba -l vám umožní nastavit interval obnovování v sekundách.

Formát výstupu a uložení do souboru

Ve výchozím nastavení jsou výsledky zobrazovány v tabulkovém formátu, ale můžete je exportovat jako CSV pro snadnější zpracování. Pokud chcete informace uložit do souboru, specifikujte cíl pomocí volby -f.

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

Tím můžete uložit logy využití GPU a později je analyzovat.

3. Získání informací o procesech pomocí nvidia-smi

nvidia-smi také umožňuje získat informace o procesech, které aktuálně GPU používají. To pomáhá identifikovat, kolik GPU prostředků každému procesu spotřebovává.

Získání informací o procesech

Pro zobrazení PID a využití paměti procesů využívajících GPU použijte následující příkaz:

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

Tento příkaz vrátí seznam aktivních GPU procesů a zobrazí využití paměti každého procesu.

Subpříkaz nvidia-smi pmon

Nástroj nvidia-smi obsahuje také subpříkaz pmon, který poskytuje podrobné monitorování GPU procesů.

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

Tento příkaz zobrazuje informace o GPU procesech v určených intervalech. Volba --delay určuje interval obnovování v sekundách a můžete si vybrat, jaké informace se mají zobrazit.

4. Instalace a ověření NVIDIA ovladačů

Pro použití NVIDIA GPU v Ubuntu je nutné nainstalovat správný NVIDIA ovladač. Níže jsou uvedeny kroky pro instalaci a ověření.

Instalace ovladače

Nejprve nainstalujte vhodný NVIDIA ovladač pro váš systém pomocí následujícího příkazu:

sudo apt install nvidia-driver-510

Po dokončení instalace restartujte systém.

Ověření instalace

Po restartu spusťte následující příkaz, abyste potvrdili, že je ovladač správně nainstalován:

nvidia-smi

Pokud se zobrazí verze ovladače a verze CUDA, instalace proběhla úspěšně.

5. Ověření funkčnosti GPU pomocí TensorFlow

Funkčnost GPU můžete také ověřit testováním v TensorFlow, frameworku pro strojové učení.

Instalace Anacondy

Nejprve nainstalujte Anacondu a nastavte své prostředí:

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

Kontrola rozpoznání GPU v TensorFlow

Dále ověřte, zda TensorFlow rozpozná GPU:

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

Pokud se zařízení GPU objeví v seznamu, TensorFlow úspěšně detekuje GPU.

6. Monitorování a logování GPU

nvidia-smi umožňuje monitorování GPU v reálném čase a zaznamenávání logů. To pomáhá sledovat využití GPU v průběhu času a optimalizovat výkon.

Periodické monitorování

Pro nastavení periodického monitorování použijte volbu -l k určení intervalu aktualizace a volitelně zaznamenávejte data do souboru:

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

Programovatelné řízení pomocí Pythonových vazeb

nvidia-smi poskytuje Pythonové vazby (nvidia-ml-py), které vám umožňují programově získávat informace o GPU. To umožňuje přizpůsobenější monitorování a řízení pomocí Python skriptů.

7. Závěr

nvidia-smi je výkonný nástroj pro kontrolu a správu využití NVIDIA GPU v Ubuntu. Tento článek vysvětlil základní použití, monitorování procesů, instalaci ovladačů a ověření GPU pro TensorFlow. Použijte tyto techniky k maximalizaci výkonu GPU a optimalizaci vašeho systému.

侍エンジニア塾