• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

H3C AIDC Agent部署指导-E72xx-5W202

01-正文

本章节下载 01-正文  (1.70 MB)

01-正文


1 概述

AIDC Agent用于安装在数据中心网络中的GPU/存储服务器上,安装完成后,对数据中心控制组件(SeerEngine-DC)、分析组件和U-Center提供服务。

·     与控制组件的交互

AIDC Agent能够自动推送服务器上的GPU和网卡信息至控制组件。基于这些信息,控制组件可以生成服务器接入详情,展示网卡和GPU的连接关系,并自动化配置网络参数,包括路由(route)、规则(rule)和RoCE网卡设置。

·     与分析组件的交互

AIDC Agent支持将GPU、网卡、光模块、文件系统等关键信息发送到分析组件。它还能执行多项检查,包括GPU状态、网卡状态、网络流量、网络配置和性能分析等。

·     与U-Center的交互

AIDC Agent支持将GPU、网卡、光模块、文件系统等关键信息发送到U-Center的IOM组件。该组件负责监控这些资源,收集相应类型的监控指标,并在监控指标超出设定的告警阈值时,通过平台的告警模块及时发出通知。

说明

仅裸金属环境下支持此功能,容器化环境下不支持。

 

 


2 安装前的准备工作

2.1  服务器配置需求

2.1.1  安装包及场景说明

AIDC Agent支持裸金属部署和容器化部署,两种场景的部署说明如下。

表2-1 软件安装包及场景说明

场景

部署说明

软件包

裸金属部署

AIDC Agent功能已包含在控制组件软件包(SeerEngine_DC-version-MATRIX.zip)中。部署控制组件后,在控制组件界面配置相关参数即可使用,无需手动上传软件包单独部署。

SeerEngine_DC-version-AIDCAgent.zip

(仅用于升级)

容器化部署

手动上传软件包至服务器部署。

SeerEngine_DC-version-AIDCAgent-K8S.zip

 

2.1.2  硬件配置需求

服务器型号

硬件要求

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.1.3  软件配置需求

表2-3 基础依赖

操作系统

依赖软件

Ubuntu 22.04

银河麒麟V10 SP3

Rocky Linux 8.8

·     openjdk-8-jdk:Java开发工具包,用于运行和开发Java应用程序。

·     LLDPD:链路层发现协议守护进程,用于网络拓扑发现和管理。

·     NetworkManager:网络管理工具,提供网络连接的自动检测和配置。

·     unzip:解压缩工具,用于解压缩.zip格式的文件。

·     tar:归档打包工具,用于创建和解压缩.tar格式的文件。

·     lshw:硬件信息检测工具,用于生成详细的系统硬件信息。

 

表2-4 深度性能测试依赖

GPU卡硬件厂商

依赖软件

说明

英伟达

DCGM 4.1.1:英伟达开发的针对数据中心 GPU 的综合性管理工具,主要用于实时监控、配置管理以及健康状态诊断。

安装说明请参见“安装Data Center GPU Manager(DCGM)

CUTLASS:英伟达开发的开源库。

提示

编译CUTLASS的测试或示例,需预先安装GoogleTest,并在CMake中正确配置路径。

 

CUTLASS、GoogleTest、CMake的安装说明请参见“安装深度学习加速库(NVIDIA CUTLASS)

说明:如果需要使用分析组件训前准备页面的部分性能测试功能(加速卡算力性能检测/功耗性能检测/HBM性能检测)和部分健康检查功能(加速卡芯片健康检测/软硬件兼容性检查),需要安装上述依赖软件。

 

2.1.4  支持的GPU

厂商

硬件款型

GPU卡硬件型号

英伟达

A100,H800,H20

昆仑

R300,P800

天数

MR-V100,BI-V150

沐曦

MXC500

寒武纪

MLU370-M8

摩尔线程

MTT S4000

 

2.1.5  支持的RDMA网卡

厂商

硬件款型

RDMA网卡型号

云脉

