9. P2P验收测试工具

9.1. P2P带宽测试

命令

mxvs p2p --src-devices <SRC_DEVICE_ID1>, <SRC_DEVICE_ID2> --dst-devices <DST_DEVICE_ID1>, <DST_DEVICE_ID2>

命令参数

表 9.1 P2P带宽测试命令参数

参数

必填

描述

--src-devices

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

--dst-devices

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

-s, --data-sizes

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

--mode

指定D2D带宽测试时,数据拷贝的模式:

  • ingress:源设备从目的设备拷贝数据

  • egress:源设备向目的设备拷贝数据

默认选择 egress

--unidirection

P2P测试单向数据发送使能开关。

--parallel

并行带宽测试使能开关,需与 --unidirection 一同使用,示例:

  • GPU0同时向GPU1、GPU2、GPU3拷贝数据:

    mxvs p2p --src-devices 0 --dst-devices 1,2,3 --unidirection --parallel

  • GPU1、GPU2、GPU3同时向GPU0拷贝数据:

    mxvs p2p --src-devices 1,2,3 --dst-devices 0 --unidirection --parallel

  • 同时进行GPU0与GPU2,GPU1与GPU3间双向数据拷贝:

    mxvs p2p --src-devices 0,2,1,3 --dst-devices 2,0,3,1 --unidirection --parallel

--json

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

-f --force

不考虑TOPO关系强制执行P2P带宽测试。

--filter-topo-type

选择测试的链路类型:pcie,metaxlink,eth 及all,默认为 all

--monitor-log

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

-c, --continuous

持续监控带宽开关。

--pre-malloc

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

-i, --iteration

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

--no-check

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

--sdma

指定用SDMA engine 执行P2P带宽测试,默认为XCORE。

备注

默认以7GB的基准数据流进行GPU间双向带宽测试。当同时指定多个源设备或目的设备,默认遍历所有指定设备组合,依次执行双向带宽测试。

输出结果

../_images/image12.png

图 9.1 P2P带宽测试示例图