安裝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