インストールのためにDockerfileにコンテナを作成しましたdocker
。FROM nvidia/cuda:8.0-devel-ubuntu16.04
CUDA Toolkit
私のアーキテクチャは正式に説明されたアーキテクチャです。Nvidia-docker買戻契約
ビルドして実行した後
$ nvidia-smi
bash: nvidia-smi: command not found
DOCKER_HOST
次のように実行されているDocker Nvidiaコンテナ(GPUシステム)へのポインタがあります。
export DOCKER_HOST=tcp://x.x.x.x:2376
export DOCKER_TLS_VERIFY=1
set NVIDIA_VER=367.57
マシンにトンネリングするときにポートにバインドされたDockerインスタンスに接続します。
$ ssh -i "$DOCKER_CERT" docker@$IP -g -R 10250:localhost:10250 -L 0.0.0.0:3000:127.0.0.1:3000 -L 0.0.0.0:8181:127.0.0.1:8181 -L 5858:127.0.0.1:5858 -L 4567:127.0.0.1:4567
私のドッカーインスタンスはいつものように起動します。
$ docker run --rm -it --name $CONTAINER_NAME -p 3000:3000 $CONTAINER_IMG:$CONTAINER_VERSION $CMD
Docker ホストから Docker Nvidia インスタンスに接続できます。
loreto@nvidia-docker:~$ sudo nvidia-docker run --rm nvidia/cuda nvidia-smi
Fri Mar 17 09:08:03 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.57 Driver Version: 367.57 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GRID K520 Off | 0000:00:03.0 Off | N/A |
| N/A 35C P8 17W / 125W | 0MiB / 4036MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
そしてさらに
loreto@nvidia-docker:~$ nvidia-smi
Fri Mar 17 09:12:59 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.57 Driver Version: 367.57 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GRID K520 Off | 0000:00:03.0 Off | N/A |
| N/A 35C P8 17W / 125W | 0MiB / 4036MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
そして私のコンテナで$CONTAINER_NAME
実行しているときは見ることができません。
$ docker exec -it $CONTAINER_NAME bash
$ nvidia-smi
nvidia-smi: command not found
$CONTAINER_NAME
建設 FROM nvidia/cuda:8.0-devel-ubuntu16.04
この問題をnvidia-docker github repoに提起しました。ここ。
[アップデート] 実行時にデバイスを接続し、コンテナにドライバを次のように設定して問題を解決しました。
docker run --rm -it --device=/dev/nvidiactl --device=/dev/nvidia-uvm --device=/dev/nvidia0 -v nvidia_driver_367.57:/usr/local/nvidia:ro --name $CONTAINER_NAME -p 3000:3000 $CONTAINER_IMG:$CONTAINER_VERSION $CMD
もちろんDOCKER_HOST
、設定されていてトンネルが開いている必要があります。
ベストアンサー1
nvidia-docker
通常はインストールされているバージョンにインストールしますdocker
。
コマンドは次のとおりです。
カールhttps://get.docker.com| sh
&& sudo systemctl - ドッカーを有効にします。
それから
distribution=$(./etc/os-release;echo $ID$VERSION_ID)
&& curl -fsSLhttps://nvidia.github.io/libnvidia-container/gpgkeysudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
&&curl -s -Lhttps://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list|
sed 's#deb https://#deb [署名者=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g'
| list.d/nvidia-container-toolkit.list
それから
sudo apt-get アップデート
それから
sudo apt-get インストール -y nvidia-docker2
これでインストールが完了したら、nvidia-docker2
まず groups コマンドを使用してユーザー ID が属するグループを確認します。
グループ
docker
リストされたグループが表示されない場合は、まずこのコマンドを実行してください。
sudoグループドッカーを追加
sudo usermod -aG docker $USER
これでログアウトしてから再度ログインする必要があります(リモートSSHサーバーのためにこれが可能でない場合は、同じサーバーに対してSSHを使用して新しい端末を開きます)。
走る
sudo systemctl 再起動ドッカー
もう一度確認してくださいgroups
。ユーザーIDにdocker
グループが含まれていることを確認する必要があります。そうでない場合は、まずこの問題を解決してください。次に、次を実行します。
sudo docker run --rm --gpus nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
nvidia-smi
今は次の場所にいるはずです。docker
このリンクから、アプリケーションに使用する適切なDockerバージョンと正しいnvidia-driverバージョンとubuntuバージョンを選択してください。https://hub.docker.com/r/nvidia/cuda/tags