nvidia-docker のインストールとインストール プロセス中に発生する問題

この実験では nvidia-docker を使用する必要があるため、Ubuntu 18.04 サーバーにインストールする必要があります。以下は私のインストール記録です: nvidia
-docker については、Nvidia にはインストール方法を説明する公式ドキュメントがあります:公式ドキュメントは
単にドキュメントに目を通しましたが、まだいくつかの小さな問題があるため、ここに記録します(すべてのコマンドにはsudo権限が必要で、rootユーザーの下で操作し、すべてのコマンドの前にプレフィックスはありませんsudo)。

まずはdockerをインストールします

私が使用したサーバーには docker 自体があるため、この手順はスキップしました。

docker に基づいて nvidia-docker をインストールします。

最初のステップは docker を起動することです

curl https://get.docker.com | sh \
  && sudo systemctl --now enable docker

基本的にはこの手順で問題ありません。

2 番目のステップは、nvidia-docker のサポートをソースに追加することです。

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
            sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

3 番目のステップはソースを更新することです

apt-get update

このステップでエラーが発生し始めました。
」

E: Conflicting values set for option Signed-By regarding source https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64/ /: /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg !=
E: The list of sources could not be read.

この場合の対処方法については、インターネット上に NVIDIA の公式記事があります:アドレス
一般的には、コマンド実行結果のファイルを削除することで解決できますのでgrep -l "nvidia.github.io" /etc/apt/sources.list.d/* | grep -vE "/nvidia-container-toolkit.list\$"、ここではこの方法で対処することに成功しました
。 NVIDIA コンテナ ツールキット、Docker デーモンの構成、Docker を実行して再起動する NVIDIA コンテナを特定します。

apt-get install -y nvidia-container-toolkit
nvidia-ctk runtime configure --runtime=docker
systemctl restart docker

最後のステップは、インストール結果をテストすることです。公式のテスト コマンドは次のとおりです。

sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

ここで注目すべきはnvidia/cuda:11.6.2-base-ubuntu20.04この部分で、このコマンドをやみくもにコピーするのではなく、自分に合ったcudaのバージョンとUbuntuのバージョンが必要になります。
通常、操作が成功すると、次の結果が表示されます (このコマンドを初めて実行する場合は、コマンドの一部がダウンロードされるまでしばらく時間がかかる場合があります)。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.06    Driver Version: 450.51.06    CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            On   | 00000000:00:1E.0 Off |                    0 |
| N/A   34C    P8     9W /  70W |      0MiB / 15109MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

公式ドキュメントはここで終わりです。

テストエラー

ただし、上記のコマンドを実行すると、依然としてエラーが発生します。エラーの具体的な内容は記録されていませんが、一般的な意味は、バージョンが一致していないということです。多くのチュートリアルを検索した結果、次のコマンドが機能することがわかりました。

docker run -it --rm --name test --gpus all ubuntu:latest

nvidia-smiただし、このコマンドを実行すると、コマンド ラインで docker インターフェイスに直接入力されるため、上記の結果を出力するには、次のように再度入力する必要があります:
ここに画像の説明を挿入します
1 行目はサーバーのターミナル コマンド、2 行目はコマンド ラインです。 dockerに入った後のコマンドです。

その他のエラー

しかし実際には、これらのコマンドを実行した後も、nvidia-docker使用中にエラーが発生しました。エラーの結果は、nvidia-docker: command not found具体的な理由が理解できなかったので、少し怠け者だったので、インストールnvidia-dockerチュートリアルを直接見つけました。インターネットからインストールして (これらのチュートリアルのほとんどは Nvidia のものとは異なります。nvidia-docker2 のインストールなど)、NVIDIA docker をインストールする手順から直接チュートリアルを

  1. nvidia-dockerリポジトリを追加
    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
      sudo apt-key add -
    curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \
      sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    sudo apt-get update
    
  2. インストール
    apt-gei install nvidia-docker2
  3. ドッカーを再起動します
    service docker restart
  4. テスト
    nvidia-docker

結果:
ここに画像の説明を挿入します
ここまではテストに成功しました。

ユーザーを追加する

dockerもう 1 つ注意すべき点は、一般ユーザーとして docker を使用できないことを考慮する必要があることです。dockerを使用できるようにするには、管理者がこのユーザー グループにアカウントを追加する必要があります。

usermod -aG docker <用户名>
systemctl restart docker

おすすめ

転載: blog.csdn.net/weixin_45165572/article/details/130253484