您的位置 首页 gpu

ubuntu 使用 GPU 加速(将主机的 NVIDIA GPU 映射到容器中)-container-toolkit

container-toolkit

NVIDIA Container Toolkit 介绍及安装-CSDN博客

NVIDIA Container Toolkit 是 NVIDIA 提供的一组工具,用于在容器化环境中支持 GPU 加速,特别是通过 Docker 或其他容器运行时,运行基于 NVIDIA GPU 的工作负载(如深度学习、科学计算等)

 

 

安装 NVIDIA Container Toolkit

1. 前提条件

NVIDIA 驱动程序:确保主机已安装支持的 NVIDIA 驱动程序。

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=24.04&target_type=deb_local

根据自己的系统选择:

按照 网站提示的安装就可以。

 

Docker:安装 Docker,版本需为 19.03 或更高。

2. 设置 NVIDIA 容器仓库

根据操作系统配置仓库:

sudo curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg


echo "deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/stable/deb/amd64 /" | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

sudo apt-get update

 

3. 安装 NVIDIA Container Toolkit
Ubuntu:

apt-get install -y nvidia-container-toolkit

nvidia-container-toolkit nvidia-container-runtime

验证:

nvidia-container-cli --version

 

4. 配置 Docker
在 /etc/docker/daemon.json 文件中添加以下内容:


  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  }

然后重启 Docker 服务:

systemctl restart docker

5-驱动

sudo apt install nvidia-driver-550

测试 NVIDIA GPU 支持

运行以下命令检查容器中 GPU 的可用性

docker run --rm --gpus all nvcr.io/nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi

 

报错:

docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0: error running hook: exit status 1, stdout: , stderr: Auto-detected mode as 'legacy'
nvidia-container-cli: initialization error: nvml error: driver not loaded: unknown.

 

分割线

 

NVIDIA Container Toolkit-核心功能

  1. GPU 加速支持:
    • 将主机的 NVIDIA GPU 映射到容器中,使得容器能够直接访问 GPU 资源。
  2. 轻松管理 CUDA 环境:
    • 自动加载必要的 NVIDIA 驱动程序、CUDA 库和运行时,简化环境配置。
  3. 与容器平台集成:
    • 支持 Docker 和其他容器运行时(如 containerd)。
  4. 灵活的 GPU 分配:
    • 允许用户指定容器可以访问的 GPU 数量或特定 GPU。

 

 

NVIDIA Container Toolkit-组件结构

NVIDIA Container Runtime:

Docker 运行时的扩展,用于在容器中加载 GPU 相关组件。

NVIDIA Container CLI:

提供了命令行工具 nvidia-container-cli,可以用于调试和管理 GPU 映射。

支持的库和工具:

自动为容器挂载 libcuda.so 和其他相关库,使其支持 GPU 加速。

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章