Przewodnik po sprawdzaniu GPU w Ubuntu: Jak używać i konfigurować nvidia-smi

1. Wstęp

Korzystając z GPU w systemie Ubuntu, kluczowe jest dokładne monitorowanie jego stanu. Jest to szczególnie ważne w zadaniach takich jak uczenie głębokie i renderowanie grafiki, gdzie zrozumienie wykorzystania GPU oraz wersji sterowników jest niezbędne. Ten artykuł wyjaśnia, jak używać nvidia-smi, narzędzia do zarządzania GPU firmy NVIDIA, oraz dostarcza przewodnik po sprawdzaniu statusu GPU w Ubuntu.

侍エンジニア塾

2. Sprawdzanie informacji o GPU za pomocą nvidia-smi

nvidia-smi to narzędzie wiersza poleceń, które umożliwia monitorowanie użycia GPU NVIDIA, zużycia pamięci i innych szczegółów. Jest szczególnie przydatne do monitorowania w czasie rzeczywistym aktywności GPU oraz pobierania szczegółowych informacji o wykorzystaniu.

Podstawowe użycie

Poniższe polecenie wyświetla w czasie rzeczywistym użycie GPU oraz zużycie pamięci:

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

To polecenie dostarcza szczegółowych informacji, w tym wykorzystania GPU, zużycia pamięci oraz dostępnej pamięci. Możesz także określić interwał aktualizacji w sekundach, używając opcji -l.

Format wyjścia i logowanie do pliku

Domyślnie wyjście jest wyświetlane w formacie tabelarycznym, ale możesz także wyeksportować je w formacie CSV, co ułatwia dalsze przetwarzanie. Jeśli chcesz zapisać informacje do pliku, użyj opcji -f, aby określić ścieżkę pliku wyjściowego.

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

Ta metoda pozwala na logowanie użycia GPU w celu późniejszej analizy.

3. Pobieranie informacji o procesach za pomocą nvidia-smi

Korzystając z nvidia-smi, możesz uzyskać informacje o procesach aktualnie wykorzystujących GPU. Pomaga to zidentyfikować, które procesy zużywają zasoby GPU i w jakim stopniu.

Pobieranie informacji o procesach

Uruchom poniższe polecenie, aby sprawdzić PID oraz zużycie pamięci przez procesy korzystające z GPU:

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

To polecenie zwraca listę aktualnie uruchomionych procesów GPU wraz z ich zużyciem pamięci.

Podkomenda nvidia-smi pmon

Narzędzie nvidia-smi zawiera podkomendę o nazwie pmon, która dostarcza bardziej szczegółowych informacji o procesach GPU.

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

To polecenie wyświetla informacje o procesach GPU w określonych interwałach. Opcja --delay ustawia interwał aktualizacji w sekundach, a także możesz dostosować wyświetlane informacje.

4. Instalacja i weryfikacja sterowników NVIDIA

Aby używać GPU NVIDIA w Ubuntu, musisz zainstalować odpowiedni sterownik NVIDIA. Poniżej znajdują się kroki instalacji i weryfikacji sterownika.

Instalacja sterownika

Najpierw zainstaluj zalecany sterownik NVIDIA dla swojego systemu, używając następującego polecenia:

sudo apt install nvidia-driver-510

Po zakończeniu instalacji uruchom ponownie system.

Weryfikacja instalacji

Po ponownym uruchomieniu sprawdź, czy sterownik został poprawnie zainstalowany, używając następującego polecenia:

nvidia-smi

Jeśli polecenie wyświetli wersję sterownika oraz wersję CUDA, instalacja zakończyła się sukcesem.

5. Weryfikacja działania GPU przy użyciu TensorFlow

Aby potwierdzić, że GPU działa prawidłowo, możesz użyć TensorFlow, frameworka uczenia maszynowego, do testów.

Instalacja Anacondy

Najpierw zainstaluj Anacondę, aby skonfigurować środowisko.

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

Sprawdzanie rozpoznawania GPU przez TensorFlow

Następnie zweryfikuj, czy TensorFlow rozpoznaje GPU, uruchamiając następujące polecenie:

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

Jeśli urządzenie GPU pojawi się na liście, TensorFlow pomyślnie wykrył GPU.

6. Monitorowanie użycia GPU i logowanie

Używając nvidia-smi, możesz monitorować zużycie GPU w czasie rzeczywistym i zapisywać dane. Pomaga to śledzić wykorzystanie GPU przez dłuższy czas i optymalizować wydajność.

Konfigurowanie regularnego monitorowania

Aby skonfigurować okresowe monitorowanie, użyj opcji -l w nvidia-smi, aby określić interwał aktualizacji. Możesz także zapisywać wyjście do pliku.

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

Programowa kontrola przy użyciu powiązań Pythona

nvidia-smi udostępnia powiązania Pythona (nvidia-ml-py), umożliwiając programowe pobieranie informacji o GPU. To pozwala na dostosowane monitorowanie i kontrolę.

7. Zakończenie

nvidia-smi jest potężnym narzędziem do monitorowania i zarządzania użyciem GPU NVIDIA w systemie Ubuntu. Ten artykuł omówił jego podstawowe użycie, pobieranie informacji o procesach, instalację sterowników oraz weryfikację działania GPU z TensorFlow. Wykorzystaj te metody, aby maksymalizować wydajność GPU i optymalizować swój system.

侍エンジニア塾