带宽测试

测试项功能

带宽测试主要用于测试总线带宽、内存带宽和时延。

注意事项

测试项参数查询

用户可任选以下指令之一查看带宽测试命令的可用参数。

ascend-dmi --bw -h

ascend-dmi --bw --help

命令各参数解释如表1所示。

表1 参数说明

参数

说明

是否必填

[-bw, --bw, --bandwidth]

使用该参数测试芯片的带宽。支持-bw,但建议使用--bw或--bandwidth。

[-t, --type]

指测试数据流向的分类。

当使用带宽和时延测试功能时,测试的数据流可以分为以下方向,若不填写数据流方向则默认返回h2d、d2h、d2d三个方向的带宽和时延信息。
  • h2d:指数据从Host侧内存通过PCIe总线搬移到Device侧内存,测试整体带宽及时延。
  • d2h:指数据从Device侧内存通过PCIe总线搬移到Host侧内存,测试整体带宽及时延。
  • d2d:指数据从Device侧内存搬移到同一Device侧内存(主要是用于测试Device侧的内存带宽),测试整体带宽及时延。
  • p2p:测试指定源头Device到目标Device的传输速率和时延,仅支持Ascend 910系列芯片设备。当p2p测试不指定Device时,采用默认方式进行测试,不需要输入size、et、format等参数,输入这些参数也不会影响默认方式的结果。

[-s, --size]

指传输数据大小并指定测试结果显示方式,传输数据的取值范围为1Byte~512M,单位为字节。

显示方式分为定长模式和步长模式。若“-s”参数缺省则为步长模式,输出传输数据的带宽测试结果,传输数据的范围为2Byte~32M。若“-s”参数不缺省则为定长模式,“-s”参数后必须填写数值指定传输数据的大小,不填写属于错误写法。

除此之外,当使用p2p模式,若“-s”参数缺省,默认传输数据值为128M。若“-s”参数不缺省,“-s”参数后必须填写数值指定传输数据的大小,不填写属于错误写法。

[-et, --et, --execute-times]

指迭代次数,即内存拷贝次数。取值范围为[1, 1000],若不填写拷贝次数则默认为5。

[-d, --device]

指定需要测试带宽的Device ID,Device ID是指昇腾芯片的ID,用户可以执行ascend-dmi --info命令,在显示界面表格中的Chip参数处获得芯片数量。比如一个Atlas 300I 推理卡配置4个昇腾芯片,则Device ID的取值范围为[0,3]。若不填写Device ID则默认返回Device 0带宽信息。

[-ds, --ds, --device-src]

指定p2p测试的源头Device的ID号。必须与[-dd, --dd, --device-dst]参数成对指定。

[-dd, --dd, --device-dst]

指定p2p测试的目标Device的ID号。必须与[-ds, --ds, --device-src]参数成对指定。

[-fmt, --fmt, --format]

指定输出格式,可以为normal或json。若未指定则默认为normal。

  • --ds与--dd参数需要配合使用,单独使用是错误用法,使用时参数后的数值不能相同。
  • ascend-dmi --bw后使用-t,-s等多个二级参数时,可任意指定这些参数的排列顺序,不影响命令结果输出。例如:ascend-dmi --bw -t h2d -d 0 --et 100ascend-dmi --bw -t h2d --et 100 -d 0输出结果相同。
  • 由于NPU的工作模式会影响p2p带宽测试的计算方式,若出现p2p带宽测试结果与标称带宽相差过大,建议用户使用SMP模式。操作如下:用户登录IBMC,执行如下命令设置为SMP模式,其中1为SMP,0为AMP。

    ipmcset -d npuworkmode -v 1

使用实例

使用实例中命令的回显在推理服务器与训练服务器类似,截图取自推理服务器,此处以Ascend 310芯片为例。需要注意,p2p测试命令截图取自训练服务器,因为p2p测试仅支持Ascend 910系列芯片设备,即训练服务器。