• 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
    
    • 1
    • 2

    在这里插入图片描述

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

    2.3 安装NVIDIA其他包和依赖项

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

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

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

    sudo systemctl restart docker
    
    • 1

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

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

    三. 启动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
    
    • 1
    • 2
    • 3

    大概需要下载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的则不适用,因此实际使用过程中兼容性可能出现问题。
  • 相关阅读:
    我在Vscode学OpenCV 几何变换(缩放、翻转、仿射变换、透视、重映射)
    第09章 MyBatisPlus实现查询功能
    强大的PubMed插件Scholarscope
    [java刷算法]牛客—剑指offer动态规划,位移比较,负乘方转换
    如何让职工为智能制造变革做好准备
    QT基础 - 文件目录操作
    Jenkins(5)容器化部署 及 Jenkins集群配置
    【Linux】—一文掌握Linux基本命令(上)
    编码体系与规范
    每日一题——LeetCode1544.整理字符串
  • 原文地址:https://blog.csdn.net/m0_46339652/article/details/126701041