Docker安装镜像调用本地GPU
环境:CentOS7
基本概念
NVIDIA Container Toolkit允许用户构建和运行GPU加速容器。 该工具包包括容器运行库和实用程序,用于自动配置容器以利用NVIDIA GPU。
容器化GPU应用程序提供了许多好处,其中包括:
- 易于部署
- 隔离单个设备
- 跨异构驱动程序/工具包环境运行
- 只需要在主机上安装NVIDIA驱动程序
- 促进协作:可复制的构建,可复制的性能,可复制的结果。
前置要求
1、驱动安装
确保系统已安装好NVIDIA Driver,可从此处下载 .run 安装包。
2、Docker版本
Docker >= 19.03
Docker安装
安装步骤略,见此处
输入以下命令
sudo docker run --rm hello-world
查看是否安装成功
设置NVIDIA Container Toolkit
设置稳定的存储库和GPG密钥,官方教程:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
sudo yum clean expire-cache
sudo yum install -y nvidia-docker2
# 重启Docker完成安装
sudo systemctl restart docker
# 检验
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
出现以下信息说明成功
安装可使用GPU的TensorFlow镜像
下载TensorFlow官方镜像
docker pull tensorflow/tensorflow:latest-gpu
进入镜像
docker run -it -p 80:8888 --gpus all tensorflow/tensorflow:latest-gpu
进入ipython,打印GPU信息
import tensorflow as tf
print(tf.test.gpu_device_name())
或
from tensorflow.python.client import device_lib
local_device_protos = device_lib.list_local_devices()
print([x.name for x in local_device_protos if x.device_type == 'GPU'])
参考: