搭建GPU开发环境需要nvidia-driver、cuda、cudnn等,同时需要anaconda、pytorch等常用软件和框架。需要注意的是安装这些工具时版本要匹配兼容。如果每次新添机器,传统的方式需要在每台机器上把这些工具包和库都安装一遍,极其费劲。利用容器技术docker可以帮我们方便地进行自动化部署。
在执行下文的安装配置之前,请确认机器上已经安装nvidia-driver(可通过命令nvidia-smi查看)、Docker(版本不低于19.03)
安装nvidia-docker
由于普通的docker并不支持gpu环境,因此需要一个nvidia-docker版本。
点这里下载官方的nvidia-docker镜像。
图是官方给出的架构描述。
本文使用的Linux环境是Ubuntu16.04,参照官方的使用方法,执行以下命令
# 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
通过运行已经pull到的镜像,根据需求执行以下命令来实例化各种不同配置的容器。比如通过–gpus参数来指定容器可以使用的gpu(全部gpu、指定数目的gpu、指定设备号的gpu等等)。
#### Test nvidia-smi with the latest official CUDA image
docker run --gpus all nvidia/cuda:10.0-base nvidia-smi
# Start a GPU enabled container on two GPUs
docker run --gpus 2 nvidia/cuda:10.0-base nvidia-smi
# Starting a GPU enabled container on specific GPUs
docker run --gpus '"device=1,2"' nvidia/cuda:10.0-base nvidia-smi
docker run --gpus '"device=UUID-ABCDEF,1"' nvidia/cuda:10.0-base nvidia-smi