01-正文
本章节下载: 01-正文 (1.89 MB)
目 录
5.1 在寒武纪GPU环境中,如果在运行Agent时出现UnsatisfiedLinkError错误,并提示找不到“libcndev.so”库,如何处理?
5.2 在寒武纪GPU环境中,如果在运行Agent时出现错误,提示找不到cn相关库或者找不到cn相关命令,如何处理?
5.3 英伟达GPU测试提示“Persistence Mode Disabled”,如何处理?
5.4 ethtool查询光模块信息时仅显示16进制,如何处理?
6.1.1 安装Data Center GPU Manager(DCGM)
6.1.2 安装深度学习加速库(NVIDIA CUTLASS)
6.2.2 安装基础压力工具HyQual(v2.2.6示例)
AIDC Agent用于安装在数据中心网络中的GPU/存储服务器上,安装完成后,为数据中心控制组件(SeerEngine-DC)、分析组件和U-Center提供服务。
· 与控制组件的交互
AIDC Agent能够自动推送服务器上的GPU和网卡信息至控制组件。基于这些信息,控制组件可以生成服务器接入详情,展示网卡和GPU的连接关系,并自动化配置网络参数,包括路由(route)、规则(rule)和RoCE网卡设置。
· 与分析组件的交互
AIDC Agent支持将GPU、网卡、光模块、文件系统等关键信息发送到分析组件。它还能执行多项检查,包括GPU状态、网卡状态、网络流量、网络配置和性能分析等。
· 与U-Center的交互
AIDC Agent中的U-Center-Agent支持将CPU、网卡、文件系统等关键信息发送到U-Center的IOM组件。该组件负责监控这些资源,收集相应类型的监控指标,并在监控指标超出设定的告警阈值时,通过平台的告警模块及时发出通知。
AIDC Agent支持裸金属部署和容器化部署,两种场景的部署说明如下。
表2-1 软件安装包及场景说明
场景 |
部署说明 |
软件包 |
裸金属部署 |
AIDC Agent功能已包含在控制组件软件包(SeerEngine_DC-version-MATRIX.zip)中。部署控制组件后,在控制组件界面配置相关参数即可使用,无需手动上传软件包单独部署。 |
SeerEngine_DC-version-AIDCAgent.zip (仅用于升级或者在服务器上手动部署) 该压缩包包含如下功能: · SeerEngine_DC-version-AIDCAgent:控制组件和分析组件的Agent · U-Center-Agent-version:U-Center的Agent |
容器化部署 |
手动上传软件包至服务器部署。 |
SeerEngine_DC-version-AIDCAgent-K8S.zip |
服务器型号 |
硬件要求 |
H3C UniServer R5500 G6 H3C UniServer R5500 G5 H3C UniServer R5300 G6 H3C UniServer R5300 G5 H3C UniServer R5300 G3 |
CPU架构:x86_64 |
表2-2 组件所需硬件资源
CPU内核 |
内存 |
磁盘 |
1核及以上 |
2GB及以上 |
5GB及以上 |
表2-3 基础依赖
操作系统 |
依赖软件 |
Ubuntu 22.04 银河麒麟V10 SP3 Rocky Linux 8.8 CentOS 8 |
· openjdk-8-jdk:Java开发工具包,用于运行和开发Java应用程序。 · LLDPD:链路层发现协议守护进程,用于网络拓扑发现和管理。 · NetworkManager:网络管理工具,提供网络连接的自动检测和配置。 Ubuntu操作系统不需要安装NetworkManager。
· unzip:解压缩工具,用于解压缩.zip格式的文件。 · tar:归档打包工具,用于创建和解压缩.tar格式的文件。 · lshw:硬件信息检测工具,用于生成详细的系统硬件信息。 |
仅支持通过Ubuntu官方ISO安装的服务器版,不支持桌面版,也不支持任何云平台提供的定制镜像,如AWS/Azure的Ubuntu云镜像。服务器版默认的网络配置文件通常为00-installer-config.yaml,而云平台版默认为50-cloud-init.yaml。
表2-4 深度性能测试依赖
计算加速卡厂商 |
依赖软件 |
说明 |
英伟达 |
如需使用分析组件训前准备页面的下列功能,请预先安装右侧列出的依赖软件。 性能测试功能 · 算力性能检测 · 功耗性能检测 · HBM性能检测 健康检查功能 · 芯片健康检测 · 软硬件兼容性检查 |
DCGM 4.1.1:英伟达开发的针对数据中心GPU的综合性管理工具,主要用于实时监控、配置管理以及健康状态诊断。 安装说明请参见“安装Data Center GPU Manager(DCGM)” |
CUTLASS:英伟达开发的开源库。 编译CUTLASS的测试或示例,需预先安装GoogleTest,并在CMake中正确配置路径。
CUTLASS、GoogleTest、CMake的安装说明请参见“安装深度学习加速库(NVIDIA CUTLASS)” |
||
海光 |
如需使用分析组件训前准备页面的下列功能,请预先安装右侧列出的依赖软件。 性能测试功能 · 算力性能检测 · 功耗性能检测 健康检查功能 · 芯片健康检测 · 驱动健康检测 |
HyQual:海光公司开发的用于针对DCU标卡系列产品的压力、带宽以及算力测试标准工具。 安装说明请参见“海光GPU深度性能测试依赖软件的安装流程” |
厂商 |
硬件款型 |
|
计算加速卡硬件型号 |
英伟达 |
A100,H800,H20 |
昆仑 |
R300,P800 |
|
天数 |
MR-V100,BI-V150 |
|
沐曦 |
MXC500 |
|
寒武纪 |
MLU370-M8 |
|
摩尔线程 |
MTT S4000 |
|
海光 |
K100-AI |
厂商 |
硬件款型 |
|
RDMA网卡型号 |
云脉 |
metaScale-200 |
Mellanox |
Mellanox CX6 CX7 |
AIDC Agent容器化部署支持Kubernetes v1.21.14。
部署AIDC Agent前,请先完成以下工作:
(1) 完成SeerEngine-DC的安装工作。
(2) 完成服务器的安装和上线工作。
(3) 请检查服务器的系统时区是否与实际地理位置一致。
a. 使用命令timedatectl查看当前系统时区。请重点确认输出中的“Time zone”字段是否为实际所在地区的时区(如中国大陆应为Asia/Shanghai)。
[root@vm203 /]# timedatectl
Local time: Tue 2025-08-05 16:26:13 CST
Universal time: Tue 2025-08-05 08:26:13 UTC
RTC time: Tue 2025-08-05 08:25:12
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
b. 如需修改时区,请执行以下命令,将系统时区设置为实际地理时区(如中国标准时间)
[root@vm203 /]# timedatectl set-timezone Asia/Shanghai
(1) 不同服务器的系统名称不能相同,请排查是否满足要求,如存在相同的情况,请修改系统名称,修改完成后需要重启服务器。
root@server1:~# vi /etc/hostname
root@server1:~# reboot
(2) 安装Java。
root@server1:~# apt install openjdk-8-jdk -y
(3) 安装LLDPD。
root@server1:~# apt install lldpd -y
root@server1:~# systemctl enable lldpd.service
root@server1:~# systemctl start lldpd.service
root@server1:~# systemctl status lldpd.service #查看LLDPD服务状态
请确保LLDP学习到的系统名称与服务器的系统名称一致。
(4) 安装unzip。
root@server1:~# apt install unzip -y
(5) 安装tar。
建议先通过tar –version命令检查是否已安装,避免冗余操作。
root@server1:~# apt install tar -y
(6) 安装lshw。
建议先使用sudo lshw命令检查lshw是否安装。如果已安装,会显示硬件信息;如果未安装,会提示命令未找到。
a. 通过如下命令安装lshw。
root@server1:~# sudo apt install lshw -y
b. 安装完成后,可以通过以下命令查看硬件信息:
sudo lshw
(1) 不同服务器的系统名称不能相同,请排查是否满足要求,如存在相同的情况,请修改系统名称,修改完成后需要重启服务器。
[root@server1 ~]# vi /etc/hostname
[root@server1 ~]# reboot
(2) 安装Java。
[root@server1 ~]# yum install java-1.8.0-openjdk-devel -y
(3) 安装LLDPD。
[root@server1 ~]# yum install lldpd -y
[root@server1 ~]# systemctl enable lldpd.service
[root@server1 ~]# systemctl start lldpd.service
[root@server1 ~]# systemctl status lldpd.service #查看LLDPD服务状态
请确保LLDP学习到的系统名称与服务器的系统名称一致。
(4) 安装NetworkManager。
[root@server1 ~]# yum install NetworkManager -y
[root@server1 ~]# systemctl enable NetworkManager.service
[root@server1 ~]# systemctl start NetworkManager.service
[root@server1 ~]# systemctl status NetworkManager.service #查看NetworkManager服务状态
(5) 安装unzip。
[root@server1 ~]# yum install unzip -y
(6) 安装tar。
建议先通过tar –version命令检查是否已安装,避免冗余操作。
[root@server1 ~]# yum install tar -y
(7) 安装lshw。
建议先使用sudo lshw命令检查lshw是否安装。如果已安装,会显示硬件信息;如果未安装,会提示命令未找到。
a. 通过如下命令安装lshw。
[root@server1 ~]# yum install lshw -y
b. 安装完成后,可以通过以下命令查看硬件信息:
sudo lshw
安装Agent后,请勿修改操作系统的hostname。
在裸金属环境下,AIDC Agent功能已包含在控制组件软件包(SeerEngine_DC-version-MATRIX.zip)中。部署控制组件后,请在控制组件界面完成相关配置。
在浏览器中输入控制组件的登录地址“http://ip_address:30000”,其中“ip_address”为北向业务虚IP,进入登录页面。
图3-1 登录控制组件
登录控制组件后进入端侧管理页面。
表3-1 端侧管理页面路径说明
视图名称 |
页面路径 |
AD-DC |
自动化>数据中心网络>RoCE网络>端侧管理>服务器管理 |
AD-AIDC |
管理>端网管理>端侧管理>服务器管理 |
(1) 单击<服务器纳管>按钮,在下拉框中选择服务器的纳管方式。
¡ 自动发现:系统从链路模块导入服务器数据。
¡ 导入服务器IP:根据“AIDC智算中心服务器样例”模板配置服务器名称及管理IP后,将模板文件手动上传至页面。
(2) 服务器纳管完成后,服务器信息将展示在页面中,若Agent未安装,显示为--。
图3-2 服务器纳管成功且Agent未安装
(1) 选择需安装一个或多个服务器,单击<Agent管理>按钮,在下拉框中选择“安装”选项。
(2) 在弹出的对话框中,根据实际情况填写参数(如SSH用户名/密码等)。
¡ 若服务器为手动导入,且模板中已配置SSH信息,安装Agent时,页面不再支持手动输入。
¡ 批量安装时,若同时存在手动导入和页面配置的用户名/密码,则以手动导入的信息为准。
(3) 配置完成后单击<确定>按钮。
图3-3 为服务器安装Agent
若控制组件和分析组件在不同集群分开部署,Agent安装完成后,需进入Agent所在服务器后台,使用vi命令编辑config/agent.config.json文件,使dc service_ip和sa service_ip取值不同。输入控制组件的北向业务虚IP,用于向控制组件上传GPU信息。
{
"agent": {
"roce_nic_config": "enable",
"route_config": "enable",
"gfs_port": "1191"
},
"dc": {
"service_ip": "192.168.10.100",
"server_port": 20851,
},
"sa": {
"service_ip": "192.168.12.23",
"server_port": 10051
}
}
表3-2 参数说明
参数 |
说明 |
agent_master_ip |
Master Agent所在服务器的IP。可选参数,未配置时,Agent将收集到的信息上送至SeerEngine-DC |
agent_master_port |
Master Agent所在服务器的端口,缺省值为7008。可选参数 |
roce_nic_config |
参数网卡RoCE配置自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发参数网卡RoCE配置 |
route_config |
路由及规则自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发路由及规则 |
gfs_port |
Agent与存储服务器建立心跳的目标端口,目前与存储服务器的协商值为1191。除非特殊情况请勿修改和删除 |
dc service_ip |
SeerEngine-DC的北向业务虚IP |
dc server_port |
SeerEngine-DC的北向业务请求端口,取值范围为1~65536的整数;缺省值为20851。可选参数 |
sa service_ip |
分析组件的北向业务虚IP |
sa server_port |
分析组件的WebSocket通信端口,缺省值为10051。可选参数 |
除页面安装Agent之外的场景下(如自定义目录安装),需要以root权限执行start_agent.sh脚本启动Agent服务。
如果agent_master_ip是本服务器网卡上的IP就以master角色启动,否则以worker角色启动。
· 以master角色启动时,Agent会将收集到的信息上送至SeerEngine-DC。
· 以worker角色启动时,Agent会将收集到的信息优先上送至master,master异常时,Agent会将收集到的信息上送至SeerEngine-DC。
配置步骤如下。
(1) 添加防火墙规则(以firewalld为例),允许流量通过指定的Agent监听端口。
此命令作用是将TCP流量通过指定端口的访问权限添加到防火墙配置中,并保持该规则在防火墙重启后仍然有效。
¡ Ubuntu操作系统
root@server1:~/SeerEngine_DC-E7301_AIDCAgent# sudo firewall-cmd --zone=public --add-port=7008/tcp --permanent #7008为缺省端口号,请按实际配置替换为Master agent所在服务器的端口
root@server1:~/SeerEngine_DC-E7301_AIDCAgent# sudo firewall-cmd --reload
¡ CentOS操作系统
[root@server1 SeerEngine_DC-E7301_AIDCAgent]# sudo firewall-cmd --zone=public --add-port=7008/tcp --permanent #7008为缺省端口号,请按实际配置替换为Master agent所在服务器的端口
[root@server1 SeerEngine_DC-E7301_AIDCAgent]# sudo firewall-cmd –reload
(2) 若操作系统为Rocky Linux 8.8,需执行如下操作关闭SELinux。
编辑SELinux配置文件,将参数SELINUX的值修改为disabled。
vim /etc/sysconfig/selinux
SELINUX=disabled
重启后,运行sestatus命令查询服务状态。
[root@CX_Series network-scripts]# sestatus
SELinux status: disabled
(3) 启动Agent服务。
Agent服务需要在每一台服务器上手动执行脚本启动。
¡ Ubuntu操作系统
root@server1:~/SeerEngine_DC-E7301_AIDCAgent# sudo ./start_agent.sh --saIp 192.168.118.50 --seIp 192.168.118.51
¡ CentOS操作系统
[root@server1 SeerEngine_DC-E7301_AIDCAgent]# sudo ./start_agent.sh --saIp 192.168.118.50 --seIp 192.168.118.51
其中,seIp和saIp为必选参数,其他均为可选参数。如果未指定可选参数,取值将依据config/agent.config.json中的配置。
表3-3 参数说明
长参数(推荐) |
短参数 |
说明 |
help |
h |
帮助信息 |
roce |
n |
参数网卡RoCE配置自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发参数网卡RoCE配置。可选参数 |
route |
r |
路由及规则自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发路由及规则。可选参数 |
saPort |
t |
分析组件的北向业务请求端口,取值范围为1~65535的整数;缺省值为10051。可选参数 |
saIp |
a |
分析组件的北向业务虚IP。必选参数 |
seIp |
e |
控制组件的北向业务虚IP。必选参数 |
sePort |
o |
控制组件的北向业务请求端口,取值范围为1~65535的整数;缺省值为20851。可选参数 |
allIp |
i |
控制组件和分析组件合一场景下,共用的北向IP地址 |
hwj |
w |
寒武纪安装路径,默认是/usr/local/neuware。 |
nv |
v |
NVIDIA依赖路径,用于导出NCCL、MPI、CUDA的路径。 |
· 服务器接入VLAN网络时,支持使用AIDC Agent对宿主机进行同轨网络路由配置。
· 参数网卡的地址由系统分配,路由及规则由Agent指定,请勿随意修改,以避免出现路由及规则配置冲突,导致流量异常。
· 可使用如下命令快速配置和启动Agent: sudo ./start_agent.sh --seIp 192.168.118.50 --saIp 192.168.118.50。
Agent启动时,会检查本地是否存在config/agent.network.config.yml文件(RoCE配置下发参数的配置文件)。
· 如果存在该文件,则以该配置文件加载运行,并下发参数网卡的RoCE配置。
· 如果不存在该文件,则会向SeerEngine-DC获取已配置的服务器网卡参数模板(可在SeerEngine-DC的RoCE策略详情页面中查看),并在本地生成agent.network.config.yml文件,以该配置文件加载运行,并下发参数网卡的RoCE配置。
正常Agent运行后,agent.network.config.yml文件就会在本地生成,如果一直未生成,请检查日志进行排错。
在控制组件页面上查看Agent运行状态。
图3-4 控制组件页面
· 服务器重启后,Agent会自动启动。
· 在Agent服务启动后,请勿删除对应的安装包解压的目录。
· 请勿随意删除agent.network.config.yml文件中的注释内容,必要时,可将注释打开以便修改配置参数。
· 根据现场实际需求修改配置文件中的配置参数后,需要在控制组件页面执行“重启Agent服务”操作才能使修改生效。
· 无论Agent是否在运行,一旦下发了RoCE配置,这些配置将会在开机时自动执行。
安装Agent后,请勿修改操作系统的hostname。
将AIDC Agent安装包SeerEngine_DC-version_AIDCAgent.zip,其中version为版本号,例如E7202,上传到所有服务器的指定目录,建议采用以下规范路径结构:
/<custom_directory>/SeerEngine_DC-${version}_AIDCAgent/
root@server1:~/SeerEngine_DC-E7202_AIDCAgent# unzip SeerEngine_DC-E7202_AIDCAgent.zip
root@server1:~/SeerEngine_DC-E7202_AIDCAgent# ll
总用量 227876
-rwxr-xr-x 1 root root 1033 7月 23 22:01 install.sh
-rwxr-xr-x 1 root root 1033 7月 23 20:48 SeerEngine_DC-E7202_AIDCAgent
-rw-r--r-- 1 root root 233317125 7月 23 16:58 SeerEngine_DC-E7202-AIDCAgent.zip
drwxr-xr-x 6 root root 4096 7月 23 22:01 U-Center-Agent-E7202
-rwxr-xr-x 1 root root 297 7月 23 22:01 uninstall.sh
若手动执行脚本启动时配置了可选参数,可跳过此步骤。
使用vi命令编辑config/agent.config.json文件。如果控制组件(dc)和分析组件(sa)分布在不同集群,请分别设置不同的dc service_ip和sa service_ip。请在dc service_ip字段中填写控制组件的北向业务虚IP,该IP将用于向控制组件上传GPU信息。
{
"agent": {
"roce_nic_config": "enable",
"route_config": "enable",
"gfs_port": "1191"
},
"dc": {
"service_ip": "192.168.10.100",
"server_port": 20851,
},
"sa": {
"service_ip": "192.168.12.23",
"server_port": 10051
}
}
表3-4 参数说明
参数 |
说明 |
agent_master_ip |
Master Agent所在服务器的IP。可选参数,未配置时,Agent将收集到的信息上送至控制组件 |
agent_master_port |
Master Agent所在服务器的端口,缺省值为7008。可选参数 |
roce_nic_config |
参数网卡RoCE配置自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发参数网卡RoCE配置 |
route_config |
路由及规则自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发路由及规则 |
gfs_port |
Agent与存储服务器建立心跳的目标端口,目前与存储服务器的协商值为1191。除非特殊情况请勿修改和删除 |
dc service_ip |
控制组件的北向业务虚IP |
dc server_port |
控制组件的北向业务请求端口,取值范围为1~65536的整数;缺省值为20851。可选参数 |
sa service_ip |
分析组件的北向业务虚IP |
sa server_port |
分析组件的WebSocket通信端口,缺省值为10051。可选参数 |
以root权限执行start_agent.sh脚本启动服务。根据agent_master_ip判断角色:
· 若agent_master_ip为本机IP,则以Master角色启动,Agent信息上报到控制组件。
· 若为其他IP,则以Worker角色启动,Agent信息先上报至Master,Master异常时上报至控制组件。
步骤如下:
(1) 开放防火墙端口
以firewalld为例,开放Master Agent所在服务器的端口(如7008):
root@server1:~/SeerEngine_DC-E7202_AIDCAgent# sudo firewall-cmd --zone=public --add-port=7008/tcp --permanent #7008为缺省端口号,请按实际配置替换为Master agent所在服务器的端口
root@server1:~/SeerEngine_DC-E7202_AIDCAgent# sudo firewall-cmd --reload
这个命令的作用是将TCP流量通过指定端口的访问权限添加到防火墙配置中,并保持该规则在防火墙重启后仍然有效。
(2) 若操作系统为Rocky Linux 8.8,关闭SELinux。
编辑SELinux配置文件/etc/sysconfig/selinux,将参数SELINUX的值修改为disabled。
vim /etc/sysconfig/selinux
SELINUX=disabled
保存并重启后,运行sestatus命令查询服务状态。
[root@CX_Series network-scripts]# sestatus
SELinux status: disabled
(3) 启动Agent服务、
在每台服务器上手动执行启动脚本。
root@server1:~/SeerEngine_DC-E7202_AIDCAgent# sudo ./install.sh --saIp 192.168.118.50 --seIp 192.168.118.51
· 服务器接入VLAN网络时,支持使用AIDC Agent对宿主机进行同轨网络路由配置。
· 参数网卡的地址由系统分配,路由及规则由agent指定,请勿随意修改,以避免出现路由及规则配置冲突,导致流量异常。
· 在Agent服务启动后,请勿删除对应的安装包解压的目录。
Agent启动时会检测本地是否存在RoCE配置文件:config/agent.network.config.yml。
· 如果存在该文件,则以该配置文件加载运行,并下发参数网卡的RoCE配置。
· 如果不存在该文件,则会向控制组件获取已配置的服务器网卡参数模板(可在控制组件的RoCE策略详情页面中查看),并在本地生成agent.network.config.yml文件,以该配置文件加载运行,并下发参数网卡的RoCE配置。
· 正常Agent运行后,agent.network.config.yml文件就会在本地生成,如果一直未生成,请检查日志进行排错。
· 请勿随意删除agent.network.config.yml文件中的注释内容,必要时,可将注释打开以便修改配置参数。
· 根据现场实际需求修改配置文件中的配置参数后,需要重启Agent才能使修改生效。
· 无论Agent是否在运行,一旦下发了RoCE配置,这些配置将会在开机时自动执行。
· 查看服务进程:在服务器上输入命令ps -ef | grep dc-agent | grep java,如显示进程信息则表示进程启动成功。
· 查看Agent角色:进程信息中的agent.role表示角色名称。
root@server1:~/SeerEngine_DC-E7202_AIDCAgent# ps -ef | grep dc-agent | grep java
root 18076 1 0 15:38 pts/0 00:00:20 java -jar -Xmx512m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 dc-agent-1.0.0.jar --agent.role=master --dc.serviceIp=192.168.232.89
图3-5 控制组件页面
服务重启后,Agent会自动启动。
(1) 在控制组件AD-AIDC视图中,进入[监控>拓扑管理>智算中心拓扑>基础网络拓扑]页面,右键单击服务器图标,选择“服务器详情”,即可查看服务器的接入信息。
(2) 如果出现网络异常等情况,造成控制组件未获取到准确的GPU信息,可尝试在控制组件页面执行“重启Agent服务”操作。
此功能依赖于U-Center的IOM组件,请确保该组件已成功部署。
(1) 在[管理>基础资源管理>Agent管理]页面,单击列表中“Agent主机IP”链接,弹出Agent详情信息窗口,查看Agent主机IP、主机类型、安装路径和日志路径信息。
图3-6 Agent详情
(2) 单击列表中的“管理的资源”区段的图标,可进入该资源详情页面,查看服务器的监控概览、告警信息等。
图3-7 查看监控概览
升级主要涉及以下两个Agent组件:
· SeerEngine_DC AIDC Agent:用于控制组件和分析组件的Agent,支持通过控制组件页面升级或在服务器上手动升级。
· U-Center Agent:用于U-Center的Agent,随IOM组件包自动升级。
请根据具体Agent类型和实际运维需求,选择合适的升级方式,确保各组件平稳升级,配置和数据不丢失。
· Agent升级完成后,agent.config.json的配置参数需与升级前一致。
· 若在服务器后台通过命令行安装的Agent,升级时需先手动卸载,再进入控制组件页面安装新版本。
(1) 获取新的Agent软件安装包,软件包的名称格式为SeerEngine_DC-version-AIDCAgent.zip,其中version为软件包版本号。
(2) 登录控制组件后进入端侧管理页面。
(3) 选择需要升级Agent的服务器,单击<Agent管理>按钮,在下拉框中选择“升级”选项,并在弹出的对话框中配置相关参数。配置完成后单击<确定>按钮。
图3-8 为服务器升级Agent
· 当所选服务器的来源为手工导入,且导入的模板中已配置SSH用户名和密码,升级Agent时,页面弹框中的服务器SSH用户名和密码不支持输入。
· 为多个服务器升级Agent时,若同时存在手动导入和页面配置的用户名/密码,则以手动导入的信息为准。
(4) Agent升级完成后,Agent状态将显示为正常。
图3-9 Agent状态
root@server1:~/SeerEngine_DC-E7202_AIDCAgent/SeerEngine_DC-E7202_AIDCAgent# sudo systemctl stop se-agent
root@server1:~/SeerEngine_DC-E7202_AIDCAgent/SeerEngine_DC-E7202_AIDCAgent# sudo ./stop_agent.sh
(2) 备份旧版本Agent。
回到上两级目录,使用cp -r命令完整备份旧版本安装目录。
root@server1:~/SeerEngine_DC-E7202_AIDCAgent/SeerEngine_DC-E7202_AIDCAgent# cd ../..
root@server1:~# cp -r SeerEngine_DC-E7202_AIDCAgent SeerEngine_DC-E7202_AIDCAgent_BAK
(3) 将新版本安装包上传至服务器目标目录下,例如新版本包名为SeerEngine_DC-E7202P02_AIDCAgent.zip,上传到新创建的SeerEngine_DC-E7202P02_AIDCAgent目录下。解压新版本安装包。
#在目标服务器创建版本化目录(建议路径):
root@server1:~# mkdir SeerEngine_DC-E7202P02_AIDCAgent
图3-10 #进入目标目录并解压安装包
root@server1:~# cd SeerEngine_DC-E7202P02_AIDCAgent
root@server1:~/SeerEngine_DC-E7202P02_AIDCAgent# unzip SeerEngine_DC-E7202P02_AIDCAgent.zip
#验证解压结果
root@server1:~/SeerEngine_DC-E7202P02_AIDCAgent# ll
总用量 227876
-rwxr-xr-x 1 root root 1033 7月 23 22:01 install.sh
-rwxr-xr-x 1 root root 1033 7月 23 20:48 SeerEngine_DC-E7202P02_AIDCAgent
-rw-r--r-- 1 root root 233317125 7月 23 16:58 SeerEngine_DC-E7202P02-AIDCAgent.zip
drwxr-xr-x 6 root root 4096 7月 23 22:01 U-Center-Agent-E7202
-rwxr-xr-x 1 root root 297 7月 23 22:01 uninstall.sh
解压后得到如下四个文件:
¡ SeerEngine_DC-E7202P02-AIDCAgent
¡ U-Center-Agent-E7202
¡ install.sh
¡ uninstall.sh
(4) 使用新版本文件覆盖旧版本,但保留旧版本config文件夹。
#覆盖主程序文件,排除config目录
root@server1:~/SeerEngine_DC-E7202P02_AIDCAgent# cd SeerEngine_DC-E7202P02_AIDCAgent
root@server1:~/SeerEngine_DC-E7202P02_AIDCAgent/SeerEngine_DC-E7202P02_AIDCAgent# rsync -av --exclude='config' ./ ../../SeerEngine_DC-E7202_AIDCAgent/SeerEngine_DC-E7202_AIDCAgent/
#返回上两级目录,覆盖安装脚本
root@server1:~/SeerEngine_DC-E7202P02_AIDCAgent/SeerEngine_DC-E7202P02_AIDCAgent# cd ../..
root@server1:~# cp -f SeerEngine_DC-E7202P02_AIDCAgent/install.sh SeerEngine_DC-E7202P02_AIDCAgent/uninstall.sh SeerEngine_DC-E7202_AIDCAgent/
(5) 启动Agent服务。
返回旧版本安装包父目录,执行安装脚本启动服务。
root@server1:~/SeerEngine_DC-E7202_AIDCAgent# sudo ./install.sh
(6) 查看当前运行的SeerEngine_DC AIDC Agent版本。
root@server1:~# ps -ef | grep java | grep dc-agent
root 2645 1 1 23:20 ? 00:00:20 java -jar -Xmx512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./log/ -Dserver.port=7008 -Djava.library.path=lib dc-agent-1.0.0.jar --agent.role=worker --agent.masterIp=null --agent.masterPort=7008 --agent.version=E7202P02 --agent.deployPath=/opt/AIDCAgent/SeerEngine_DC-E7202-AIDCAgent --agent.multi=false
IOM组件包中的Agent组件(U-Center_UCP_Agent_version_platform.zip)升级后会自动升级U-Center-Agent。
(1) 登录控制组件后进入服务器管理页面。
(2) 选择需要卸载Agent的服务器,单击<Agent管理>按钮,在下拉框中选择“卸载”选项即可。
推荐在控制组件页面进行Agent卸载操作。这样,控制组件能够自动同步并清理对应的Agent数据,避免数据残留。如需在服务器后台卸载Agent,请按以下步骤操作。
(1) 登录服务器,执行如下命令卸载AIDC Agent:
root@server1:~# uninstall.sh
(2) 卸载完成后,需手动登录控制组件页面,删除相应的Agent数据,防止页面遗留无效信息。
图3-11 控制组件页面
(1) 不同服务器的系统名称不能相同,请排查是否满足要求,如存在相同的情况,请修改系统名称,修改完成后需要重启服务器。
root@server1:~# vi /etc/hostname
root@server1:~# reboot
(2) 在宿主机上安装LLDPD。
root@server1:~# apt install lldpd -y
root@server1:~# systemctl enable lldpd.service
root@server1:~# systemctl start lldpd.service
root@server1:~# systemctl status lldpd.service #查看LLDPD服务状态
请确保LLDP学习到的系统名称与服务器的系统名称一致。
(3) 安装unzip。
root@server1:~# apt install unzip -y
(4) 安装tar。
root@server1:~# apt install tar -y
建议先通过tar –version命令检查是否已安装,避免冗余操作。
(5) 在宿主机上安装lshw。
建议先使用sudo lshw命令检查lshw是否安装。如果已安装,会显示硬件信息;如果未安装,会提示命令未找到。
a. 通过如下命令安装lshw:
root@server1:~# sudo apt install lshw -y
b. 安装完成后,可以通过以下命令查看硬件信息:
sudo lshw
(1) 不同服务器的系统名称不能相同,请排查是否满足要求,如存在相同的情况,请修改系统名称,修改完成后需要重启服务器。
[root@server1 ~]# vi /etc/hostname
[root@server1 ~]# reboot
(2) 在宿主机上安装LLDPD。
[root@server1 ~]# yum install lldpd -y
[root@server1 ~]# systemctl enable lldpd.service
[root@server1 ~]# systemctl start lldpd.service
[root@server1 ~]# systemctl status lldpd.service #查看LLDPD服务状态
请确保LLDP学习到的系统名称与服务器的系统名称一致。
(3) 在宿主机上安装NetworkManager。
[root@server1 ~]# yum install NetworkManager -y
[root@server1 ~]# systemctl enable NetworkManager.service
[root@server1 ~]# systemctl start NetworkManager.service
[root@server1 ~]# systemctl status NetworkManager.service #查看NetworkManager服务状态
(4) 安装unzip。
[root@server1 ~]# yum install unzip -y
(5) 安装tar。
[root@server1 ~]# yum install tar -y
建议先通过tar –version命令检查是否已安装,避免冗余操作。
(6) 在宿主机上安装lshw。
建议先使用sudo lshw命令检查lshw是否安装。如果已安装,会显示硬件信息;如果未安装,会提示命令未找到。
a. 通过如下命令安装lshw。
[root@server1 ~]# yum install lshw -y
b. 安装完成后,可以通过以下命令查看硬件信息:
sudo lshw
安装Agent后,请勿修改操作系统的hostname。
(1) 将AIDC Agent安装包上传到K8s集群所有服务器的任意目录下,安装包名称格式为SeerEngine_DC-version_AIDCAgent-K8S.zip,其中version为版本号。
(2) 解压AIDC Agent安装包,进入解压后的目录。
¡ Ubuntu操作系统
root@server1:~# unzip SeerEngine_DC-E7301_AIDCAgent-K8S.zip
root@server1:~# cd SeerEngine_DC-E7301_AIDCAgent-K8S
root@server1:~/ SeerEngine_DC-E7301_AIDCAgent-K8S# ll
总用量 258708
-rw------- 1 root root 264911872 12月 25 2024 dc-agent-E7301.tar
-rwxr-xr-x 1 root root 3374 12月 25 2024 aidc-agent-deployment.yaml
¡ CentOS操作系统
[root@server1 ~]# unzip SeerEngine_DC-E7301_AIDCAgent-K8S.zip
[root@server1 ~]# cd SeerEngine_DC-E7301_AIDCAgent-K8S
[root@server1 SeerEngine_DC-E7301_AIDCAgent-K8S]# ll
总用量 258708
-rw------- 1 root root 264911872 12月 25 2024 dc-agent-E7301.tar
-rwxr-xr-x 1 root root 3374 12月 25 2024 aidcse-agent-deployment.yaml
使用vi命令编辑aidc-agent-deployment.yaml文件,修改seIp和saIp。
…略…
chmod 777 -R /root/SE_Agent/ /root/UC_Agent/
/root/se-agent/data/persistence/agent-config-rc.sh
/root/SE_Agent/start_agent.sh --seIp 192.168.100.100 --sePort 20851 --saIp 192.168.100.101 --saPort 10051
cd /root/UC_Agent/Agent && ./install-tool -s_ip="192.168.100.100" -t_id="MQ==" -log="log/"
…略…
图4-1 编辑文件
表4-1 参数说明
长参数(推荐) |
短参数 |
说明 |
roce |
n |
参数网卡RoCE配置自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发参数网卡RoCE配置。可选参数 |
route |
r |
路由及规则自动下发开关,取值范围为enable或disable;缺省值为enable,即自动下发路由及规则。可选参数 |
saPort |
t |
分析组件的北向业务请求端口,取值范围为1~65535的整数;缺省值为10051。可选参数 |
saIp |
a |
分析组件的北向业务虚IP。必选参数 |
seIp |
e |
控制组件的北向业务虚IP。必选参数 |
s_ip |
|
IOM组件的北向业务虚IP。必选参数 |
sePort |
o |
控制组件的北向业务请求端口,取值范围为1~65535的整数;缺省值为20851。可选参数 |
allIp |
i |
控制组件和分析组件合一场景下,共用的北向IP地址 |
hwj |
w |
hwj安装路径,默认是/usr/local/neuware |
nv |
v |
NVIDIA依赖路径,用于导出NCCL、MPI、CUDA的路径 |
在将Agent从E71xx版本升级到E72xx及更高版本时,需要注意sePort端口号配置的问题。之前版本中,宿主机的/usr/data/se-agent/文件夹中sePort的默认端口号是30000。升级后,该端口号仍然保持为30000。如果不在升级过程中确认sePort和saPort的配置,可能会导致WebSocket连接建立失败。因此,建议在升级时手动将sePort和saPort设置为缺省值或相应的其他值。可以使用vi命令编辑yaml文件,将端口号设置为缺省值。
chmod 777 -R /root/se-agent/
/root/se-agent/data/persistence/agent-config-rc.sh
/root/se-agent/start_agent.sh --seIp 192.168.100.100 –sePort 20851 --saIp 192.168.100.101 –saPort 10051
…略…
根据宿主机环境选择Docker或Containerd导入镜像。
· 如果环境中未安装Harbor镜像仓库,则使用如下命令导入镜像。
¡ Ubuntu操作系统
root@server1:~/ SeerEngine_DC-E7301_AIDCAgent-K8S# docker load -i dc-agent-*.tar
¡ CentOS操作系统
[root@server1 SeerEngine_DC-E7301_AIDCAgent-K8S]# docker load -i dc-agent-*.tar
· 如果环境中已安装Harbor镜像仓库,执行如下操作:
a. 登录Docker Hub或目标仓库。
docker login
按照提示输入用户名和密码进行登录。
b. 加载Docker镜像的tar包。
docker load -i dc-agent-*.tar
使用docker load命令将以tar压缩格式打包的Docker镜像文件加载到本地Docker引擎。其中,-i选项用于指定要加载的tar包文件名。加载后,镜像将会在本地Docker引擎的镜像存储中可用,可以通过docker images命令来验证加载结果。
c. 为镜像添加标签,以便将其推送到目标仓库。
docker tag local-image:tag username/repository:tag
其中,local-image:tag是本地镜像的标签,username/repository:tag是目标仓库中镜像的标签。
d. 推送镜像到目标仓库。
docker push username/repository:tag
e. 因为镜像tag的修改,需修改aidc-agent-deployment.yaml文件中image字段为Harbor仓库镜像标签。
· Ubuntu操作系统
root@server1:~/ ctr -n k8s.io images import dc-agent-E7301.tar
· CentOS操作系统
[root@server1 ~]# ctr -n k8s.io images import dc-agent-E7301.tar
(1) 待集群中所有节点都执行完上述操作后,执行如下命令拉起容器。
¡ Ubuntu操作系统
root@server1:~/ SeerEngine_DC-E7301_AIDCAgent-K8S# kubectl apply -f aidc-agent-deployment.yaml
¡ CentOS操作系统
[root@server1 SeerEngine_DC-E7301_AIDCAgent-K8S]# kubectl apply -f aidc-agent-deployment.yaml
(2) 如果agent_master_ip是本服务器网卡上的IP就以master角色启动,否则以worker角色启动。
¡ 以master角色启动时,Agent会将收集到的信息上送至SeerEngine-DC。
¡ 以worker角色启动时,Agent会将收集到的信息优先上送至master。master异常时,agent会将收集到的信息上送至SeerEngine-DC。
· 如果不想在某个节点上部署AIDC Agent,可通过设置污点,执行如下命令kubectl label nodes <node-name> se-agent-switch=off。
· 服务器接入VLAN网络时,支持使用AIDC Agent对宿主机进行同轨网络路由配置。
· 参数网卡地址由系统分配,路由及规则由Agent指定,请勿随意修改以避免出现路由及规则配置冲突导致流量异常。
Agent启动时,会检查宿主机是否存在/usr/data/se-agent/config/agent.network.config.yml文件(RoCE配置下发参数的配置文件)。
· 如果存在该文件,则以该配置文件加载运行,并下发参数网卡的RoCE配置。
· 如果不存在该文件,则会向SeerEngine-DC获取已配置的服务器网卡参数模板(可在SeerEngine-DC的RoCE策略详情页面中查看),并在本地生成agent.network.config.yml文件,以该配置文件加载运行,并下发参数网卡的RoCE配置。
正常Agent运行后,agent.network.config.yml文件就会在宿主机生成,如果一直未生成,请检查日志进行排错。
(1) 通过如下命令,查询Agent运行状态。
¡ Ubuntu操作系统
root@server1:~/ SeerEngine_DC-E7301_AIDCAgent-K8S# kubectl get pod -n addc-roce
NAME READY STATUS RESTARTS AGE
aidc-agent 1/1 Running 0 10s
¡ CentOS操作系统
[root@server1 SeerEngine_DC-E7301_AIDCAgent-K8S]# kubectl get pod -n addc-roce
NAME READY STATUS RESTARTS AGE
aidc-agent 1/1 Running 0 10s
(2) 在控制组件页面上查看Agent运行状态。
图4-2 控制组件页面
· 请勿随意删除agent.network.config.yml文件中的注释内容。如果需要修改配置参数,可将注释取消后进行修改。
· 请根据实际需求修改配置文件中的参数。修改后,需要在控制组件页面执行“重启Agent服务”操作才能生效。
· 无论Agent是否在运行,一旦下发了RoCE配置,这些配置将会在容器启动时自动执行。
(1) 在控制组件AD-AIDC视图中,进入[监控>拓扑管理>智算中心拓扑>基础网络拓扑]页面,右键单击服务器图标,选择“服务器详情”,即可查看服务器的接入信息。
(2) 如果出现网络异常等情况,造成控制组件未获取到准确的GPU信息,可尝试在控制组件页面执行“重启Agent服务”操作。
严禁进入容器环境执行sudo ./start_agent.sh命令重启,该操作会绕过配置加载机制,导致预置环境变量丢失、动态注入的配置失效等严重后果。
(1) 可使用cp -r命令备份当前版本(例如:cp -r SeerEngine_DC-E7301_AIDCAgent-K8S SeerEngine_DC-E7301_AIDCAgent-K8S_BAK),以便版本回退时使用。
(2) 删除旧版本Pod。
kubectl delete -f se-agent-deployment.yaml
(3) 解压新版本的AIDC Agent安装包,进入解压后的目录,修改aidc-agent-deployment.yaml中start_agent的参数。具体操作说明请参见“2. 配置Agent参数”。
(4) 重新导入镜像文件,具体操作说明请参见“3. 加载镜像”。
(5) 执行kubectl apply -f aidc-agent-deployment.yaml,观察容器运行状态。
(1) 执行kubectl delete -f aidc-agent-deployment.yaml卸载容器。
(2) 若还需要删除镜像,执行如下步骤:
Docker环境:
a. 查询镜像
docker images | grep agent
dc-agent E7301 08eba7e1138d Less than a second ago 262MB
matrix-registry.h3c.com:8088/dc-agent E7301 08eba7e1138d Less than a second ago 262MB
b. 使用 docker rmi -f 命令删除镜像
docker rmi -f 08eba7e1138d
Containerd环境:
a. 查询镜像
ctr images list | grep agent
REF TYPE DIGEST SIZE PLATFORM LABELS
docker.io/library/dc-agent:E7301 application/vnd.docker.distribution.manifest.v2+json sha256:23f8522ac93435357d1d0c0b2b196fcc773d8b3ef197c3f18c503132adc15677 252.7 MiB linux/amd64 -
b. 删除指定镜像
ctr images remove docker.io/library/dc-agent:E7301
(3) 若还需要删除本地数据,执行如下命令:
sudo rm -rf /usr/data/se-agent
(4) 若还需要删除环境变量,执行如下步骤:
a. 编辑环境变量文件
使用vi编辑器打开/etc/profile文件:
sudo vi /etc/profile
b. 查找并删除agent_id变量
在文件中查找agent_id相关的行,例如:
export agent_id=xxxx
找到后,按dd删除该行。
c. 保存并退出
按Esc键退出编辑模式。
输入:wq保存并退出。
(5) 若还需要删除agent服务,执行如下步骤:
a. 停止服务
停止正在运行的se-agent服务:
sudo systemctl stop se-agent.service
b. 禁用服务
禁用服务,防止系统重启后自动启动:
sudo systemctl disable se-agent.service
c. 删除服务文件
删除/etc/systemd/system/路径下的se-agent.service文件:
sudo rm /etc/systemd/system/se-agent.service
d. 重新加载systemd配置
删除服务文件后,重新加载 systemd 配置以确保更改生效:
sudo systemctl daemon-reload
(1) 确保已安装CNToolkit,并知道其安装路径。
libcndev.so是CNToolkit的一个重要库文件,专门用于提供与寒武纪设备交互的接口。
(2) 在终端中执行如下命令,创建libcndev.so源文件路径的超链接至/usr/lib。
sudo ln -s /安装cntoolkit后的库路径/libcndev.so /usr/lib/libcndev.so
(3) 重新启动Agent服务。
sudo ./start_agent.sh
请将“/安装cntoolkit后的库路径”替换为实际的CNToolkit安装路径。例如,如果实际路径是/opt/cambricon,那么命令应该是:
sudo ln -s /opt/cambricon/libcndev.so /usr/lib/libcndev.so
“/安装cntoolkit后的库路径/libcndev.so”代表源文件路径,即libcndev.so库文件的实际位置,“/usr/lib/libcndev.so”则是目标路径,将在这里创建符号链接,指向源文件。
(1) 确保已安装寒武纪驱动程序和CNToolkit,并知道其安装路径,例如/usr/local/neuware/。
(2) 重新启动Agent服务,并指定正确的工作路径。
sudo ./start_agent.sh -w /usr/local/neuware/bin:/usr/local/cuda/bin:/usr/mpi/gcc/openmpi-4.1.7a1/bin:/usr/nccl-tests/build -v /usr/local/neuware/lib64:/usr/local/neuware/lib:/usr/mpi/gcc/openmpi-4.1.7rc1/lib
在执行英伟达SOFTWARE测试时,若出现以下报错:
Persistence mode for GPU 7 is disabled. Enable persistence mode by running "nvidia-smi -i <gpuId> -pm 1" as root.
此错误表示当前GPU未启用持久化模式(Persistence Mode),可能导致测试中断或性能不稳定。可通过如下方式处理:
以root权限或使用sudo执行以下命令,立即启用指定GPU的持久模式:
sudo nvidia-smi -i 1 -pm 1 # 启用GPU 1的持久模式
表5-1 参数说明
参数 |
说明 |
-i <gpuId> |
指定目标GPU的物理索引(0,1,2…),例如-i 1(操作第2块GPU) |
-pm 1 |
开启持久模式(-pm 0为关闭) |
表5-2 持久化模式的作用与影响
优点 |
缺点 |
减少GPU初始化延迟,提升任务响应速度 |
GPU空闲时仍维持较高功耗(约5-10W) |
避免因电源状态切换导致的任务中断(如CUDA程序卡死) |
长期启用可能略微增加散热压力(但通常可忽略) |
Ubuntu 22.04默认提供的ethtool版本为5.16。在使用命令ethtool -m eth0查询光模块信息时,只会显示16进制的原始数据,内容难以阅读。这是由于系统自带的ethtool版本较旧或与网卡驱动不适配,导致无法以友好的格式呈现光模块详细信息。
root@css-g86-032:~# ethtool -m eth0
Offset Values
------ ------
0x0000: 19 50 00 07 0c 00 00 00 00 00 00 00 00 00 00 00
0x0010: 00 00 39 e3 7e a9 00 00 38 a6 00 00 00 00 00 00
0x0020: 00 00 00 ff ff ff ff 00 00 01 00 00 06 00 00 00
0x0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0050: 00 00 00 00 00 01 50 1f 44 01 4e 1e 22 05 4c 1d
0x0060: 11 0f ff 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
驱动自带的ethtool与网卡驱动版本兼容性更好,能够正确解析和输出光模块的详细信息。可以通过以下步骤进行修复:
(1) 确认网卡驱动已正常安装。
(2) 找到正确的ethtool工具。
¡ 对于迈络思网卡,ethtool工具通常位于网卡驱动的安装目录:/opt/mellanox/ethtool/sbin/ethtool
¡ 对于云脉网卡,ethtool工具通常位于驱动安装包中的scripts文件夹。
root@test:~/mcr_ubuntu_20.04_x86_rel_2412_rc13.1/scripts# pwd
/root/mcr_ubuntu_20.04_x86_rel_2412_rc13.1/scripts
root@test:~/mcr_ubuntu_20.04_x86_rel_2412_rc13.1/scripts# ll
total 38372
drwxr-xr-x 2 root root 4096 Apr 17 14:53 ./
drwxr-xr-x 6 root root 4096 Apr 25 10:45 ../
-rwxr-xr-x 1 root root 313 Apr 17 14:33 cpufreq.sh*
-rwxr-xr-x 1 root root 1684112 Apr 17 14:53 ethtool*
-rwxr-xr-x 1 root root 7832 Apr 17 14:53 ibdev2netdev*
-rwxr-xr-x 1 root root 5044784 Apr 17 14:53 nic_check*
-rwxr-xr-x 1 root root 15 Apr 17 14:53 README.md*
-rwxr-xr-x 1 root root 2939 Apr 17 14:53 show_gids*
-rwxr-xr-x 1 root root 3416 Apr 17 14:53 show_nic_topo*
-rwxr-xr-x 1 root root 252 Apr 17 14:53 xsc_dump_regs*
-rwxr-xr-x 1 root root 3111424 Apr 17 14:53 xsc_monitor*
-rwxr-xr-x 1 root root 8523442 Apr 17 14:53 xsc_reg_dump_andes*
-rwxr-xr-x 1 root root 8892418 Apr 17 14:53 xsc_reg_dump_diamond*
-rwxr-xr-x 1 root root 5051951 Apr 17 14:33 yundump-aarch64*
-rwxr-xr-x 1 root root 6931381 Apr 17 14:33 yundump-x86_64*
(3) 将该目录下的ethtool文件拷贝覆盖到系统目录。
cp /opt/mellanox/ethtool/sbin/ethtool /usr/sbin/
(4) 再次执行ethtool -m eth0,即可获得可读性更好的光模块详细信息。
DCGM的版本必须为4.1.1。如果已部署了其他版本,例如3.9.3,请先卸载再安装。
Data Center GPU Manager(DCGM)4.1.1是英伟达开发的针对数据中心GPU的管理工具,用于实时监控、配置管理和健康诊断。其功能包括收集GPU遥测数据(如温度、功耗、显存使用率及计算利用率)、调整GPU运行参数,并支持NVSwitch等硬件组件。
以Ubuntu操作系统为例,安装步骤如下:
(1) 获取如下文件,并放在同一目录(例如 :~/dcgm_install):
¡ 核心包(core):datacenter-gpu-manager-4-core_4.1.1_amd64.deb
¡ 专有功能包(proprietary):datacenter-gpu-manager-4-proprietary_4.1.1_amd64.deb
¡ CUDA支持包(以cuda12为例):datacenter-gpu-manager-4-cuda12_4.1.1_amd64.deb
(2) 安装核心包(core)。
cd ~/dcgm_install
sudo dpkg -i datacenter-gpu-manager-4-core_4.1.1_amd64.deb
(3) 安装专有功能包(proprietary)。
提供NVML高级监控等闭源功能。
sudo dpkg -i datacenter-gpu-manager-4-proprietary_4.1.1_amd64.deb
(4) 安装 CUDA支持包(以cuda12为例)。
sudo dpkg -i datacenter-gpu-manager-4-cuda12_4.1.1_amd64.deb
(5) 安装完成后,查看版本信息。
dcgmi --version
dcgmi version: 4.1.1
若Agent已部署完成,需要重启Agent才能生效。
CUTLASS(CUDA Templates for Linear Algebra Subroutines)是英伟达开发的开源库,专为GPU加速的高效矩阵计算设计。
核心功能:
· 优化矩阵乘法(GEMM)和卷积(CONV)运算,是神经网络训练/推理的关键操作。
· 支持多种数值精度(FP32、FP16、TF32、FP8等)。
· 提供模块化、可定制化的模板,允许开发者针对特定GPU架构优化性能。
安装步骤如下:
(1) 获取CUTLASS和googletest开源库,并下载zip包到服务器的同一目录下。
¡ CUTLASS 开源地址:GitHub(NVIDIA/CUTLASS)
¡ googletest开源地址:GitHub(google/googletest)
图6-1 CUTLASS 开源地址
图6-2 googletest开源地址
(2) 解压缩ZIP文件。
unzip cutlass-main.zip
图6-3 解压cutlass-main
unzip googletest-main.zip
图6-4 解压googletest-main
(3) 配置编译选项,安装CMake软件。
a. 配置编译选项。
root@ubuntu62:~# cd /root/zcf/cutlass-main/cmake
root@ubuntu62:/home/cutlass-main/cmake# vi googletest.cmake
图6-5 指定googletest路径
b. 安装CMake软件。
root@ubuntu62:~# sudo apt install cmake
root@ubuntu62:~# cmake --version #查看CMake版本号
(4) 查询CUDA版本号。
图6-6 CUDA版本号为12.4
(5) 根据GPU型号确定计算能力,例如英伟达A100的计算能力为8.0。或者通过如下命令查询GPU卡的计算能力。
nvidia-smi --query-gpu=name,compute_cap --format=csv
表6-1 典型GPU型号、SM版本与计算能力的关系
计算能力 |
SM版本 |
架构 |
典型GPU型号 |
7.0 |
sm_70 |
Volta |
V100 |
8.0 |
sm_80 |
Ampere |
A100, A30 |
8.6 |
sm_86 |
Ampere |
RTX 3090, RTX A6000 |
8.9 |
sm_89 |
Ada Lovelace |
RTX 4090, L40 |
9.0 |
sm_90 |
Hopper |
H100, H200 |
(6) 进行软件编译。
a. 创建构建目录和配置CMake项目。其中需要指定CUDA编译器(nvcc)的目标架构和CUDA Toolkit的安装路径。
root@ubuntu62:~# cd /root/zcf/cutlass-main
root@ubuntu62:~/root/zcf/cutlass-main# mkdir build
root@ubuntu62:~/root/zcf/cutlass-main# cd build/
root@worker12:/zcf/cutlass-main/build# cmake -DCUTLASS_NVCC_ARCHS=’80’ -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.4 --debug-output
CMake参数“DCUTLASS_NVCC_ARCHS”的指定方法:
当服务器GPU混装(例如部分GPU为Ampere架构(sm_80),部分为Hopper架构(sm_90)),使用逗号分隔不同架构的SM版本(例如80,90)。
命令示例:cmake .. -DCUTLASS_NVCC_ARCHS=’80,90’
图6-7 创建构建目录和配置CMake项目
b. 使用make命令进行编译。
root@worker12:/zcf/cutlass-main/build# make -j 12
图6-8 编译
(7) 编译完成后,检查目标程序。
root@ubuntu62:~# cd /root/zcf/cutlass-main/build/tools/profiler
root@worker12:/zcf/cutlass-main/build/tools/profiler# ll
cutlass_profiler即为目标文件,用于CUTLASS的性能分析。
图6-9 cutlass_profiler目标文件
(8) 将cutlass_profiler文件所在路径添加至se-agent安装路径下config文件夹中的export.dependence.path.json文件。重启Agent后生效。
export.dependence.path.json
{
"PATH": "/usr/local/neuware/bin:/usr/local/cuda/bin:/usr/mpi/gcc/openmpi-4.1.7a1/bin:/usr/nccl-tests/build:/root/zcf/cutlass-main/build/tools/profiler",
"LD_LIBRARY_PATH": "/usr/local/neuware/lib64:/usr/local/neuware/lib:/usr/mpi/gcc/openmpi-4.1.7rc1/lib"
}
在部署基础压力工具前,需预先安装配套驱动程序。请参见光合开发者社区发布的版本兼容性说明,安装指定版本的驱动组件。
图6-10 hyqual_readme.md
本章节以安装HyQual 2.2.6为例,请根据实际DCU型号选择对应的HyQual版本。
(1) 下载安装包
访问光合开发者社区,根据实际DCU型号选择匹配的HyQual版本(本示例为hyqual-v2.2.6.tar.bz2)。
图6-11 基础压力工具下载
(2) 解压安装包
将安装包上传至目标服务器(如/opt目录)。执行解压命令:
cd /opt # 切换到安装目录
tar -xvf hyqual-v2.2.6.tar.bz2 # 解压后生成目录 hyqual-v2.2.6
图6-12 解压安装包
(3) 将驱动文件和hyqual所在路径添加至se-agent安装路径下config文件夹中的export.dependence.path.json文件。重启Agent后生效。
export.dependence.path.json
{
"PATH": "/usr/local/neuware/bin:/usr/local/cuda/bin:/usr/mpi/gcc/openmpi-4.1.7a1/bin:/usr/nccl-tests/build:/opt/dtk-24.04.3/bin/hy-smi:/opt/hygon/hyqual/hyqual-v2.2.6",
"LD_LIBRARY_PATH": "/usr/local/neuware/lib64:/usr/local/neuware/lib:/usr/mpi/gcc/openmpi-4.1.7rc1/lib"
}
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!