- リンクを取得
- ×
- メール
- 他のアプリ
参考
WSL2 の Docker でも、コンテナ内から GPU を使用できる仕組みが用意されています。
ただし、2022年12月時点では対応するのは CUDA のみ。AMD の ROCm は無理と見た記憶があります。
そして、Docker Desktop であれば特段の操作は不要。Docker Desktop を使わずに WSL2 に Docker を構築した場合でも、上記リンク先の「WSL 2 上の Linux への NVIDIA Container Toolkit のイントール」の項目に沿って、WSL2 上の Linux に「nvidia-docker2」パッケージをインストールするのみで大丈夫なようです。
(リンク先にもありますが、WSL2 上の Linux へ GeForce のドライバを導入する必要はありません)
ただ、リンク先のコマンドそのままだと、apt update を実行する際に以下のようなメッセージが何行か表示されます。
W: https://nvidia.github.io/libnvidia-container/experimental/ubuntu18.04/amd64/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
最近の Ubuntu では apt-key add で鍵を追加するのは廃止の方向らしいので、それに伴うメッセージのようです。コマンドを一部変更することでメッセージを抑制できます。
鍵を追加するこの行を、
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
このように置き換えて実行すればよさそうです。
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo tee /etc/apt/trusted.gpg.d/nvidia.asc
Portainer のコンテナ作成画面にも、GPU の項目があるので、ここを設定すれば普通にコンテナ内からでも GPU が使えそうです。
あとは docker run する際に「--gpus all」を指定してコンテナを起動すれば、GPU が使用できます。
なお、コンテナ内には GPU が直接見えているわけではなく、/dev/dxg というデバイスで仮想化された状態です。そのため、ものによっては動作しないものもあるかもしれません。
とはいえ、--gpus all を指定したコンテナ内で nvidia-smi コマンドを実行すると、GPU を認識していることが見えます。
(CUDA のバージョンが 11.8 ですね・・・)PyTorch でも CUDA が利用可能になっています。
コメント
コメントを投稿