Windows 10のDockerコンテナー内でアプリケーションを実行しようとしています。
しかし、Docker内でGPUを機能させることができません。
「GPUパススルー」が必要だと読んだ。
どうすればこれを回避できますか?
Dockerコンテナー内からのGPUアクセスは、現在Windowsではサポートされていません。
nvidia-docker
が必要ですが、現在はLinuxプラットフォームでのみサポートされています。 Hyper-vでのGPUパススルーには、現在Windows Serverにのみ存在するDiscrete Device Assignment(DDA)が必要であり、( 少なくとも2015年には )その状態を変更する計画はありませんでした。したがって、NVIDIAは現時点でnvidia-docker
をWindowsに移植していません。
ここでもう少し情報: https://devblogs.nvidia.com/nvidia-docker-gpu-server-application-deployment-made-easy/
更新(2019年10月):Docker 19.03はNVIDIA GPUをネイティブでサポートしているため、nvidia-docker
は非推奨になりました。代わりにnvidia-container-runtime
をインストールし、docker run --gpus all
フラグを使用します。 Linuxホストではなく、Docker 19.03を使用して、Windowsホストで GPUアクセラレーションを備えたWindowsコンテナ を実行することもできます。