metaScale-200

Mellanox

Mellanox CX6 CX7

 

2.1.6  Kubernetes环境

AIDC Agent容器化部署支持Kubernetes v1.21.14。

2.2  安装前的检查工作

部署AIDC Agent前,请先完成以下工作:

(1)     完成SeerEngine-DC的安装工作。

(2)     完成服务器的安装和上线工作。

 

 


3 AIDC Agent裸金属部署指导

3.1  基础环境配置

(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)     安装NetworkManager。

root@server1:~# apt install network-manager -y

root@server1:~# systemctl enable NetworkManager.service

root@server1:~# systemctl start NetworkManager.service

root@server1:~# systemctl status NetworkManager.service   #查看NetworkManager服务状态

(5)     安装lshw。

说明

建议先使用sudo lshw命令检查lshw是否安装。如果已安装,会显示硬件信息;如果未安装,会提示命令未找到。

 

a.     通过如下命令安装lshw:

root@server1:~# sudo apt install lshw -y

b.     安装完成后,可以通过以下命令查看硬件信息:

sudo lshw

3.2  部署AIDC Agent

注意

安装Agent后,请勿修改操作系统的hostname。

 

在裸金属环境下,AIDC Agent功能已包含在控制组件软件包(SeerEngine_DC-version-MATRIX.zip)中。部署控制组件后,请在控制组件界面完成相关配置。具体步骤如下:

(1)     在浏览器中输入控制组件的登录地址“http://ip_address:30000”,其中“ip_address”为北向业务虚IP,进入登录页面。

图3-1 登录控制组件

(2)     登录控制组件后进入端侧管理页面。

图3-2 端侧管理页面路径说明

视图名称

页面路径

AD-DC

自动化>数据中心网络>RoCE网络>端侧管理>端侧管理

AD-AIDC

管理>端网管理>端侧管理>端侧管理

 

(3)     单击<服务器纳管>按钮,在下拉框中选择服务器的纳管方式。

¡     自动发现:系统从链路模块导入服务器数据。

¡     导入服务器IP:根据“AIDC智算中心服务器样例”模板配置服务器名称及管理IP后,将模板文件手动上传至页面。

服务器纳管完成后,服务器信息将展示在页面中,若Agent未安装,显示为--。

图3-3 服务器纳管成功且Agent未安装

 

(4)     选择一个或多个服务器后单击<Agent管理>按钮,在下拉框中选择“安装”选项,并在弹出的对话框中配置相关参数。配置完成后单击<确定>按钮。

图3-4 为手工导入的服务器安装Agent

 

说明

·     当所选服务器的来源为手工导入,且导入的模板中已配置SSH用户名和密码,安装Agent时,页面弹框中的服务器SSH用户名和密码不支持输入。

·     为多个服务器安装Agent时,若同时存在手动导入和页面配置的用户名/密码,则以手动导入的信息为准。

 

(5)     若控制组件和分析组件在不同集群分开部署,Agent安装完成后,需进入Agent所在服务器后台,使用vi命令编辑config/agent.config.json文件,使dc service_ip和 sa service_ip取值不同。输入SeerEngine-DC的北向业务虚IP,用于向SeerEngine-DC上传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-1 参数说明

参数

说明

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。可选参数

 

(6)     (可选)除页面安装Agent之外的场景下(例如:自定义目录安装),需要以root权限执行start_agent.sh脚本启动Agent服务。如果agent_master_ip是本服务器网卡上的IP就以master角色启动,否则以worker角色启动。以master角色启动时,Agent会将收集到的信息上送至SeerEngine-DC;以worker角色启动时,Agent会将收集到的信息优先上送至master,master异常时,Agent会将收集到的信息上送至SeerEngine-DC。

a.     添加防火墙规则,允许流量通过指定的Agent监听端口。

以防火墙为firewalld为例,执行如下命令:

