12

公式の PyTorch Docker イメージnvidia/cudaは、GPU なしで Docker CE 上で実行できる に基づいています。nvidia-dockerでも実行できます、CUDAサポートが有効になっていると思います。GPU なしで x86 CPU で nvidia-docker 自体を実行することは可能ですか? CUDA サポートが利用可能な場合 (内部で実行する場合nvidia-dockerなど) にそれを利用し、それ以外の場合は CPU を使用する単一の Docker イメージを構築する方法はありますか? torch.cudaDocker CE 内から使用するとどうなりますか? nvidia-dockerDocker CE と Docker CEにマージできない理由の違いは何ですか?

4

1 に答える 1

15

nvidia-dockerのショートカットですdocker --runtime nvidia。いつかマージされることを願っていますが、今のところサードパーティのランタイムです。彼らはそれが何であり、何をするのかをGitHub ページで説明しています。

カスタム pre-start フックをすべてのコンテナーに追加する runc の修正バージョン。環境変数 NVIDIA_VISIBLE_DEVICES が OCI 仕様で設定されている場合、フックは、プロジェクト libnvidia-container の nvidia-container-cli を利用して、コンテナーの GPU アクセスを構成します。

nvidia-docker通常のイメージを実行することを妨げるものは何もありませんdocker。それらは問題なく動作しますが、GPU を必要とするものを実行すると失敗します。

nvidia-dockerGPU のないマシンでは実行できないと思います。探している CUDA ファイルを見つけることができず、エラーが発生します。

dockerと の両方で実行できるイメージを作成するには、イメージnvidia-docker内のプログラムがどこで実行されているかを認識できる必要があります。正式な方法があるかどうかはわかりませんが、次のいずれかを試すことができます。

  • nvidia-smi利用可能かどうかを確認する
  • で指定されたディレクトリが$CUDA_LIB_PATH存在するかどうかを確認します
  • プログラムが CUDA ライブラリを正常にロードできるかどうか、およびフォールバックできないかどうかを確認します
于 2018-09-14T03:43:42.567 に答える