H800 Nvlink 基础环境配置(Ubuntu20.04 )

news/2025/2/24 13:17:19/文章来源:https://www.cnblogs.com/dayuchen/p/18717926

Z项目H800 NVL 基础环境配置(Ubuntu20.04 )

操作系统基础安装

配置源

本操作在Ubuntu 20.04下完成, 所有命令都以root身份执行,更新系统安装源为清华源

https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

# source code mirrors are disabled by default to improve update speed
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse# prelease packages source
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

禁用系统自动更新

systemctl stop apt-daily.timer apt-daily.service apt-daily-upgrade.timer apt-daily-upgrade.service
systemctl mask apt-daily.service apt-daily-upgrade.service
systemctl disable apt-daily.service apt-daily-upgrade.service
systemctl disable apt-daily.timer apt-daily-upgrade.timer
systemctl daemon-reload
systemctl mask unattended-upgrades.service
systemctl stop unattended-upgrades.service

安装基础工具包

apt update
apt install -y build-essential bzip2 gcc g++ cmake python3-pip
pip3 install nvitop
apt upgrade

配置CPUPOWER

apt install -y linux-tools-common linux-tools-`uname -r`
apt install -y cpupower
cpupower frequency-set -g performance

禁用nouveau

#创建一个blacklist文件
bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"#在里面添加几行内容禁用nouveau
bash -c "echo blacklist lbm-nouveau >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
bash -c "echo options alias nouveau off >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
bash -c "echo alias lbm-nouveau off >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"bash -c "echo options nouveau modeset=0  > /etc/modprobe.d/nouveau-kms.conf"#更新initramfs, 以保重启后该驱动不会启动
update-initramfs -u#重启
reboot

加NVIDIA安装源

  1. 导入NVIDIA的源,在线安装时使用
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
dpkg -i cuda-keyring_1.0-1_all.deb
add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"#下面的fabric manager和dcgm的安装依赖这一步
#在这里添加的这个地址网页可以直接打开,你可以把所有相关包都下载下来进行离线安装https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64/,ubuntu22.04把url中的2004变成22.04即可

:::
在有些文档里面你也可以看到用这个方法来添加源的,效果是一样的,上面这个更简洁,把KEY和源URL一起处理了。

wget -O /etc/apt/preferences.d/cuda-repository-pin-600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin

下面这个key在每个发行版本的目录里面都查得到文件名

apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub

还有个https://7fa2af80.pub, 这是一个2020年的老key,对于ubuntu 22.04,你要去https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ 下面查一下对应的.pub文件名

add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
:::
:::
如果你想要添加特定的驱动版本,你可以在/etc/apt/source.list.d/cuda-ubuntu2004-x86_64.list

中的URL最后指定版本号,例如:

deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/11.6.0-1 /
:::

安装方法的概述

有两种安装方法“

  1. 配置源然后apt install, 这样对于指定非常小版本的驱动是无效的,比如nvidia driver就指定不了小版本~

  2. 下载deb文件,然后直接装

其实还有第3种方法,是用ubuntu-driver去管理,我们这里不提。

接下来文档的描述我们两种方法都有,按顺序装,先装驱动再装上层应用,本质上讲,Nvidia-driver和Fabric Manager算是驱动, cuda是应用程序。安装cuda的时候,cuda的run包里面会集成驱动, cuda 和nvcc,没有特殊的要求要以一把装起来。

我司的生产环境中,所使用的PyTorch要求cuda版本是12.1。

在生产环境的物理机中,其实只要装Nvidia驱动和Fabric Manager即可,但是为了验证功能,即你装的是不是正确的,所以还是要装一下CUDA和DCGM。

安装NVIDIA Driver

本地安装

下载驱动

535.129.03

地址:https://www.nvidia.com/Download/Find.aspx?lang=en-us

image.png

安装驱动

下载的是个run文件,chmod+x 后直接执行安装

wget https://us.download.nvidia.cn/tesla/535.129.03/NVIDIA-Linux-x86_64-535.129.03.run
chmod +x NVIDIA-Linux-x86_64-535.129.03.run
#wget https://us.download.nvidia.cn/tesla/535.161.08/NVIDIA-Linux-x86_64-535.161.08.run
./NVIDIA-Linux-x86_64-535.129.03.run

