Linux Ubuntu 機械学習

[機械学習] NVIDIA GPU の初期化が遅い問題の解決法 [Linux]

投稿日:

Linux 環境において NVIDIA GPU の初期化に時間が掛かる問題の解決方法。

 

 

背景

機械学習用コードの開発など、NVIDIA GPU を初期化が遅いことがある。
特に後述の A100-SMX4 x4 などの環境では、うっかり $ nvidia-smi とでもしようものなら、
数分間プロンプトが返ってこなくなる。

Web で調べると、これは既知の問題のようであり、
複数の記事で解決法が紹介されていたが、
NVIDIA 公式で obsolete とか legacy とか書かれている方法が多数散見されたので、
新しい現在の推奨方法を紹介する。
 

環境

  • OS: Ubuntu Server 20.04
  • GPU: NVIDIA A100-SMX4-40GB x4 (ほか、NVIDIA A100 PCIe x1 など)

 

解決法

systemd/Upstart/SystemV などを用いて、"持続モード(persistence mode)" を自動で永続的に ON に設定する。
/usr/share/doc/NVIDIA_GLX-1.0/samples/nvidia-persistenced-init.tar.bz2
それぞれのシステム用のテンプレート、及びインストール用のスクリプトが同梱されている。

同梱されている install.sh を (sudoなど) 管理者権限で実行すると、
後ろで掲載しているログ出力のように、
デフォルトでは nvidia-persistenced ユーザーとグループを作成し、
それぞれのシステム用のサンプルスクリプトを生成、systemd などのシステムを検知して、
nvidia-persistenced デーモンの起動と自動起動の設定を全て行ってくれる。

こうすることで、システム起動時から nvidia-smi などもすぐに応答するようになり、
その出力でも Persistence-M が ON になっていることが確認できる。

Google Adsense



ログ

以下は Ubuntu Server 20.04 (systemd) での実行例。

sudo ./install.sh
[sudo] password for xxx:

Checking for common requirements...
sed found in PATH? Yes
useradd found in PATH? Yes
userdel found in PATH? Yes
id found in PATH? Yes
Common installation/uninstallation supported

Creating sample System V script... done.
Creating sample systemd service file... done.
Creating sample Upstart service file... done.

Checking for systemd requirements...
/usr/lib/systemd/system directory exists? Yes
systemctl found in PATH? Yes
systemd installation/uninstallation supported

Installation parameters:
User : nvidia-persistenced
Group : nvidia-persistenced
systemd service installation path : /usr/lib/systemd/system

Adding user 'nvidia-persistenced' to group 'nvidia-persistenced'... done.
Installing sample systemd service nvidia-persistenced.service... done.
Enabling nvidia-persistenced.service... done.
Starting nvidia-persistenced.service... done.

systemd service successfully installed.

 

解決法 (Legacy)

nvidia-smi でも persistence-mode を変更できる。

 

Google Adsense

Google Adsense

-Linux, Ubuntu, 機械学習
-, ,

Copyright© HEPtech, 2024 All Rights Reserved.