V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
paidaxtis

NVIDIA 容器相关开发环境疑问

  •  
  •   paidaxtis · Jul 17, 2023 · 2022 views
    This topic created in 1017 days ago, the information mentioned may be changed or developed.
    • NVIDIA Container Toolkit for Docker
    • NVIDIA Docker
    • NVIDIA Container runtime

    三者有区别吗?

    具体来说:我平时安装的是第一个 NVIDIA Container Toolkit for Docker 。目的是在容器内能够使用宿主机的 GPU 。安装完成后可以:

    1. 使用--gpus all 等参数启动容器
    2. 在容器内 nvidia-smi 查看显卡,即可以调用显卡

    现在的问题就是上面三者的安装过程都不相同,被搞晕了不知道有什么区别

    9 replies    2023-07-18 23:22:08 +08:00
    isno
        1
    isno  
       Jul 17, 2023
    我从名字里面猜,不一定对,你参考一下。
    1. NVIDIA Container Toolkit 应该是为 Docker 开发的 GPU 驱动,Docker 配合这个才能使用 GPU
    2. NVIDIA Docker 貌似是 NVIDIA 扩展后 Docker 版本。安装它可以直接使用 GPU
    3. Container runtime 猜测是添加了 GPU 硬件支持的运行时实现。可以让上层的容器引擎( docker )或者容器编排系统( k8s )使用
    paidaxtis
        2
    paidaxtis  
    OP
       Jul 17, 2023 via Android
    @isno 谢谢,问了 GPT 只是说是版本不同。有空闲机子我重新都装一个试试。

    只不过自己安装以后试用只能摸到表面的不同,不知道有没有懂的指点一下细节。
    isno
        3
    isno  
       Jul 17, 2023
    https://www.thebyte.com.cn/container/summary.html 你可以看看看我写的内容
    YsHaNg
        4
    YsHaNg  
       Jul 17, 2023
    3 包括驱动和 1 host 或者自己装驱动 cuda 等就不需要 我是 wsl 里用 特别注意只要装 Windows 驱动 wsl 里装 NVIDIA Container Toolkit for Docker only 2 是 docker image
    paidaxtis
        5
    paidaxtis  
    OP
       Jul 18, 2023
    @isno 谢谢,不过你的内容似乎并没涉及到容器的 GPU 相关内容
    paidaxtis
        6
    paidaxtis  
    OP
       Jul 18, 2023
    @YsHaNg 所以应该是:

    1. NVIDIA Container Toolkit for Docker 是带驱动完整的让容器使用 GPU 的环境。
    2. NVIDIA Container runtime 是分布式的 NVIDIA Container Toolkit for Docker ,装上以后将 NVIDIA Container Toolkit for Docker 作为 host 。
    3. NVIDIA Docker 仅仅是一个镜像,分不同的 CUDA 和 CUDnn

    这样理解对吗?
    YsHaNg
        7
    YsHaNg  
       Jul 18, 2023
    @paidaxtis 2 和 1 反了
    paidaxtis
        8
    paidaxtis  
    OP
       Jul 18, 2023 via Android
    @YsHaNg 真心感谢

    所以我单台机子要想容器内使用 gpu 只需要 runtime 就可以了吗?
    YsHaNg
        9
    YsHaNg  
       Jul 18, 2023
    @paidaxtis 然而现在需要装 nvidia-container-toolkit😂 前提是 docker 够新 k8s+旧版 docker 还要用旧的 nvidia container runtime 它是个 runc 的重写复制品 nv 把 code base 挪到 https://gitlab.com/nvidia/container-toolkit/container-toolkit/-/tree/main/cmd/nvidia-container-runtime 了 总之现在需要的是安装驱动 安装 nvidia-container-toolkit 启动 nvidia/cuda image 配置的话我用 wsl2 只需要启动参数加--gpus
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2667 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 15:53 · PVG 23:53 · LAX 08:53 · JFK 11:53
    ♥ Do have faith in what you're doing.