root@server1:~/SeerEngine_DC-E7201_AIDCAgent# sudo firewall-cmd --zone=public --add-port=7008/tcp --permanent     #7008为缺省端口号,请按实际配置替换为Master agent所在服务器的端口

root@server1:~/SeerEngine_DC-E7201_AIDCAgent# sudo firewall-cmd --reload

这个命令的作用是将TCP流量通过指定端口的访问权限添加到防火墙配置中,并保持该规则在防火墙重启后仍然有效。

b.     Agent服务需要在每一台服务器上手动执行脚本启动。

root@server1:~/SeerEngine_DC-E7201_AIDCAgent# sudo ./start_agent.sh

--saIp 192.168.118.50 --seIp 192.168.118.51

其中,seIp和saIp为必选参数,其他均为可选参数。

说明

如果在手动执行脚本启动时未配置可选参数,则可选参数的取值将依据config/agent.config.json中的配置。以下是未配置可选参数时手动执行脚本启动的命令示例:

root@server1:~/SeerEngine_DC-E7201_AIDCAgent# sudo ./start_agent.sh --seIp 192.168.118.50  --saIp 192.168.118.50

 

表3-2 参数说明

长参数(推荐)

短参数

说明

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对宿主机进行同轨网络路由配置。

·     参数网卡的地址由DHCP分配,路由及规则由Agent指定,请勿随意修改,以避免出现路由及规则配置冲突,导致流量异常。

·     可使用如下命令快速配置和启动Agent: sudo ./start_agent.sh --seIp 192.168.118.50  --saIp 192.168.118.50

·     在Agent服务启动后,请勿删除对应的安装包解压的目录。

 

(7)     Agent启动时,会检查本地是否存在config/agent.network.config.yml文件(RoCE配置下发参数的配置文件)。

¡     如果存在该文件,则以该配置文件加载运行,并下发参数网卡的RoCE配置。

¡     如果不存在该文件,则会向SeerEngine-DC获取已配置的服务器网卡参数模板(可在SeerEngine-DC的RoCE策略详情页面中查看),并在本地生成agent.network.config.yml文件,以该配置文件加载运行,并下发参数网卡的RoCE配置。

注意

·     正常Agent运行后,agent.network.config.yml文件就会在本地生成,如果一直未生成,请检查日志进行排错。

·     请勿随意删除agent.network.config.yml文件中的注释内容,必要时,可将注释打开以便修改配置参数。

·     根据现场实际需求修改配置文件中的配置参数后,需要在控制组件页面执行“重启Agent服务”操作才能使修改生效。

·     无论Agent是否在运行,一旦下发了RoCE配置,这些配置将会在开机时自动执行。

 

(8)     在控制组件页面上查看Agent运行状态。

图3-5 控制组件页面

 

说明

服务器重启后,Agent会自动启动。

 

3.3  查看服务器接入信息

(1)     在SeerEngine-DC的[监控>拓扑管理>数据中心拓扑>基础网络拓扑]页面,右键单击Leaf设备,选择“服务器接入信息”,即可查看服务器的接入信息。

(2)     如果出现网络异常等情况,造成SeerEngine-DC未获取到准确的GPU信息,可尝试在控制组件页面执行“重启Agent服务”操作。

3.4  查看服务器的监控概览

提示

此功能依赖于U-Center的IOM组件,请确保该组件已成功部署。

 

(1)     在[管理>基础资源管理>Agent管理]页面,单击列表中“Agent主机IP”链接,弹出Agent详情信息窗口,查看Agent主机IP、主机类型、安装路径和日志路径信息。

图3-6 Agent详情

 

(2)     单击列表中的“管理的资源”区段的图标,可进入该资源详情页面,查看服务器的监控概览、告警信息等。

图3-7 查看监控概览

 

3.5  软件升级及卸载

3.5.1  升级

注意

·     Agent升级完成后,agent.config.json的配置参数需与升级前一致。

·     若在服务器后台通过命令行安装的Agent,升级时需先手动卸载,再进入控制组件页面安装新版本。

 

