我有一个在映像构建阶段执行单元测试的GPU应用程序。使用Docker19.03,可以使用docker run --gpus all指定nvidia运行时,但我还需要访问docker build的gpus,因为我要做单元测试。我如何才能实现这个目标?
对于使用nvidia-docker2的docker的旧版本,无法在构建阶段指定运行时,但您可以将默认运行时设置为nvidia,docker build以这种方式工作。我可以在不再需要nvidia-docker的Docker 19.03中做到这一点吗?如果是这样的话,是怎么做的?
发布于 2020-05-12 03:06:53
你需要像docs中解释的那样使用nvidia-container-runtime:“这也是在docker构建过程中访问GPU的唯一方法”。
Ubuntu的步骤:
容器安装nvidia-
sudo apt-get install nvidia-container-runtime
{
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
},
"default-runtime": "nvidia"
}sudo systemctl restart docker
docker build -t my_image_name:latest .
发布于 2020-02-01 12:00:10
我找到的一个“解决方案”是首先运行一个安装了主机nvidia驱动程序的基础镜像
docker run -it --rm --gpus ubuntu然后在容器中手动构建我的应用程序,并提交生成的映像。这并不理想,最好在构建阶段访问nvidia-smi。
发布于 2020-01-31 13:41:35
您必须为您的Linux分发安装NVIDIA驱动程序和Docker 19.03。请注意,您不需要在主机上安装CUDA工具包,但需要安装驱动程序
随着Docker 19.03的发布,nvidia-docker2包的使用被弃用,因为NVIDIA GPU现在作为Docker运行时中的设备提供本地支持。
如果您使用的是nvidia-docker2包,请查看“Upgrading with nvidia-docker2”中的说明。
对于首次使用Docker 19.03和GPU的用户,请继续阅读下面的入门说明。Usage
# Add the package repositories
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker如需更多信息,请访问:https://github.com/NVIDIA/nvidia-docker。
https://stackoverflow.com/questions/59691207
复制相似问题