5. PCIe验收测试工具
5.1. PCIe实时速率查询
命令
mxvs pcie bandwidth --devices <DEVICE_ID>
命令查询获得系统中指定设备的实时PCIe速率。
命令参数
参数 |
必填 |
描述 |
|---|---|---|
|
否 |
测试对象PCIe设备编号(GPU ID),支持单个设备查询或多个设备同时查询。默认选择所有PCIe显卡设备。 |
|
否 |
持续监控速率开关 |
输出结果
图 5.1 实时PCIe速率查询结果示例图
5.2. PCIe单向带宽测试
命令
mxvs pcie benchmark unidirection --src-devices <SRC_DEVICE> --dst-devices <DST_DEVICE>
命令参数
参数 |
必填 |
描述 |
|---|---|---|
|
是 |
单向带宽测试起点PCIe设备编号,支持单个设备测试或多个设备同时测试。如果需要指定所有设备,可用 |
|
是 |
单向带宽测试终点PCIe设备编号,支持单个设备测试或多个设备同时测试。如果需要指定所有设备,可用 |
|
否 |
指定测试的基准数据流,支持单个基准数据流测试或多个基准数据流同时进行测试。可选单位有KB、MB、GB,示例: |
|
否 |
设置CPU亲和度,如需指定多个内核,可通过逗号分隔。 |
|
否 |
仅显示测试结果,不显示MetaX GPU基本信息。 |
|
否 |
将结果以JSON格式输出到文本中,可指定输出的文件名,如 |
|
否 |
完成所有测试设备显存分配后,再进行带宽测试。 |
|
否 |
随 |
|
否 |
并行执行带宽测试,需指定 |
|
否 |
在测试期间若有内核错误可打印显示。 |
|
否 |
指定该参数关闭数据校验,默认数据校验为打开。 |
|
否 |
显示详细GPU信息,默认仅显示整板信息。 |
输出结果
图 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>
命令参数
参数 |
必填 |
描述 |
|---|---|---|
|
是 |
双向带宽测试对象PCIe设备编号,选择两个以上设备测试。如果需要指定所有设备,可用 |
|
否 |
指定测试的基准数据流,支持单个基准数据流测试或多个基准数据流同时进行测试。可选单位有KB、MB、GB,示例: |
|
否 |
设置CPU亲和度,如需指定多个内核,可通过逗号分隔。 |
|
否 |
仅显示测试结果,不显示MetaX GPU基本信息。 |
|
否 |
将结果以JSON格式输出到文本中,可指定输出的文件名,如 |
|
否 |
在测试期间若有内核错误可打印显示。 |
|
否 |
指定该参数关闭数据校验,默认数据校验为打开。 |
|
否 |
显示详细GPU信息,默认仅显示整板信息。 |
输出结果
图 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>
命令参数
参数 |
必填 |
描述 |
|---|---|---|
|
否 |
测试对象PCIe设备编号,支持单个设备测试或多个设备同时测试。默认选择所有PCIe显卡设备。 |
|
否 |
物理层编号,范围:0 - 3,默认选择所有物理层。 |
|
否 |
差分信号组合编号,范围:0 - 3,默认选择所有差分信号组合。 |
|
否 |
仅显示测试结果,不显示MetaX GPU基本信息。 |
备注
在眼图测试前,请确保没有其他进程使用GPU,可用
mx-smi --show-all-process进行确认。在眼图测试过程中,请勿中断测试(如按Ctrl+C),以免导致异常。
眼图测试结束后,建议重启服务器。
输出结果
图 5.4 眼图特性测试结果示例图