5. PCIe验收测试工具

5.1. PCIe实时速率查询

命令

mxvs pcie bandwidth --devices <DEVICE_ID>

命令查询获得系统中指定设备的实时PCIe速率。

命令参数

表 5.1 PCIe实时速率查询命令参数

参数

必填

描述

-d, --devices

测试对象PCIe设备编号(GPU ID),支持单个设备查询或多个设备同时查询。默认选择所有PCIe显卡设备。

-c, --continuous

持续监控速率开关

输出结果

../_images/image3.png

图 5.1 实时PCIe速率查询结果示例图

5.2. PCIe单向带宽测试

命令

mxvs pcie benchmark unidirection --src-devices <SRC_DEVICE> --dst-devices <DST_DEVICE>

命令参数

表 5.2 PCIe单向带宽测试命令参数

参数

必填

描述

--src-devices

单向带宽测试起点PCIe设备编号,支持单个设备测试或多个设备同时测试。如果需要指定所有设备,可用 all 作为参数值。

--dst-devices

单向带宽测试终点PCIe设备编号,支持单个设备测试或多个设备同时测试。如果需要指定所有设备,可用 all 作为参数值。

-s, --data-sizes

指定测试的基准数据流,支持单个基准数据流测试或多个基准数据流同时进行测试。可选单位有KB、MB、GB,示例: --data-sizes 1KB,1MB,1GB。默认选择7GB的基准数据流进行测试。

--cpu-affinity

设置CPU亲和度,如需指定多个内核,可通过逗号分隔。

--bref

仅显示测试结果,不显示MetaX GPU基本信息。

--json

将结果以JSON格式输出到文本中,可指定输出的文件名,如 --json result.json

--pre-malloc

完成所有测试设备显存分配后,再进行带宽测试。

-i, --iteration

--pre-malloc 一起使用,用于指定遍历次数,默认100次。

--parallel

并行执行带宽测试,需指定 --pre-malloc

--monitor-log

在测试期间若有内核错误可打印显示。

--no-check

指定该参数关闭数据校验,默认数据校验为打开。

--detail

显示详细GPU信息,默认仅显示整板信息。

输出结果

../_images/image4.png

图 5.2 单向带宽测试结果示例图

备注

若不同NUMA节点下的设备带宽结果相差较大,且通过 --cpu-cores 指定合适的内核后,依旧是一样结果,则可以尝试执行以下命令清理缓存,避免cache导致的跨NUMA节点内存访问。

echo 3 > /proc/sys/vm/drop_caches

5.3. PCIe双向带宽测试

命令

mxvs pcie benchmark bidirection --devices <DEVICE_1>,<DEVICE_2>

命令参数

表 5.3 PCIe双向带宽测试命令参数

参数

必填

描述

-d, --devices

双向带宽测试对象PCIe设备编号,选择两个以上设备测试。如果需要指定所有设备,可用 all 作为参数值。

-s, --data-sizes

指定测试的基准数据流,支持单个基准数据流测试或多个基准数据流同时进行测试。可选单位有KB、MB、GB,示例:--data-sizes 1KB,1MB,1GB。默认选择7GB的基准数据流进行测试。

--cpu-affinity

设置CPU亲和度,如需指定多个内核,可通过逗号分隔。

--bref

仅显示测试结果,不显示MetaX GPU基本信息。

--json

将结果以JSON格式输出到文本中,可指定输出的文件名,如 --json result.json

--monitor-log

在测试期间若有内核错误可打印显示。

--no-check

指定该参数关闭数据校验,默认数据校验为打开。

--detail

显示详细GPU信息,默认仅显示整板信息。

输出结果

../_images/image5.png

图 5.3 双向带宽测试结果示例图

备注

若不同NUMA节点下的设备带宽结果相差较大,且通过 --cpu-cores 指定合适的内核后,依旧是一样结果,则可以尝试执行以下命令清理缓存,避免cache导致的跨NUMA节点内存访问。

echo 3 > /proc/sys/vm/drop_caches

5.4. PCIe眼图特性测试

命令

mxvs eye --devices <DEVICE_1> --phys <PHY_ID> --lanes <LANE_ID>

命令参数

表 5.4 PCIe眼图特性测试命令参数

参数

必填

描述

-d, --devices

测试对象PCIe设备编号,支持单个设备测试或多个设备同时测试。默认选择所有PCIe显卡设备。

-p, --phys

物理层编号,范围:0 - 3,默认选择所有物理层。

-l, --lanes

差分信号组合编号,范围:0 - 3,默认选择所有差分信号组合。

--bref

仅显示测试结果,不显示MetaX GPU基本信息。

备注

  • 在眼图测试前,请确保没有其他进程使用GPU,可用 mx-smi --show-all-process 进行确认。

  • 在眼图测试过程中,请勿中断测试(如按Ctrl+C),以免导致异常。

  • 眼图测试结束后,建议重启服务器。

输出结果

../_images/image6.png

图 5.4 眼图特性测试结果示例图