安装 NVSwitch GPU 服务器的 cuda 驱动版本、nvidia-docker 指南

news2024/10/5 13:35:51

一,安装 Cuda 驱动

可参考笔者之前写过的文章: 升级 GPU 服务器 cuda 驱动版本指南

如果出现如下报错,则需安装 gcc、kernel-devel,请参考下面第二步安装 gcc、kernel-devel。
在这里插入图片描述

二,安装 gcc、kernel-devel

1, 安装 gcc 和 kernel-devel

若直接执行如下命令安装,如果默认版本不一致,则会遇到如下图报错:

yum -y install gcc kernel-devel
./NVIDIA-Linux-x86_64-515.86.01.run

在这里插入图片描述

2, 报错原因

使用如下命令查看内核版本是否一致

uname -r
rpm -q kernel-devel

正常结果应该是如下图所示,内核版一致,若不一致则通过下一步解决此问题。
在这里插入图片描述

3, 解决内核版本不一致问题

卸载 kernel-devel,执行如下命令:

yum remove kernel-devel
4, 安装版本匹配的 kernel-devel
1)查看内核版本号
uname -a

红框圈出来的则是内核版本号:
在这里插入图片描述
kernel-devel-3.10.0-1160.el7.x86_64.rpm

2)下载版本匹配的 kernel-devel

kernel-devel 下载地址: https://ftp.sjtu.edu.cn/sites/ftp.scientificlinux.org/linux/scientific/7.9/x86_64/os/Packages/
找到与内核版本号对应的 kernel-devel 版本: kernel-devel-3.10.0-1160.el7.x86_64.rpm

# 在终端 使用 wget 下载 kernel-devel 
wget https://ftp.sjtu.edu.cn/sites/ftp.scientificlinux.org/linux/scientific/7.9/x86_64/os/Packages/kernel-devel-3.10.0-1160.el7.x86_64.rpm
2)安装 kernel-devel
rpm -ivh kernel-devel-3.10.0-1160.el7.x86_64.rpm
3)查看是否成功安装内核开发环境包 kernel-devel
uname -a ; rpm -qa kernel\* | sort

若成功安装,如下图所示:
在这里插入图片描述

三,gcc和g++

yum install gcc
yum install gcc-c++

四,安装 Cuda 驱动

./NVIDIA-Linux-x86_64-515.86.01.run

五,安装 NVIDIA-Fabric Manager 软件包

NVIDIA NVSwitch A100 GPU卡,需额外安装与驱动版本对应的 nvidia-fabricmanager 服务使 GPU 卡间能够互联通过NVSwitch互联如果仅安装NVIDIA GPU 驱动程序,会导致GPU不能正常使用。

1, 安装 nvidia-fabricmanager 详解

安装 nvidia-fabricmanager 详解如下: https://www.volcengine.com/docs/6419/73634

GPU云服务器 -> 用户指南 -> 安装 NVIDIA 驱动 -> 安装NVIDIA-Fabric Manager软件包

2, 整理 nvidia-fabricmanager 安装步骤
1) 查看系统驱动版本
nvidia-smi

在这里插入图片描述

2) 通过安装包安装
  • CentOS 8.x
wget https://developer.download.nvidia.cn/compute/cuda/repos/rhel8/x86_64/nvidia-fabric-manager-470.57.02-1.x86_64.rpm
rpm -ivh nvidia-fabric-manager-470.57.02-1.x86_64.rpm
  • CentOS 7.x
wget https://developer.download.nvidia.cn/compute/cuda/repos/rhel7/x86_64/nvidia-fabric-manager-470.57.02-1.x86_64.rpm
rpm -ivh nvidia-fabric-manager-470.57.02-1.x86_64.rpm
  • Ubuntu 20.04
wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64/nvidia-fabricmanager-470_470.57.02-1_amd64.deb
dpkg -i nvidia-fabricmanager-470_470.57.02-1_amd64.deb
  • Ubuntu 18.04
wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu1804/x86_64/nvidia-fabricmanager-470_470.57.02-1_amd64.deb
dpkg -i nvidia-fabricmanager-470_470.57.02-1_amd64.deb
  • Debain 10、veLinux 1.0
wget https://developer.download.nvidia.cn/compute/cuda/repos/debian10/x86_64/nvidia-fabricmanager-470_470.57.02-1_amd64.deb
dpkg -i nvidia-fabricmanager-470_470.57.02-1_amd64.deb
3) 通过源安装
  • CentOS 8.x
dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
dnf module enable -y nvidia-driver:470
dnf install -y nvidia-fabric-manager-0:470.57.02-1
  • CentOS 7.x
yum -y install yum-utils 
yum-config-manager --add-repo https://developer.download.nvidia.cn/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
yum install -y nvidia-fabric-manager-470.57.02-1
  • Ubuntu 20.04
wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
apt-key add 7fa2af80.pub
rm 7fa2af80.pub
echo "deb http://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64 /" | tee /etc/apt/sources.list.d/cuda.list
apt-get update
apt-get -y install nvidia-fabricmanager-470=470.57.02-1
  • Ubuntu 18.04
wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
apt-key add 7fa2af80.pub
rm 7fa2af80.pub
echo "deb http://developer.download.nvidia.cn/compute/cuda/repos/ubuntu1804/x86_64 /" | tee /etc/apt/sources.list.d/cuda.list
apt-get update
apt-get -y install nvidia-fabricmanager-470=470.57.02-1
4) 启动NVIDIA-Fabric Manager
# 1. 执行以下命令启动Fabric Manager服务。
sudo systemctl start nvidia-fabricmanager

# 2. 执行以下命令查看Fabric Manager服务是否正常启动,回显active(running)表示启动成功。
sudo systemctl status nvidia-fabricmanager

# 3. 执行以下命令配置Fabric Manager服务随实例开机自启动。
sudo systemctl enable nvidia-fabricmanager

六,安装 nvidia-docker

1, 安装 nvidia-docker 详解

安装 nvidia-docker 详解 : https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker

2, 总结安装 nvidia-docker
1) 安装在 Ubuntu and Debian

以下步骤可用于在 Ubuntu LTS(18.04、20.04 和 22.04)和 Debian(Stretch、Buster)发行版上设置
NVIDIA Container Toolkit。

  • 设置 Docker-CE
curl https://get.docker.com | sh && sudo systemctl --now enable 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

要访问experimental功能和发布候选版本,您可能需要将experimental分支添加到存储库列表中:

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/experimental/$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
  • 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.6.2-base-ubuntu20.04 nvidia-smi
  • 这应该会产生如下所示的控制台输出:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.06    Driver Version: 450.51.06    CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| 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  Tesla T4            On   | 00000000:00:1E.0 Off |                    0 |
| N/A   34C    P8     9W /  70W |      0MiB / 15109MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
2) 安装在 CentOS 7/8

以下步骤可用于在 CentOS 7/8 上设置 NVIDIA Container Toolkit。

  • 设置官方 Docker CE 存储库:

    • CentOS 8.x
    sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
    
    • CentOS 7.x
    sudo yum-config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
    
  • 现在您可以观察docker-ce存储库中可用的包:

    • CentOS 8.x
    sudo dnf repolist -v
    
    • CentOS 7.x
    sudo yum repolist -v
    

由于 CentOS 不支持containerd.io较新版本的 Docker-CE
所需的特定版本的软件包,因此一种选择是手动安装软件包containerd.io,然后继续安装docker-ce 软件包。

  • 安装containerd.io包:

    • CentOS 8.x
    sudo dnf install -y https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.4.3-3.1.el7.x86_64.rpm
    
    • CentOS 7.x
    sudo yum install -y https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.4.3-3.1.el7.x86_64.rpm
    
  • 现在安装最新的docker-ce软件包:

    • CentOS 8.x
    sudo dnf install docker-ce -y
    
    • CentOS 7.x
    sudo yum install docker-ce -y
    
  • 使用以下命令确保 Docker 服务正在运行:

    sudo systemctl --now enable docker
    
  • 最后,通过运行hello-world容器来测试你的 Docker 安装:

    sudo docker run --rm hello-world
    
  • 这应该会产生如下所示的控制台输出:

    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    0e03bdcc26d7: Pull complete
    Digest: sha256:7f0a9f93b4aa3022c3a4c147a449bf11e0941a1fd0bf4a8e6c9408b2600777c5
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
    1. The Docker client contacted the Docker daemon.
    2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
       (amd64)
    3. The Docker daemon created a new container from that image which runs the
       executable that produces the output you are currently reading.
    4. The Docker daemon streamed that output to the Docker client, which sent it
       to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
    docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
    https://hub.docker.com/
    
    For more examples and ideas, visit:
    https://docs.docker.com/get-started/
    
  • 设置存储库和 GPG 密钥:

    distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
       && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
    
  • 要访问experimental功能和发布候选版本,您可能需要将experimental分支添加到存储库列表中:

    yum-config-manager --enable libnvidia-container-experimental
    
  • nvidia-docker2更新包列表后安装包(和依赖项):

    • CentOS 8.x
    sudo dnf clean expire-cache --refresh
    
    • CentOS 7.x
    sudo yum clean expire-cache
    
    • CentOS 8.x
    sudo dnf install -y nvidia-docker2
    
    • CentOS 7.x
    sudo yum install -y nvidia-docker2
    
  • 设置默认运行时后重启Docker守护进程完成安装:

    sudo systemctl restart docker
    
  • 此时,可以通过运行基本 CUDA 容器来测试工作设置:

    sudo docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
    
  • 这应该会产生如下所示的控制台输出:

    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 450.51.06    Driver Version: 450.51.06    CUDA Version: 11.0     |
    |-------------------------------+----------------------+----------------------+
    | 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  Tesla T4            On   | 00000000:00:1E.0 Off |                    0 |
    | N/A   34C    P8     9W /  70W |      0MiB / 15109MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/83440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于狮群算法优化的lssvm回归预测-附代码