(1)     获取新的Agent软件安装包,软件包的名称格式为SeerEngine_DC-version-AIDCAgent.zip,其中version为软件包版本号。

(2)     登录控制组件后进入端侧管理页面。

(3)     选择需要升级Agent的服务器,单击<Agent管理>按钮,在下拉框中选择“升级”选项,并在弹出的对话框中配置相关参数。配置完成后单击<确定>按钮。

图3-8 为手工导入的服务器升级Agent

 

图3-9 同时为手工导入和Agent发现的服务器升级Agent

 

说明

·     当所选服务器的来源为手工导入,且导入的模板中已配置SSH用户名和密码,升级Agent时,页面弹框中的服务器SSH用户名和密码不支持输入。

·     为多个服务器升级Agent时,若同时存在手动导入和页面配置的用户名/密码,则以手动导入的信息为准。

 

(4)     Agent升级完成后,Agent状态将显示为正常。

图3-10 Agent状态

 

3.5.2  卸载

(1)     登录控制组件后进入端侧管理页面。

(2)     选择需要卸载Agent的服务器,单击<Agent管理>按钮,在下拉框中选择“卸载”选项即可。


4 AIDC Agent容器化部署指导

4.1  基础环境配置

(1)     在宿主机上安装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学习到的系统名称与服务器的系统名称一致。

 

(2)     在宿主机上安装lshw。

说明

建议先使用sudo lshw命令检查lshw是否安装。如果已安装,会显示硬件信息;如果未安装,会提示命令未找到。

 

a.     通过如下命令安装lshw:

root@server1:~# sudo apt install lshw -y

b.     安装完成后,可以通过以下命令查看硬件信息:

sudo lshw

4.2  在K8s上部署AIDC Agent

注意

安装Agent后,请勿修改操作系统的hostname。

 

(1)     将AIDC Agent安装包上传到K8s集群所有服务器的任意目录下,安装包名称格式为SeerEngine_DC-version_AIDCAgent-K8S.zip,其中version为版本号。

(2)     解压AIDC Agent安装包,进入解压后的目录。

root@server1:~# unzip SeerEngine_DC-E7201_AIDCAgent-K8S.zip

root@server1:~# cd SeerEngine_DC-E7201_AIDCAgent-K8S

root@server1:~/ SeerEngine_DC-E7201_AIDCAgent-K8S# ll

总用量 258708

-rw------- 1 root root 264911872 12月 25  2024 dc-agent-E7201.tar

-rwxr-xr-x 1 root root      3374 12月 25  2024 se-agent-deployment.yaml

(3)     使用vi命令编辑se-agent-deployment.yaml文件,修改seIp和saIp。

…略…

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 --saIp 192.168.100.101

…略…

图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。必选参数

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命令编辑se-agent-deployment.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

…略…

 

(4)     加载镜像。

Docker环境:

如果环境中未安装Hubor镜像仓库,则使用如下命令导入镜像:

root@server1:~/ SeerEngine_DC-E7201_AIDCAgent-K8S# docker load -i dc-agent-*.tar

如果环境中已安装Hubor镜像仓库,执行如下操作:

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的修改,需要修改se-agent-deployment.yaml文件中image字段的定义,将其修改为Hubor仓库镜像标签。

Containerd环境:

root@server1:~/ ctr -n k8s.io images import dc-agent-E7201.tar

(5)     K8s拉起AIDC Agent容器,待集群中所有节点都执行完上述操作后,执行如下命令拉起容器。

root@server1:~/ SeerEngine_DC-E7201_AIDCAgent-K8S# kubectl apply -f se-agent-deployment.yaml

(6)     如果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对宿主机进行同轨网络路由配置。

·     参数网卡的地址由DHCP分配,路由及规则由Agent指定,请勿随意修改,以避免出现路由及规则配置冲突,导致流量异常。

 

(7)     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文件就会在宿主机生成,如果一直未生成,请检查日志进行排错。