:::
要是你一直就想用最新版本的,可以直接使用下面的链接,随时下载的都是当前最新的

下载地址:https://www.nvidia.com/download/index.aspx?lang=en-us
:::

在线安装

#这三步在上面已经做过了,不用再做了
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
dpkg -i cuda-keyring_1.0-1_all.deb
add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"version=535.129.03
main_version=$(echo $version | awk -F '.' '{print $1}')
apt-get update
apt-get -y install nvidia-driver-${main_version}#在线安装ubuntu会推荐你装535.161 ~  ,所以如果你查指定版本,还是用run文件下载的方式进行

FabricManager

本地安装

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/nvidia-fabricmanager-535_535.129.03-1_amd64.deb
dpkg -i nvidia-fabricmanager-535_535.129.03-1_amd64.deb
#这里的版本要和nVidia的版本保持一致,否则会导致服务无法启动

在线安装

#这三步在上面已经做过了,不用再做了
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
dpkg -i cuda-keyring_1.0-1_all.deb
add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"#已经安装的驱动版本
version=535.129.03
main_version=$(echo $version | awk -F '.' '{print $1}')
apt-get update
apt-get -y install nvidia-fabricmanager-${main_version}=${version}-*#确定fabricmanager是自启动的
systemctl enable nvidia-fabricmanager

CUDA

本地安装

用下载RUN文件的方式安装

地址https://developer.nvidia.com/cuda-12-1-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=runfile_local

以12.1为例,选择操作系统版本,runfile后,下方有针对该系统的安装提示。

选deb(local)会有不同的提示,下载deb包再安装的过程。

image.png

wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run
sh cuda_12.1.0_530.30.02_linux.run 
#安装过程不要勾选驱动程序,因为驱动程序在前面已经装过了, cuda的版本会自带一个固定的驱动,如果你无所谓驱动版本,前面驱动的安装步骤也可以不操作,和cuda安装的时候一把装完,然后再装fabric manager

在线安装

cuda安装指定版本似乎没有在线安装的方式, 上面那个官方文档的图里面,如果你选择"deb(network)"的方式去装,装的就是最新的12.4

cuda-samples

git clone https://github.com/NVIDIA/cuda-samples.git
cd cuda-samples
make -j 100   #这里视有多少CPU核心计, 中间如果有缺失的库要补一下

DCGM

NVIDIA数据中心GPU管理器(DCGM)是一套用于在集群环境中管理和监控NVIDIA数据中心GPU的工具。它包括主动运行状况监测、全面诊断、系统警报和治理策略,包括电源和时钟管理。它可以由基础设施团队独立使用,并可以轻松集成到NVIDIA合作伙伴的集群管理工具、资源调度和监控产品中。

DCGM简化了数据中心的GPU管理,提高了资源可靠性和正常运行时间,自动化了管理任务,并有助于提高整体基础设施的效率。DCGM支持x86_64、Arm和POWER(ppc64le)平台上的Linux操作系统。安装程序包包括库、二进制文件、NVIDIA验证套件(NVVS)和用于使用API的源代码示例(C、Python和Go)。

DCGM还使用DCGM Exporter集成到Kubernetes生态系统中,以在容器化环境中提供丰富的GPU遥测。

本地安装

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/datacenter-gpu-manager_3.3.5_amd64.deb
dpkg -i datacenter-gpu-manager_3.3.5_amd64.deb

在线安装

#在线安装比较方便,驱动已经安装好了,DCGM只是一个应用
#这三步在上面已经做过了,不用再做了
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
dpkg -i cuda-keyring_1.0-1_all.deb
add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"#直接安装即可
apt update && apt install -y datacenter-gpu-manager#用下面的命令进行一次全面的测试
dcgmi diag -r 4 
#测试结束后,截屏
#测试结束后, 运行nvdia-smi -q 导出结果为log文件,检查其中有没有错误

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c_note

c笔记一、变量 1、变量的声明 ​ 变量的声明是给编译器看的,告诉编译器变量的类型以及名字等相关的信息。 格式:数据类型 变量名; 变量的声明显然是一个编译时概念,所以它和程序的运行没有太大的关系。 一个变量具有声明,并不意味着该变量会在运行时期分配内存空间。 2、…

Drasi Sources SDK