基于狮群算法优化的lssvm回归预测 - 附代码 文章目录基于狮群算法优化的lssvm回归预测 - 附代码1.数据集2.lssvm模型3.基于狮群算法优化的LSSVM4.测试结果5.Matlab代码摘要:为了提高最小二乘支持向量机(lssvm)的回归预测准确率,对…

[附源码]计算机毕业设计高校车辆管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis MavenVue等等组成,B/S模式…

地表最强:免费文字转语音工具

0、前言 我们在刷短视频的时候,经常会听到一些AI合成声音,它们有各种音色、语调,甚至不同的情绪,听起来与人声无异,其实这些大都是利用微软Azure的文字转语音技术来实现的。 虽然国内也有很多配音工具,但…

【优化算法】粒子群优化算法

粒子群优化算法粒子群优化算法简介粒子群优化算法原理粒子群优化算法的数学描述粒子群优化算法框架PySwarms:Python中粒子群优化的研究工具包PySwarms快速使用示例:编写自己的优化循环相关资料粒子群优化算法简介 粒子群优化算法(Particle Swarm Optimi…

如何安然度过行业大萧条,听听10年测试老鸟的分析

国内的互联网行业发展较快,所以造成了技术研发类员工工作强度比较大,同时技术的快速更新又需要员工不断的学习新的技术。因此淘汰率也比较高,超过35岁的基层研发类员工,往往因为家庭原因、身体原因,比较难以跟得上工作…

Huawei Compute Architecture for Neural Networks - CANN

Huawei Compute Architecture for Neural Networks - CANN1. Technical support (技术支持) https://support.huawei.com/enterprise/en/index.html https://support.huawei.com/enterprise/zh/index.html Server - Intelligent Computing -> Ascend Computing (昇腾计算)…

ChatGPT简介与Q群机器人部署教程

最近OpenAi推出的ChatGPT火出NLP圈子,看到不少人说强人工智能已经出现,于是赶紧来体验感受一下。 ChatGPT简介 ChatGPT是一个基于GPT-3(通用语言模型)的聊天机器人。它的目的是能够通过自然语言交流与用户进行对话。它能够理解用…

Seq2Seq基本原理

Seq2Seq基本原理 encoder & decoder Seq2Seq结构用于多个输入和多个输出的模型,但是输入和输出的大小可能并不一致,其本质上也是RNN网络的一个扩展,常见的应用场景包括:机器翻译、语音识别、文本摘要等。 常见的seq2seq的输…

Linux源码下载

方法一、Git下载源码 1.1、进入Linux官网 通过任意浏览器访问:https://www.kernel.org/,界面如下 1.2、选择版本 点击某一个版本对应的browse,Linux版本分为:mainline(主线版本)、stable(稳定版…

函数之公式求和

【问题描述】 编写一个按以下公式求和的函数, 其中 a 是一个 2 ~ 8 的数字。 例如,S(3,5)333333333333333。 在主函数中,由键盘输入a和n,输出 S(a-1,n-1)S(a,n)S(a1,n1) 的值。 例如输入:3 5 则输出&#xff1a…

PAI-Diffusion模型来了!阿里云机器学习团队带您徜徉中文艺术海洋

作者:汪诚愚、段忠杰、朱祥茹、黄俊 导读 近年来,随着海量多模态数据在互联网的爆炸性增长和训练深度学习大模型的算力大幅提升,AI生成内容(AI Generated Content,AIGC)的应用呈现出爆发性增长趋势。其中…

算法竞赛入门【码蹄集进阶塔335题】(MT2251-2270)

算法竞赛入门【码蹄集进阶塔335题】(MT2251-2270) 文章目录算法竞赛入门【码蹄集进阶塔335题】(MT2251-2270)前言为什么突然想学算法了?为什么选择码蹄集作为刷题软件?目录1. MT2251 讲价2. MT2252 复数类13. MT2253 复数类24. MT…

CF GLR24-C. Doremy‘s City Construction

CF原题链接 题目大意&#xff1a;n个结点&#xff0c;每个结点有一个正数值。现在让你在n个点间进行边的连接&#xff0c;唯一限制条件是不能出现这种情况&#xff1a;如3个点A,B,C&#xff0c;且A<B<C&#xff0c;那么不能同时出现边&#xff08;A&#xff0c;B&#xf…

冯诺依曼体系和操作系统概念

Ⅰ. 冯诺依曼体系结构 我们常见的计算机&#xff0c;如笔记本。我们不常见的计算机&#xff0c;如服务器&#xff0c;大部分都遵守冯诺依曼体系。 截至目前&#xff0c;我们所认识的计算机&#xff0c;都是有一个个的硬件组件组成 输入单元&#xff1a;包括键盘, 鼠标&#xf…

太详细了,在 Windows 上安装 PySpark 保姆级教程

在本文中&#xff0c;我将和大家一起学习如何在 Windows 上安装和运行 PySpark&#xff0c;以及如何使用 Web UI 启动历史服务器和监控 Jobs。 安装 Python 或 Anaconda 发行版 https://www.python.org/downloads/windows/ 从 Python.org 或 Anaconda 发行版 下载并安装 Pyth…

在win10和docker下安装DVWA

win10安装 DVWA下载地址https://github.com/digininja/DvWA/archive/master.zip 在phpstudy软件包下的www文件夹中新建一个文件夹名为dvwa&#xff0c;把DVWA-master压缩包解压进去 删除/dvwa/config文件夹下的config.inc.php.dist文件的.dist后缀 打开config.inc.php&#x…

接口测试(四)—— Requests库发送请求、Cookie、Session、UnitTest管理测试用例

目录 一、Requests库 1、Requests库安装和简介 1.1 简介 1.2 安装 1.3 查验 2、设置http请求语法 2.1 案例1 2.2 案例2 2.3 案例3 2.4 案例4 2.5 案例5 3、Cookie 3.1 Cookie简介 3.2 CookieSession认证方式 3.3 案例 4、Session 4.1 Session简介 4.2 Sessi…

Flask从入门到放弃二(请求与相应、Session的使用与源码分析、Flash闪现、异步说明、请求拓展、BluePrint蓝图)

文章目录一、请求与响应1&#xff09;请求对象2&#xff09;响应对象3&#xff09;前后端分离和混合二、Session的使用和原理1&#xff09;Session的使用2&#xff09;Session源码分析三、Flash闪现四、异步说明五、请求扩展六、BluePrint蓝图一、请求与响应 1&#xff09;请求…

中国移动ZN-M160G光猫超级密码破解 | 河南移动兆能光猫超管密码获取 | 中国移动光猫如何开启UPnP功能

文章目录1. 按2. 重设光猫超管密码3. 开启UPnP功能1. 按 首先应确保设备型号是ZN-M160G&#xff0c;这点可以通过观察光猫底部的铭牌或者访问http://192.168.1.1/查看网页标题&#xff0c;因为本教程是基于兆能的这款ZN-M160G光猫进行操作的&#xff0c;其他的光猫&#xff08…

微信小程序框架(四)-全面详解(学习总结---从入门到深化)

目录 路由_navigateTo 页面跳转 携带参数 返回上一级页面 路由_redirectTo 页面跳转 路由_reLaunch 页面跳转 路由_switchTab 实现 tabbar 页面跳转 交互_消息提示框 基本弹出框 常用属性 icon详情 hideToast 交互_ loading 提示框 基本实现 常用属性 交互_模…