22
21
8
4
DCU技术达人
HyQual 海光 DCU 标准化压力与性能测试工具详解
2026-10-13 09:53:28
66
## 1.序言 在海光 DCU 加速卡整机交付、硬件验收、环境故障排查场景中,需要一套标准化手段验证加速卡的稳定性、带宽以及算力指标。HyQual作为海光官方推出的 DCU 专用检测工具,集成压力、带宽、峰值算力多类测试能力,可自动识别设备并输出量化测试结果。但终端输出的 PASS/FAIL 仅为初步判定,实际问题定位需要结合日志、硬件规格综合分析。本文对工具版本、部署方式、全部测试项目、输出日志路径及结果判读要点进行完整梳理,为硬件验收、运维排障提供参考依据。 ## 2. HyQual 安装与配置 ### 2.1 系统要求 | 名称 | HyQual | | ---- | -------------------------------------------------------------------- | | 版本 | v2.2.7 | | 硬件要求 | 支持 DCU 硬件版本-Z100L/K100/K100-AI/K100-AI-ECO
16GB 以上内存
20GB 磁盘空间 | | 软件要求 | Python>=3.10
驱动≥6.2.31
Glibc≥2.17
libstdc++-devel≥4.8.5 | | OS支持 | linux 推荐UOS V2510 | ### 2.2本文环境软件版本说明 | 名称 | 版本 | | ------- | ----------------------- | | 服务器系统 | UOS V2510 | | 服务器 | 浪潮 AI 服务器 (NF5468m6) | | AI 加速卡 | K100_AI (4卡) | | ROCm 版本 | rock-6.3.13-V1.12.0.run | | Python | python3.10 | ### 2.3 HQual 安装包下载 安装包下载地址: https://download.sourcefind.cn:65024/5/main/基础压力工具/K100-AI ~~~bash # 下载工具安装包 wget https://download.sourcefind.cn:65024/file/5/基础压力工具/K100-AI/hyqual-v2.2.7.tar.gz # 压缩包解压缩 tar -xvf hyqual-v2.2.7.tar.gz # 进入工具安装包目录 cd hyqual_v2.2.7 ~~~ ### 2.4 HyQual 目录结构介绍 ![1791856495822.png](/api-forum/file/RedirectImage?path=20261013/1791856495915_1791856495822.png '1791856495822.png') | 文件/目录 | 说明 | | ------------ | ----------------------- | | bin | 存放 HyQual 运行所调用的编译工具 | | lib | 存放 HyQual 运行所需要的动态库 | | miniconda3 | HyQual 工具的依赖环境 | | result | HyQual 运行结果保存路径 | | rocm_install | HyQual 运行需要的 runtime 环境 | | run | HyQual 测试项目调用接口 | ## 3. 使用指南 HyQual 支持命令行和交互两种运行方式,它可以自动识别服务器上所有的 DCU 卡并进行相同的操作,目前测试项目如下图所示。 - 交互方式: ~~~bash # 在hyqual_v2.2.7目录下执行如下命令启动交互界面 ./run ~~~ ![1791856520402.png](/api-forum/file/RedirectImage?path=20261013/1791856520830_1791856520402.png '1791856520402.png') - 命令行方式: ~~~bash # 在终端直接执行命令./run 1,sec sec代表需要执行时间单位s(秒) 默认1800s ./run 1,600 ~~~ ### 3.1 工具参数说明 | 项目 | 名称 | 说明 | | --- | --------------------------------------- | ------------------------------- | | 1 | Thermal Core Qualification Test | 计算核心压力测试,记录 DCU 功耗、温度、频率等性能 | | 2 | Thermal Mem Qualification Test | 显存压力测试,记录 DCU 功耗、温度、频率等性能 | | 3 | Thermal Core and Mem Qualification Test | 计算核心和显存同时提供压力,记录 DCU功耗、温度、频率等性能 | | 4 | PCIe Bandwidth Test | 测试 DCU 的 PCIe 带宽 | | 5 | xHCL Bandwidth Test | 测试 DCU 的 XHMI 带宽 | | 6 | Mem Bandwidth Test | 测试 DCU 的显存带宽 | | 7 | Peak Performance Test | 测试 DCU 的不同精度的算力 | | h | HYQual Version | 显示 HyQual 版本信息 | | t | Generate System Topology | 输出 DCU 卡拓扑图 | | q | Quit HYQual | 退出 HyQual 程序 | ### 3.2 Thermal Core 测试 #### 3.2.1 测试项介绍 该测试项是对 DCU 的计算核心进行长时间计算任务。会把 DCU 功耗压到 TDP 功耗,然后计算核心的利用率压到100%,由于采用的随机的数据,所以显存没有多大占用。如果散热有问题,该测试项目可能会不通过。 #### 3.2.2 测试项运行 ~~~bash # 执行测试 ./run 1,600 ~~~ #### 3.2.3 测试结果查看 ![1791856573454.png](/api-forum/file/RedirectImage?path=20261013/1791856573616_1791856573454.png '1791856573454.png') ./result/thermal 中会记录运行数据,命名为:thermal_test_core_x.xlsx,里面有详细的压测信息。首页记载了所有设备的压测总结,包含了计算核心与显存单元压测阶段的最大值,以及它们的门限值,如果温度超过了门限值的话,该测试失败,需要查看服务器的散热有没有问题。除此之外,首页还记载了所有 DCU 设备的监控信息的概览图。 ![1791856586830.png](/api-forum/file/RedirectImage?path=20261013/1791856586940_1791856586830.png '1791856586830.png') 其它 sheet 则记录了每一张 DCU 设备压测过程中的监控信息,包括每一项测试信息的记录以及总的信息概览图。 ![1791856596715.png](/api-forum/file/RedirectImage?path=20261013/1791856596992_1791856596715.png '1791856596715.png') --- ### 3.3 Thermal Mem测试 #### 3.3.1 测试项介绍 该测试项是对 DCU 的显存进行长时间读写任务,然后对读到的数据进行加和等基础操作。 该测试项目会把 DCU 功耗压到 TDP 功耗,显存占用在 4%左右,计算核心的利用率也会压到最大。该项也跟服务器的散热息息相关,如果散热有问题,该测试项目可能会不通过。 #### 3.3.2 测试项目运行 ~~~bash # 执行测试 ./run 2,600 ~~~ #### 3.3.3 测试结果查看 ![1791856611570.png](/api-forum/file/RedirectImage?path=20261013/1791856611874_1791856611570.png '1791856611570.png') ./result/thermal中会记录运行数据,命名为:thermal_test_mem_x.xlsx,里面有详细的压测信息。首页记载了所有设备的压测总结,包含了计算核心与显存单元压测阶段的最大值,以及它们的门限值,如果温度超过了门限值的话,该测试失败,需要查看服务器的散热有没有问题。除此之外,首页还记载了所有 DCU 设备的监控信息的概览图。 ![1791856624159.png](/api-forum/file/RedirectImage?path=20261013/1791856624287_1791856624159.png '1791856624159.png') 其它 sheet 则记录了每一张 DCU 设备压测过程中的监控信息,包括每一项 测试信息的记录以及总的信息概览图。 ![1791856633931.png](/api-forum/file/RedirectImage?path=20261013/1791856634095_1791856633931.png '1791856633931.png') --- ### 3.4 PCIe 带宽测试 #### 3.4.1 测试项介绍 该测试项目是测试 CPU 到 DCU 的数据传输速度,以及 DCU 到 CPU 的数据传输速度。目前 DCU 支持的是 PCIe4.0 以及 X16 的链路带宽。表 为 PCIe 的传输速率。 | PCIE | 5.0 | 4.0 | 3.0 | 2.0 | 1.0 | | ---- | ------ | ------ | ------ | ------- | ------- | | 速率 | 32GT/s | 16GT/s | 8GT/s | 5GT/s | 2.5GT/s | | X16 | 64GB/s | 32GB/s | 16GB/s | 8GB/s | 4GB/s | | X8 | 32GB/s | 16GB/s | 8GB/s | 4GB/s | 2GB/s | | X4 | 16GB/s | 8GB/s | 4GB/s | 2GB/s | 1GB/s | | X1 | 4GB/s | 2GB/s | 1GB/s | 500MB/s | 250MB/s | DCU 实际上运行的 PCIe 版本既跟 CPU 有关,也跟服务器有关:CPU 的影响如下,其它条件满足的条件下,例如:如果采用 HG 7285 CPU,它最高支持 PCIe3.0的协议,则相关的 PCIe 带宽受PCIe3.0 的限制,单向理论带宽是 16GB/s;如果是 HG 7380 CPU,支持 PCIe4.0 的协议,单向理论带宽是 32GB/s。CPU 满足PCIe4.0 的条件,如果服务器仅支持到 PCIe3.0 的话,则 DCU 单向理论带宽是16GB/s;如果服务器支持到 PCIe4.0 的话,则 DCU 单向理论带宽能到 32GB/s。 #### 3.4.2 测试项目运行 ~~~bash # 执行测试 ./run 4,600 ~~~ #### 3.4.3 测试结果查看 ![1791856648329.png](/api-forum/file/RedirectImage?path=20261013/1791856648422_1791856648329.png '1791856648329.png') 一般 PCIe 的实际性能在理论性能的 80%左右,这属于正常的性能损失。测试结果中“Fb to Sys”表示 D2H(device to host)的带宽,“Sys to Fb”表示 H2D(host to device)带宽。 本次测试结果在理论性能的 70%-100%之间,都认为是满足需求,受不同OS、不同平台、不同硬件设备的影响,测试结果会略有差异。测试详细结果可以在 results/bandwidth/pcie_bandwidth_x.log 中查看。 --- ### 3.5 xHMI 带宽测试 #### 3.5.1 测试项介绍 该测试项是针对 DCU互联的测试项目,主要是针对硬件是 DCU的 xHMI桥接卡,以及后续的 HYSwitch 等互联设备。目前支持该测试项的卡有 Z100L,像 K100、K100-AI 海光暂时取消了该接 口。执行测试前,需要先安装好 xHMI 桥接卡,并且冲刷 vbios,使能桥接卡。由于 Z100L 上的 XHMI 桥接卡已经停产,该测试项海光作为保留项目,用于后续卡的互联测试。 --- ### 3.6 显存带宽测试 #### 3.6.1 测试项介绍 此项测试是基于 BabelStream 测试构建的,是在传统 CPU stream 测试的基础上,新增了几项跟 GPU 相关测。主要是在之前四种数组运算(数组的复制Copy、数组的尺度变换-Scale、数组的矢量求和-ADD、数组的复合矢量求和Triad)的基础上加了数组点乘-Dot 等操作。 #### 3.6.2 测试项目运行 ~~~bash # 执行测试 ./run 6,600 ~~~ #### 3.6.3 测试结果查看 ![1791856660803.png](/api-forum/file/RedirectImage?path=20261013/1791856661274_1791856660803.png '1791856660803.png') 该测试主要是基于 BabelStream 测试,关注点主要是在 Copy 测试上,要求Copy 带宽要在理论带宽的 70%-100%以内,表示环境正常。测试结果也会保存到./result/bandwidth/graphicmem_bandwidth_x.log。 --- ### 3.7 硬件算力测试 #### 3.7.1 测试项介绍 本测试项基于通用矩阵乘(GEMM,General Matrix Multiplication)运算,根据不同精度的GEMM 运算,来计算 DCU 的实际算力值。基本原理是通过计算固定 size 的 gemm 运算需要的计算量,以及收集完成 gemm 运算的时间,来计算 DCU 的实际工作算力。根据不同的硬件支持的数据类型,该测试项目会测试不同的 GEMM 结果。 常见的 GEMM 如下: dgemm:双精(double)gemm 运算,数据精度 fp64 sgemm:单精(single)gemm 运算,数据精度 fp32 hgemm:半精(half)gemm 运算,数据精度 fp16 bf16gemm:bf16(Brain Float 16)gemm 运算,数据精度 bf16 tf32gemm:tf32(Tensor Float 32) gemm 运算,数据精度 tf32 i8gemm:int8 gemm 运算,数据精度 int8 u8gemm:unsigned int8 gemm 运算,数据精度 unsigned int8 #### 3.7.2 测试项目运行 ~~~bash # 执行测试 ./run 7,600 ~~~ #### 3.7.3 测试结果查看 ![1791856672267.png](/api-forum/file/RedirectImage?path=20261013/1791856672442_1791856672267.png '1791856672267.png') 该测试会根据硬件,自动选择相应支持的 Gemm 运算,依次进行不同类型的 gemm运算,每一项 gemm运算会指定所有的卡运行。所有的 gemm运算会运行三次,取三次测试的最优结果。正常算力测试结果一般满足标称算力的 90%+ ### 3.8 其它 #### 3.8.1 测试项目运行 输入 h 将提示 HyQual 的版本信息。 输入 t 将输基于 numa 的拓扑图,在 result/目录生成 topology.txt 文件。 输入 q 将退出 HyQual 程序。 #### 3.8.2 测试结果查看 ![1791856683589.png](/api-forum/file/RedirectImage?path=20261013/1791856683806_1791856683589.png '1791856683589.png')
全部评论(0)
只看楼主
暂无数据
--
楼主
Level.5
0 帖子
楼主热帖
暂无数据