什么是Drasi数据源(Source)?Source提供了与系统的连接,Drasi 可以将这些系统视为变化源。source 在 Drasi 中执行三个重要功能:处理源系统生成的更改日志/源,并将这些更改推送到使用该源作为输入的每个连续查询。 将源更改数据转换为一致的属性图数据模型,以便订阅的 Co…

【每日一题】20250216

人生就是这样,不经历鲜血淋漓的疼痛,就不会明白那些曾经让我们厌烦的说教其实是受用一生的信条。【每日一题】(多选)如图所示,在竖直半面内有一半径为 \(R\) 的圆弧轨道.半径 \(OA\) 木平、\(OB\) 竖直,一个质量为 \(m\) 的小球自 \(A\) 的正上方 \(P\) 点由静止开始自由…

数据团队必读:智能数据分析文档(DataV Note)五种高效工作模式

数据项目,无论是数据分析、可视化,还是数据科学和机器学习相关的项目,通常都非常复杂,涉及多个组成部分,比如代码、数据、运行环境、SQL脚本以及分析报告等;与此同时,随着AI时代的到来,数据科学领域正经历重大变革。这对于数据科学团队来说,如何保持高效地工作模式一直…

SU镜像:缩放s

su没有镜像,可用:缩放s 选中要镜像的对象——复制一个——s——找到中间的点——向右拉动——输入 -1

LGP1377 [TJTS 2011] 树的序 学习笔记

LGP1377 [TJTS 2011] 树的序 学习笔记 Luogu Link 题意简述 给一个生成序列 \(p\),简单起见 \(p\) 是一个长为 \(n\) 的排列。按照这样的步骤生成一棵二叉搜索树:往空树中插入 \(p_i\),则 \(p_i\) 成为当前二叉搜索树的根。 往非空树 \(u\) 中插入 \(p_i\),若 \(p_i\) 小于…

vxe-input绑定keyup事件传递的参数

一、VUE3中 Input输入框绑定keyup事件传递的$event 代码一:<script setup>function judgeIsEnterToSerach(event){console.log(event,1111);console.log(event.key,2222);console.log(event.target,230923);console.log(event.target.value,3333);console.log(event.tar…

清华大学推出第二讲 DeepSeek 如何赋能职场应用?从提示语技巧到多场景应用!

前言 清华大学第二讲《DeepSeek如何赋能职场应用》是一份35页的专业文档,详细探讨了DeepSeek在职场中的多场景应用及其赋能作用,从提示语技巧到多场景应用,咱们打工人有福啦!DeepSeek访问地址:https://chat.deepseek.com 清华大学推出的 DeepSeek 从入门到精通(104页)免…

信创

概念 “信创“ (全称“信息技术应用创新”)是国家基于国产芯片和操作系统的PC、服务器、网络设备、存储设备、数据库、中间件等基础设施的技术创新。 信创CPU概览

LGP5854 [LG TPLT] 笛卡尔树 学习笔记

LGP5854 [LG TPLT] 笛卡尔树 学习笔记 Luogu Link 题意简述 给定一个长为 \(n\) 的排列 \(p\),以 \(i\) 为键,\(p_i\) 为值构建 \(p\) 中所有元素的笛卡尔树。 做法解析 定义“右链”为从根开始一直往右儿子走形成的一条链。 因为我们照键从小到大的顺序插入每一个元素,所以…

11.4.3 凸目标的收敛性分析

式\((11.47)\)应该有误,不等号左边还应该有一个项\(-E[||x_T-x^{*}||^2]\),之所以没写估计是因为认为\(x_T\)非常接近\(x^{*}\),所以可以忽略;另外不等号右边的括号打错了,应该是 \[2\underset{t=1}{\overset{T}{\sum}}\eta_tE[R(x_t)]-2S_1R^*-S_2L^2 \],其中\(S_1=\und…

AGC053C 题解

Solution 前面部分略,相信别的题解写得很详细。 本题解集中解释 \(p(d)\) 的计算。 \(p(d)\) 表示对于 \(\forall A_i\),\(B_1\cdots B_{i+d}\) 中有比它大的数。 那么这么考虑,已经加入 \(A_1 \cdots A_{i-1}\)。对于 \(A_i\) ,如果大于 \(\min(A_1 \cdots A_{i-1},B_1 \c…