安裝NVIDIA驅(qū)動(dòng)
在NVIDIA下載對(duì)應(yīng)的驅(qū)動(dòng)安裝文件
-
安裝依賴環(huán)境
yum install -y pciutils gcc gcc-c++ kernel-devel yum update -y kernel
-
屏蔽系統(tǒng)自帶的nouveau
# 查看命令: lsmod | grep nouveau # 修改dist-blacklist.conf文件: vi /lib/modprobe.d/dist-blacklist.conf # 將nvidiafb注釋掉: #blacklist nvidiafb # 然后添加以下語(yǔ)句: blacklist nouveau options nouveau modeset=0 dracut --force
-
重建initramfs image步驟
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak dracut /boot/initramfs-$(uname -r).img $(uname -r)
-
修改運(yùn)行級(jí)別為文本模式
systemctl set-default multi-user.target
-
重新啟動(dòng)
reboot lsmod | grep nouveau # 檢查上面的命令有沒有結(jié)果芍秆,如果還有結(jié)果 dracut --force
-
運(yùn)行安裝文件
chmod +x NVIDIA-Linux-x86_64-410.129-diagnostic.run ./NVIDIA-Linux-x86_64-410.129-diagnostic.run nvidia-smi
安裝NVIDIA Docker
-
安裝Docker
yum install -y wget cd /etc/yum.repos.d/ wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install -y docker-ce systemctl start docker systemctl enable docker vi /etc/docker/daemon.json { "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"] } systemctl restart docker docker verison docker info
-
安裝Nvidia-Docker
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 yum clean expire-cache yum install -y nvidia-docker2 systemctl restart docker # 啟動(dòng)啟用GPU的CUDA容器爷速;使用--gpus docker run --rm --gpus all nvidia/cuda:10.0-base nvidia-smi docker run --rm --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=all nvidia/cuda:10.0-base nvidia-smi # 在兩個(gè)GPU上啟動(dòng)啟用GPU的容器 docker run --rm --gpus 2 nvidia/cuda:10.0-base nvidia-smi # 在特定GPU上啟動(dòng)啟用GPU的容器 docker run --rm --gpus '"device=0"' nvidia/cuda:10.0-base nvidia-smi docker run --rm --gpus '"device=0,1"' nvidia/cuda:10.0-base nvidia-smi docker run --rm --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=0,1 nvidia/cuda:10.0-base nvidia-smi
-
Dockerfiles
可以通過環(huán)境變量在圖像中設(shè)置功能和GPU枚舉斩芭。如果環(huán)境變量是在Dockerfile中設(shè)置的,則無(wú)需在命令行上進(jìn)行設(shè)置祟身。
docker run
例如,如果要?jiǎng)?chuàng)建自己的自定義CUDA容器,則應(yīng)使用以下內(nèi)容:
ENV NVIDIA_VISIBLE_DEVICES all ENV NVIDIA_DRIVER_CAPABILITIES compute,utility
這些環(huán)境變量已在NVIDIA提供的CUDA映像中設(shè)置。