·     请勿随意删除agent.network.config.yml文件中的注释内容。如果需要修改配置参数,可将注释取消后进行修改。

·     请根据实际需求修改配置文件中的参数。修改后,需要在控制组件页面执行“重启Agent服务”操作才能生效。

·     无论Agent是否在运行,一旦下发了RoCE配置,这些配置将会在容器启动时自动执行。

 

(8)     通过如下命令,查询Agent运行状态:

root@server1:~/ SeerEngine_DC-E7201_AIDCAgent-K8S# kubectl get pod -n addc-roce

NAME                      READY   STATUS    RESTARTS   AGE

se-agent                  1/1     Running   0          10s

(9)     在控制组件页面上查看Agent运行状态。

图4-2 控制组件页面

 

4.3  查看服务器接入信息

(1)     在SeerEngine-DC的[监控>拓扑管理>数据中心拓扑>基础网络拓扑]页面,右键单击Leaf设备,选择“服务器接入信息”,即可查看服务器的接入信息。

(2)     如果出现网络异常等情况,造成SeerEngine-DC未获取到准确的GPU信息,可尝试在控制组件页面执行“重启Agent服务”操作。

注意

严禁进入容器环境执行sudo ./start_agent.sh命令重启,该操作会绕过配置加载机制,导致预置环境变量丢失、动态注入的配置失效等严重后果。

 

4.4  软件升级及卸载

4.4.1  升级

(1)     可使用cp -r命令备份当前版本(例如:cp -r SeerEngine_DC-E7201_AIDCAgent-K8S SeerEngine_DC-E7201_AIDCAgent-K8S_BAK),以便在版本回退时使用。

(2)     解压新版本的AIDC Agent安装包,进入解压后的目录,修改 se-agent-deployment.yaml中start_agent的参数。具体操作说明请参见(2)~(3)

(3)     重新导入镜像文件,具体操作说明请参见“(4)加载镜像。”。

(4)     执行kubectl apply -f se-agent-deployment.yaml,观察容器运行状态。

4.4.2  卸载

(1)     执行kubectl delete -f se-agent-deployment.yaml卸载容器。

(2)     若还需要删除镜像,执行如下步骤:

Docker环境:

a.     查询镜像

[root@zcf01 ~]# docker images | grep agent

dc-agent                                                         E7202                                             08eba7e1138d   Less than a second ago   262MB

matrix-registry.h3c.com:8088/dc-agent                            E7202                  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:E7201    application/vnd.docker.distribution.manifest.v2+json sha256:23f8522ac93435357d1d0c0b2b196fcc773d8b3ef197c3f18c503132adc15677 252.7 MiB linux/amd64 -

b.     删除指定镜像

ctr images remove docker.io/library/dc-agent:E7201

(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

 

 

 


5 常见问题解答

5.1  在寒武纪GPU环境中,如果在运行Agent时出现UnsatisfiedLinkError错误,并提示找不到“libcndev.so”库,如何处理?

(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”则是目标路径,将在这里创建符号链接,指向源文件。

5.2  在寒武纪GPU环境中,如果在运行Agent时出现错误,提示找不到cn相关库或者找不到cn相关命令,如何处理?

(1)     确保已安装寒武纪驱动程序和CNToolkit,并知道其安装路径,例如/usr/local/neuware/。

(2)     重新启动Agent服务,并指定正确的工作路径。

sudo ./start_agent.sh -w /usr/local/neuware/

或者

sudo ./start_agent.sh --hwj /usr/local/neuware

5.3  英伟达GPU测试提示“Persistence Mode Disabled”,如何处理?

在执行英伟达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程序卡死)

长期启用可能略微增加散热压力(但通常可忽略)

 

 

 


6 附录

6.1  英伟达GPU深度性能测试依赖软件的安装流程

6.1.1  安装Data Center GPU Manager(DCGM)

注意

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才能生效。

 

6.1.2  安装深度学习加速库(NVIDIA CUTLASS

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"

}

 

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们