安装NVIDIA Container Toolkit,使得容器可以使用GPU,该驱动只能在Linux机器上安装
推荐参考:容器中使用 GPU 的基础环境搭建 - lxkaka 这篇博文条理清楚了写出了容器中使用 GPU 的基础环境搭建的步骤
操作环境
./+o+- ubuntu@netlab-529-GPU1
yyyyy- -yyyyyy+ OS: Ubuntu 18.04 bionic
://+//////-yyyyyyo Kernel: x86_64 Linux 5.4.0-81-generic
.++ .:/++++++/-.+sss/` Uptime: 1d 12h 16m
.:++o: /++++++++/:--:/- Packages: 1655
o:+o+:++.`..```.-/oo+++++/ Shell: bash 4.4.20
.:+o:+o/. `+sssoo+/ Resolution: 1536x864
.++/+:+oo+o:` /sssooo. DE: GNOME
/+++//+:`oo+o /::--:. WM: Not Found
\+/+o+++`o++o ++////. GTK Theme: Adwaita [GTK2/3]
.++.o+++oo+:` /dddhhh. Icon Theme: Adwaita
.+.o+oo:. `oddhhhh+ Font: Cantarell 11
\+.++o+o``-````.:ohdhhhhh+ CPU: 11th Gen Intel Core i7-11700KF @ 16x 4.9GHz [27.8°C]
`:o+++ `ohhhhhhhhyo++os: GPU: NVIDIA GeForce RTX 3080 Ti
.o:`.syhhhhhhh/.oo++o` RAM: 9193MiB / 47934MiB
/osyyyyyyo++ooo+++/
````` +oo+++o\:
`oo++.
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
安装步骤
下载合适的驱动
在本例中所使用的显卡是NVIDIA GeForce RTX 3080 Ti
, 从英伟达官网下载驱动下载完成后, 按照提示安装即可。
还有一种方法,如果使用的的是Ubuntu发行版(16以后),则可以使用命令ubuntu-drivers devices
来查看系统推荐的驱动,命令返回结果如下:
ubuntu@netlab-529-GPU1:/etc/docker$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:02:00.0 ==
modalias : pci:v000010DEd00002208sv000017AAsd0000389Cbc03sc00i00
vendor : NVIDIA Corporation
driver : nvidia-driver-460-server - distro non-free
driver : nvidia-driver-470-server - distro non-free recommended
driver : nvidia-driver-470 - third-party free
driver : nvidia-driver-460 - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
== /sys/devices/pci0000:00/0000:00:14.3 ==
modalias : pci:v00008086d000006F0sv00008086sd00000070bc02sc80i00
vendor : Intel Corporation
manual_install: True
driver : backport-iwlwifi-dkms - distro free
可以看到nvidia-driver-470-server
是系统推荐的驱动。于是可以使用命令sudo apt install nvidia-driver-470-server
进行驱动安装。
安装CUDA
CUDA的下载网址为:CUDA Toolkit Archive | NVIDIA Developer
查询显卡和驱动所支持的CUDA版本,然后选择下载对应的CUDA版本。在本文中使用的是CUDA11.4
安装完成后,添加环境变量:
echo 'export PATH=/usr/local/cuda/bin:$PATH' | sudo tee /etc/profile.d/cuda.sh
source /etc/profile
安装nvidia-docker2
官方仓库地址如下: NVIDIA/nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUs (github.com)
安装步骤网址如下: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
安装完成后,在创建需要使用GPU的 docker 容器时,添加 --gpus all 标志,如:
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi