Ubuntu20.04+1080Ti通过docker进行NVIDIA GPU环境搭建

一. 先决条件

在开始之前,请确保您已经为您的 Linux 发行版安装了 NVIDIA 驱动程序。
同时要满足:
1.内核版本 > 3.10 的 GNU/Linux x86_64。

2.Docker >= 19.03(推荐,但某些发行版可能包含旧版本的 Docker。支持的最低版本为 1.12)。

3.架构 >= Kepler(或计算能力 3.0)的 NVIDIA GPU(即9系显卡及以上)。

4.NVIDIA Linux 驱动程序>= 418.81.07(请注意,不支持较旧的驱动程序版本或分支。)。

二. 安装docker

2.1 安装并使能docker

curl https://get.docker.com | sh \
  && sudo systemctl --now enable docker

在这里插入图片描述

2.2 设置NVIDIA-docker库和GPG密钥

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
            sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

不报错即为成功:
在这里插入图片描述

2.3 安装NVIDIA其他包和依赖项

更新包列表后安装nvidia-docker2包(和依赖项):

sudo apt-get update
sudo apt-get install -y nvidia-docker2

设置默认运行时后重启 Docker 守护进程完成安装:

sudo systemctl restart docker

通过运行基本 CUDA 容器来测试工作设置:

sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi

三. 启动docker的pytorch镜像

sudo docker run --gpus all -it --rm -p 8888:8888 -v ~:/workspace \
	--ipc=host --ulimit memlock=-1 --ulimit stack=67108864 \
	nvcr.io/nvidia/pytorch:22.07-py3

大概需要下载6个G的包,下载完后会自动进入docker的环境中:
在这里插入图片描述

四. 总结

  1. docker也是相当于全家桶式的安装,一次大概6个GB的包比较占空间,定制化程度较弱。
  2. docker修改pytorch环境和版本需要重新下载镜像,非常不方便。
  3. docker本身对于从零开始的环境配置非常快捷,不需要自行安装NVIDIA驱动和CUDA。
  4. docker在长时运行后可能驱动会出问题,且需要备份docker。
  5. docker会带来一些指令级的额外开销。
  6. docker适合特别关注底层的性能和开发的群体。
  7. 如果是关心算法做开发,最好使用NVIDIA驱动+conda命令安装pytorch+CUDA的方式。这种方法的坏处也是磁盘占用率较高,且仅仅安装了CUDA运行环境,但cuda编译器并没有安装,有些包的kernel需要实时编译且依赖nvcc的则不适用,因此实际使用过程中兼容性可能出现问题。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值