当前位置: 首页 > news >正文

NVIDIA Container Toolkit 安装与配置帮助文档(Ubuntu,Docker)

NVIDIA Container Toolkit 安装与配置帮助文档(Ubuntu,Docker)

本文档详细介绍了在 Ubuntu Server 22.04 上使用 Docker 安装和配置 NVIDIA Container Toolkit 的过程。

概述

NVIDIA 容器工具包使用户能够构建和运行 GPU 加速容器。即可以在容器中使用NVIDIA显卡。
架构图如下:
在这里插入图片描述


目录

  1. 前提条件
  2. 安装 NVIDIA Container Toolkit
  3. 配置 Docker 以使用 NVIDIA 容器运行时
  4. 验证配置

前提条件

  1. 安装了容器引擎(Docker)。
  2. 安装了 NVIDIA Container Toolkit。

安装 NVIDIA Container Toolkit

  1. 配置生产存储库:
    curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpgcurl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.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

作用:从 NVIDIA 官方网站下载 GPG 密钥并将其转换为适合 APT 使用的格式,然后下载 NVIDIA 容器工具包的 APT 源列表,并将其配置为使用之前下载的 GPG 密钥进行签名验证。

  1. (可选)配置存储库以使用实验性软件包:
    sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

作用:启用实验性软件包源。这条命令将源列表文件中关于实验性软件包的行前面的注释符号(#)去掉,从而启用该源。

  1. 从存储库更新软件包列表:
    sudo apt-get update

作用:更新 APT 包管理器的包列表,使其包含新添加的 NVIDIA 容器工具包源中的软件包。

  1. 安装 NVIDIA Container Toolkit 软件包:
    sudo apt-get install -y nvidia-container-toolkit

作用:安装 NVIDIA 容器工具包。

配置 Docker 以使用 NVIDIA 容器运行时

  1. 配置容器运行时:
    sudo nvidia-ctk runtime configure --runtime=docker

作用:使用 nvidia-ctk 命令配置 Docker 以使用 NVIDIA 容器运行时。这条命令会修改 /etc/docker/daemon.json 文件。

  • 执行命令后的返回结果:
      WARN[0000] Ignoring runtime-config-override flag for docker INFO[0000] Config file does not exist; using empty config INFO[0000] Wrote updated config to $HOME/.config/docker/daemon.json INFO[0000] It is recommended that docker daemon be restarted.

解释
- WARN[0000] Ignoring runtime-config-override flag for docker:忽略 runtime-config-override 标志。
- INFO[0000] Config file does not exist; using empty config:配置文件不存在,使用空配置。
- INFO[0000] Wrote updated config to $HOME/.config/docker/daemon.json:已将更新后的配置写入到指定文件。
- INFO[0000] It is recommended that docker daemon be restarted:建议重启 Docker 守护进程。

  1. 重新启动 Docker 守护进程:
    sudo systemctl restart docker

作用:重新启动 Docker 守护进程,以使配置更改生效。

验证配置

运行以下命令以验证 Docker 是否正确配置 NVIDIA 容器运行时:

sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

输出

Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
d19f32bd9e41: Pull complete 
Digest: sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e
Status: Downloaded newer image for ubuntu:latest
Thu Jul 18 13:40:28 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01             Driver Version: 535.183.01   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3090        Off | XXXXXXXX:XX:XX.X Off |                  N/A |
| 34%   25C    P8              19W / 350W |      1MiB / 24576MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce RTX 3090        Off | XXXXXXXX:XX:XX.X Off |                  N/A |
| 32%   25C    P8               7W / 350W |      1MiB / 24576MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------++---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+

图示说明:该输出结果显示了 GPU 的详细信息,包括型号、温度、功率使用情况和内存使用情况等。这表明 Docker 容器成功地访问到了 NVIDIA GPU,并且 NVIDIA Container Toolkit 安装和配置成功。


通过以上步骤,你可以成功安装和配置 NVIDIA Container Toolkit,并能够在 Docker 容器中运行 GPU 加速的应用程序。如果在执行过程中遇到任何问题,请随时联系以获得进一步帮助。

http://www.lryc.cn/news/404318.html

相关文章:

  • JavaWeb day01-HTML入门
  • 驱动框架——CMSIS第一部分 RTE驱动框架介绍
  • Debezium日常分享系列之:Debezium2.7版本PostgreSQL数据库连接器
  • 保障信息系统安全保护等级调整期间的安全性
  • 实战:shell编程之全量命令练习
  • 在 CentOS 7 上编译安装 Python 3.11
  • Qt 4.8.7 + MSVC 中文乱码问题深入分析
  • IDEA的常见代码模板的使用
  • arcgis怎么选取某个指定区域地方的数据,比如从全国乡镇数据选取长沙市乡镇数据
  • 二、链表(1)
  • KAFKA搭建教程
  • Linux网络——套接字与UdpServer
  • SpringBoot源码深度解析
  • 【Qt】常用控件
  • electron 主进程和渲染进程通信
  • 【ARM】MDK-解决CMSIS_DAP.DLL missing报错
  • CSS 的环境变量函数env()
  • 数学建模--国赛备赛---TOPSIS算法
  • 均值滤波算法及实现
  • 【Apache Doris】周FAQ集锦:第 16 期
  • 单例模式_Golang
  • 代码随想录 day 18 二叉树
  • 降雨量预测 | Matlab基于ARIMA-RBF降雨量预测
  • 包含示例和模板的流程文档指南
  • 51单片机嵌入式开发:15、STC89C52RC操作蜂鸣器实现一个music音乐播放器的音乐盒
  • B树(B-Tree)数据结构
  • 【BUG】已解决:ModuleNotFoundError: No module named ‘torch‘
  • 数据结构——队列(链式结构)
  • 解决GoLand添加GOROOT提示The selected directory is not a valid home for Go Sdk的问题
  • 51单片机(STC8H8K64U/STC8051U34K64)_RA8889驱动TFT大屏_I2C_HW参考代码(v1.3) 硬件I2C方式