时延测试
测试项功能
时延测试主要用于测试CPU、NPU相关链路的时延。
测试流程
若使用MPI方式测试超节点P2P时延,请参考《CANN HCCL性能测试工具用户指南》的“MPI安装与配置”章节提前在环境上安装配置MPI,并参考《CANN HCCL性能测试工具用户指南》的“工具编译”章节配置其环境变量,仅支持使用Open MPI-4.1.5版本。请勿使用上述参数和使用示例提到以外的参数、配置及环境变量,Open MPI其余执行参数、环境变量、配置文件可参考《Open MPI使用参考》。
请确认参数填写的IP地址有效。
测试项特定参数查询
用户可任选以下指令之一查看时延测试命令的可用参数。
ascend-dmi -l -h
ascend-dmi --latency --help
命令各参数解释如表1所示,表格内仅展示测试项特定参数,其余公共参数请参见公共参数说明。
参数 |
说明 |
是否必填 |
约束 |
|---|---|---|---|
[-l, --latency] |
使用该参数测试芯片的时延。 |
是 |
- |
[-t, --type] |
指定测试数据流向的分类。 当使用时延测试功能时,测试的数据流可以分为以下方向。若不填写数据流方向,则默认返回h2d和d2h两个方向的时延测试结果。
|
否 |
|
[-s, --size] |
指定传输数据大小。默认为512Byte。传输数据的取值范围如下:
建议指定大小为512的2次幂(例如512、1024、2048、4096等)。如果指定的大小不是512的 2次幂,在实际测试时使用的size将会自动向上对齐为最接近512的2次幂。 |
否 |
- |
[-d, --device] |
指定时延测试的Device ID,Device ID是指昇腾AI处理器的逻辑ID。
|
否 |
Atlas 350 标卡暂不支持指定该参数。 |
[-ds, --ds, --device-src] |
指定P2P时延测试的源头Device的ID号。必须与[-dd, --dd, --device-dst]参数成对指定。 不指定该参数时:
|
否 |
- |
[-dd, --dd, --device-dst] |
指定P2P时延测试的目标Device的ID号。必须与[-ds, --ds, --device-src]参数成对指定。 不指定该参数时:
|
否 |
- |
[-sp, --sp, --super-pod] |
指定该参数时进行超节点的时延测试。该参数只支持[-t, --type]参数指定p2p时使用。 |
否 |
Atlas 350 标卡暂不支持指定该参数。 |
注:
|
|||
使用示例
- 以使用Atlas 900 A3 SuperPoD 超节点,不带参数为例(不带参数则默认查询在Device 0,以h2d、d2h两个数据流向显示的时延测试结果)。
ascend-dmi -l -q
若返回如下所示信息,表示工具运行正常。
Device Id: 0 Data Size: 512 B Device to Host Latency: 802.421 ns Host to Device Latency: 766.108 ns
- 以使用Atlas 900 A3 SuperPoD 超节点,指定测试数据流向为h2d,size为1024Byte,Device为0为例。
ascend-dmi -l -t h2d -s 1024 -d 0 -q
若返回如下所示信息,表示工具运行正常。
Device Id: 0 Data Size: 1024 B Host to Device Latency: 760.847 ns
- 以使用Atlas 900 A3 SuperPoD 超节点,指定测试数据流向为h2d,size为1024Byte,Device为0,输出格式为json为例。
ascend-dmi -l -t h2d -s 1024 -d 0 --fmt json
若返回如下所示信息,表示工具运行正常。
{ "Latency": [ { "device_id": "0", "latency": "730.551392 ns", "size": "1024 Bytes", "type": "Host to Device Test" } ] } - 以使用Atlas 900 A3 SuperPoD 超节点在P2P模式下,不指定源头Device ID和目标Device ID,节点内P2P时延测试为例。
ascend-dmi -l -t p2p -q
若返回如下所示信息,表示工具运行正常。
Peer to Peer Test Latency Matrix(ns) DataSize: 512B D\D 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 *** 325.16 969.35 966.85 966.79 956.41 966.18 960.39 956.57 953.76 953.14 946.77 944.15 981.92 980.80 974.58 1 330.05 *** 968.09 970.09 961.34 959.97 964.92 965.87 951.86 956.85 949.81 951.18 967.33 971.98 964.08 965.35 2 939.32 968.42 *** 326.20 959.93 958.73 957.58 958.16 953.78 959.57 945.64 946.91 936.11 942.73 973.71 972.00 3 958.91 957.44 340.43 *** 953.08 940.04 949.74 942.95 944.34 982.36 976.16 971.29 969.47 966.37 965.55 960.38 4 963.15 962.73 954.09 957.77 *** 356.44 953.38 945.96 948.74 977.68 972.01 971.85 968.67 967.59 967.54 956.16 5 950.61 942.05 939.59 967.77 324.42 *** 969.67 969.99 966.62 972.40 957.07 958.05 950.77 955.16 943.99 942.91 6 948.66 948.03 968.72 969.73 967.50 965.83 *** 337.61 969.89 967.87 961.44 957.44 954.07 949.16 942.88 933.82 7 976.93 975.45 967.34 968.76 959.31 957.11 349.05 *** 964.16 960.38 953.91 948.20 943.35 967.12 961.62 953.32 8 963.13 952.56 953.37 949.14 950.89 970.35 981.88 980.45 *** 329.96 972.23 974.47 963.37 968.13 964.10 963.59 9 964.94 953.57 954.26 951.08 952.50 972.18 982.47 981.44 330.59 *** 974.08 975.84 965.46 969.30 965.85 966.28 10 964.13 963.64 951.72 954.40 948.32 945.63 1003.53 977.47 976.35 982.95 *** 335.24 969.35 966.56 965.56 960.00 11 954.26 945.40 943.27 969.07 969.50 966.57 974.68 969.69 969.44 966.57 344.91 *** 955.75 960.55 949.62 948.76 12 959.89 948.97 945.51 941.76 941.33 962.59 971.05 970.31 972.42 972.67 968.42 959.49 *** 347.29 952.97 952.85 13 947.74 970.27 967.84 968.85 968.34 960.08 969.02 958.60 961.57 962.39 958.51 950.05 357.58 *** 941.05 940.14 14 967.45 960.86 956.95 951.62 949.21 939.95 943.54 968.11 976.88 981.09 973.57 970.16 967.33 962.49 *** 346.76 15 942.62 973.57 969.72 968.12 965.75 954.46 957.11 953.13 962.75 959.02 953.23 947.68 941.98 972.22 324.26 *** - 以使用Atlas 900 A3 SuperPoD 超节点在P2P模式下,指定源头Device ID为0,目标Device ID为1的节点内P2P时延测试为例。
ascend-dmi -l -t p2p --ds 0 --dd 1 -q
若返回如下所示信息,表示工具运行正常。
Device Id: 0 -> 1 Data Size: 512 B Peer to Peer Latency: 360.144 ns
- 以使用OpenMPI方式测试超节点P2P时延为例。
- 使用示例提及参数说明:
- -mca btl_tcp_if_include参数:指定MPI通信协议和通信端口。
- -mca btl_tcp_port_min_v4参数:指定MPI通信IPv4协议使用的TCP端口的最小值。
- -mca btl_tcp_port_min_v6参数:指定MPI通信IPv6协议使用的TCP端口的最小值。
- MPI使用端口均无认证机制,为防止恶意连接攻击,请参考防止MPI全零侦听章节进行安全加固操作。
使用mpirun -mca btl_tcp_if_include xx.xx.xx.x2(源节点ip)/port -mca btl_tcp_port_min_v4 32768 -mca btl_tcp_port_min_v6 32768 -host xx.xx.xx.x2(源节点IP):1,xx.xx.xx.x3(对方节点IP):1 -n 2 ascend-dmi -l -t p2p --sp --ds 0 --dd 1 -q进行超节点P2P时延测试。
[****@node-97-52 xxx]# mpirun -mca btl_tcp_if_include xx.xx.xx.x2/22 -mca btl_tcp_port_min_v4 32768 -mca btl_tcp_port_min_v6 32768 -host xx.xx.xx.x2:1,xx.xx.xx.x3:1 -n 2 ascend-dmi -l -t p2p --sp --ds 0 --dd 1 -q Device Id: 0 -> 1 Data Size: 512 B SuperPoD Peer to Peer Latency: 1726.06 ns
使用mpirun -mca btl_tcp_if_include xx.xx.xx.x2(源节点ip)/port -mca btl_tcp_port_min_v4 32768 -mca btl_tcp_port_min_v6 32768 -host xx.xx.xx.x2(源节点IP):1,xx.xx.xx.x3(对方节点IP):1 -n 2 ascend-dmi -l -t p2p --sp --ds 0 --dd 1 -q --fmt json进行超节点P2P时延测试。
[****@node-97-52 xxx]# mpirun -mca btl_tcp_if_include xx.xx.xx.x2/22 -mca btl_tcp_port_min_v4 32768 -mca btl_tcp_port_min_v6 32768 -host xx.xx.xx.x2:1,xx.xx.xx.x3:1 -n 2 ascend-dmi -l -t p2p --sp --ds 0 --dd 1 -q --fmt json { "Latency": [ { "src_device_id": "0", "dst_device_id": "1", "latency": "1911.797119 ns", "size": "512 Bytes", "type": "SuperPod Peer to Peer Test" } ] } - 使用示例提及参数说明:
- 以使用Atlas 350 标卡在P2P模式下,指定源头Device ID为0,目标Device ID为1的节点内P2P时延测试为例。
ascend-dmi -l -t p2p --ds 0 --dd 1 -q
若返回如下所示信息,表示工具运行正常。
Device Id: 0 -> 1 Data Size: 512 B Peer to Peer Latency: 800.144 ns
上述回显参数介绍如下表所示:
参数 |
说明 |
|---|---|
Device Id |
当前测试的设备ID。上述回显中0表示测试Device 0的时延。0 -> 1表示测试源头Device ID为0,目标Device ID为1的节点内/超节点P2P的时延。 |
Data Size |
传输数据大小,单位为Byte。 |
Device to Host Latency |
时延数据流方向,单位为ns。 |
Host to Device Latency |
|
Peer to Peer Latency |
|
SuperPoD Peer to Peer Latency |
参数 |
说明 |
|---|---|
device_id |
当前测试的设备ID。上述回显中0表示测试Device 0的时延。 |
src_device_id |
当前测试的源头设备ID。 |
dst_device_id |
当前测试的目标设备ID。 |
latency |
时延测试结果,单位为ns。 |
size |
传输数据大小,单位为Byte。 |
type |
时延测试数据流方向。 |