---
title: 时延测试
description: "时延测试主要用于测试CPU、NPU相关链路的时延。"
url: https://www.hiascend.com/document/detail/zh/mindcluster/latest/toolbox/toolboxug/toolboxug_0239.html
sourcePath: /source/zh/mindcluster/2610/toolbox/toolboxug/toolboxug_0239.html
indexId: 09028d4f2ea4bce01b34c351b19e70cc7ca3aece873c2b6ebab238936ce178a265
---
# 时延测试

#### 测试项功能

时延测试主要用于测试CPU、NPU相关链路的时延。


#### 测试流程

若使用MPI方式测试超节点P2P时延，请参考《CANN HCCL性能测试工具》的“MPI安装与配置(https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910/devaids/hccltool/HCCLpertest_16_0002.html)”章节提前在环境上安装配置MPI，并参考《CANN HCCL性能测试工具》的“工具编译(https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/910/devaids/hccltool/HCCLpertest_16_0003.html)”章节配置其环境变量，仅支持使用Open MPI-4.1.5版本。请勿使用上述参数和使用示例提到以外的参数、配置及环境变量，Open MPI其余执行参数、环境变量、配置文件可参考《Open MPI使用参考》(https://docs.open-mpi.org/en/main/man-openmpi/man1/mpirun.1.html#man1-mpirun)。

请确认参数填写的IP地址有效。


#### 测试项特定参数查询

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

ascend-dmi -l -h

ascend-dmi --latency --help

命令各参数解释如表1所示，表格内仅展示测试项特定参数，其余公共参数请参见公共参数说明。


**表1 参数说明**

| 参数 | 说明 | 是否必填 | 约束 |
| --- | --- | --- | --- |
| [\-l, \-\-latency] | 使用该参数测试芯片的时延。 | 是 | \- |
| [\-t, \-\-type] | 指定测试数据流向的分类。 当使用时延测试功能时，测试的数据流可以分为以下方向。若不填写数据流方向，则默认返回h2d和d2h两个方向的时延测试结果。 h2d：测试数据从Host侧内存通过PCIe总线搬移到Device侧内存的时延。 d2h：测试数据从Device侧内存通过PCIe总线搬移到Host侧内存的时延。 p2p：测试指定源头Device到目标Device的时延。 | 昇腾950PR&950DT系列产品：是 其他产品：否 | 昇腾950PR&950DT系列产品仅支持指定p2p类型。 若Atlas 350 标卡指定\-\-memory\-semantics为UBMemory，则不支持PCIe链路的p2p时延测试。 |
| [\-s, \-\-size] | 指定传输数据大小。默认为512Byte。传输数据的取值范围如下： 昇腾950PR&950DT系列产品：512Byte~131072Byte。 其他产品：512Byte~1MB（即1024 \* 1024Byte）。 建议指定大小为512的2次幂（例如512、1024、2048、4096等）。如果指定的大小不是512的 2次幂，在实际测试时使用的size将会自动向上对齐为最接近512的2次幂。 | 否 | \- |
| [\-d, \-\-device] | 指定时延测试的Device ID，Device ID是指昇腾AI处理器的逻辑ID。 若填写Device ID，则默认返回对应的Device ID时延测试结果。 若不填写Device ID，则默认返回Device 0的时延测试结果。 不支持与[\-ds, \-\-ds, \-\-device\-src]、[\-dd, \-\-dd, \-\-device\-dst]同时指定。 | 否 | 昇腾950PR&950DT系列产品暂不支持指定该参数。 |
| [\-ds, \-\-ds, \-\-device\-src] | 指定P2P时延测试的源头Device的ID号。必须与[\-dd, \-\-dd, \-\-device\-dst]参数成对指定。 不指定该参数时： 若指定[\-sp, \-\-sp, \-\-super\-pod]参数，默认返回Device 0到Device 0的超节点时延测试结果。 若不指定[\-sp, \-\-sp, \-\-super\-pod]参数，默认返回所有Device的节点内P2P时延测试结果。 | 否 | \- |
| [\-dd, \-\-dd, \-\-device\-dst] | 指定P2P时延测试的目标Device的ID号。必须与[\-ds, \-\-ds, \-\-device\-src]参数成对指定。 不指定该参数时： 若指定[\-sp, \-\-sp, \-\-super\-pod]参数，默认返回Device 0到Device 0的超节点时延测试结果。 若不指定[\-sp, \-\-sp, \-\-super\-pod]参数，默认返回所有Device的节点内P2P时延测试结果。 | 否 | \- |
| [\-sp, \-\-sp, \-\-super\-pod] | 指定该参数时进行超节点的时延测试。该参数只支持[\-t, \-\-type]参数指定p2p时使用。 | 否 | 昇腾950PR&950DT系列产品暂不支持指定该参数。 |
| [\-ms, \-\-ms, \-\-memory\-semantics] | 指定传输语义。取值范围为URMA和UBMemory，若不填写，默认为UBMemory。 | 否 | 仅昇腾950PR&950DT系列产品在type为p2p模式时支持使用该参数。 Atlas 350 标卡不支持指定\-ms为URMA。 |
| 注： 本文档输入或输出的Device ID都是芯片逻辑ID。 用户可以执行npu\-smi info \-m命令，在显示界面表格中的Chip Logic ID参数处获得芯片逻辑ID，NPU ID则为对应的芯片物理ID。 | 注： 本文档输入或输出的Device ID都是芯片逻辑ID。 用户可以执行npu\-smi info \-m命令，在显示界面表格中的Chip Logic ID参数处获得芯片逻辑ID，NPU ID则为对应的芯片物理ID。 | 注： 本文档输入或输出的Device ID都是芯片逻辑ID。 用户可以执行npu\-smi info \-m命令，在显示界面表格中的Chip Logic ID参数处获得芯片逻辑ID，NPU ID则为对应的芯片物理ID。 | 注： 本文档输入或输出的Device ID都是芯片逻辑ID。 用户可以执行npu\-smi info \-m命令，在显示界面表格中的Chip Logic ID参数处获得芯片逻辑ID，NPU ID则为对应的芯片物理ID。 |


#### 使用示例

- 以使用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"
}
]
}
```


- 以使用昇腾950PR&950DT系列产品在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
```


上述回显参数介绍如下表所示：


**表2 normal格式回显参数说明**

| 参数 | 说明 |
| --- | --- |
| 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 | 时延数据流方向，单位为ns。 |
| Peer to Peer Latency | 时延数据流方向，单位为ns。 |
| SuperPoD Peer to Peer Latency | 时延数据流方向，单位为ns。 |


**表3 json格式回显参数说明**

| 参数 | 说明 |
| --- | --- |
| device\_id | 当前测试的设备ID。上述回显中0表示测试Device 0的时延。 |
| src\_device\_id | 当前测试的源头设备ID。 |
| dst\_device\_id | 当前测试的目标设备ID。 |
| latency | 时延测试结果，单位为ns。 |
| size | 传输数据大小，单位为Byte。 |
| type | 时延测试数据流方向。 |
