自定义打流
测试项功能
自定义打流是将一键式打流中的各步骤独立出来,用户可灵活控制打流的TX、RX方向开关和指定打流的具体lane。
测试项名称 |
支持的打流方式 |
使用方法 |
---|---|---|
自定义打流 |
CDR环回打流、光模块外接光纤回路器(自环器)打流、NPU直连打流 |
自定义打流是将一键式打流中的各步骤独立出来,用户可灵活控制打流的TX、RX方向开关和指定打流的具体lane。 |
一键式打流 |
CDR环回打流、光模块外接光纤回路器(自环器)打流 |
执行一键式打流命令,Ascend DMI工具将自动完成发送及接收指定device所有lane的码流,一段时间后关闭码流并查询结果。 |
测试原理
自定义流支持以下3种打流方式(NPU外部环回场景,包括CDR环回打流和外接光纤回路器打流,也支持两个NPU通过铜缆或者光纤直连的场景)。
- CDR环回打流:是指单个Device同时发送和接收,可用于检查从NPU的物理serdes端口到CDR单元的信号质量。在打流前,请确保光模块在位,然后再进行CDR环回配置。执行如下命令配置或解除CDR回环,其余参数说明请参考《Atlas A2 中心推理和训练硬件 24.1.0 HCCN Tool 接口参考》的“配置功能>配置和查询CDR相关信息”章节。
- 光模块外接光纤回路器(自环器)打流:单个Device同时发送和接收,可用于检查NPU的物理serdes端口到光模块的信号质量,不需要设置环回。
图1 NPU外部环回示意图
- NPU直连打流:NPU A的Serdes端口开启TX方向打流后,数据流通过被测链路到达NPU B的Serdes端口,NPU B的RX方向按照码型比对,统计接收到的数据统计误码情况,可检查两个NPU之间链路的信号质量。
图2 NPU直连打流示意图
- 外部环回场景:需要确保先开启TX方向,再开启RX方向。
- NPU直连场景:测试A发B收时,需要确保先开启TXA方向,再开启TXB方向;测试B发A收时,需要确保先开启TXB方向,再开启RXA方向,否则结果会出现满误码。
- 同一个Device的不同lane在打流期间的操作需要一致,否则NPU和CDR重新自适应会影响打流结果;比如lane 0打流期间再开关其他lane,可能会导致lane 0满误码。
使用约束
- 该测试项当前仅支持root用户在Atlas 800T A2 训练服务器、Atlas 200T A2 Box16 异构子框、Atlas 800I A2推理产品上使用。
- 当前仅支持在物理机、容器、虚拟机上执行该项测试。
- 该操作为高危操作,可能会导致网口link down,需要单独执行。
测试前准备
- 打流会中断训练或推理业务,打流前请确保无业务运行。
- 如果使用外接光纤回路器或者两个NPU直连的场景,打流前无需额外配置;如果使用CDR环回,请确保光模块在位然后配置CDR环回。CDR配置环回方法请参考《Atlas A2 中心推理和训练硬件 24.1.0 HCCN Tool 接口参考》的“配置功能>配置和查询CDR相关信息”章节。
支持的场景
码流测试支持的设备及场景如表1 支持的场景和产品型号所示。(在下表中,Y表示支持,N表示不支持。)
测试项参数查询
用户可任选以下指令之一查看码流测试命令的可用参数。
ascend-dmi --prbs-check -h
ascend-dmi --prbs-check --help
各参数解释如表1所示。

在打流前,必须先执行--clear命令清除当前Device寄存器保留的历史信息。
参数 |
说明 |
是否必填 |
---|---|---|
[-pc, --pc, --prbs-check] |
使用该参数进行prbs码流测试。 |
是 |
[-d, --device] |
指定需要进行码流测试的Device ID。
|
否 |
[--prbs-mode] |
是否切换打流状态。 --取值为EN(Enable):开启。 --取值为DS(Disable):关闭。
|
是 |
[--generator-pattern] |
指定发送端的码流类型。
|
否 |
[--generator-lanes] |
指定发送端的lane。
|
否 |
[--checker-pattern] |
指定接受端的码流类型。
|
否 |
[--checker-lanes] |
指定接收端的lane。
|
否 |
[-show, --show, --show-diagnostic-info] |
展示码流测试的结果。
|
否 |
[-clear, --clear, --clear-diagnostic-info] |
清空码流测试的结果信息。
|
否 |
[-fmt, --fmt, --format] |
指定输出格式,可以为normal或json。若未指定则默认为normal。 |
否 |
[-h, --help] |
显示帮助信息。 |
否 |
[-q, --quiet] |
指定该参数,将不再进行防呆提示,用户将默认允许该操作。 若不指定该参数,将进行防呆提示,用户需要输入Y或N(y或n)确认是否进行测试。 |
否 |
使用实例
执行自定义打流时,请按照图3进行操作。
- 以使用默认值进行码流测试为例。
1 2
ascend-dmi -pc --clear -q ascend-dmi -pc --prbs-mode EN -q
命令含义:在所有device上开启码流测试,发送端为4条lane、码型为PRBS31;接收端为4条lane、码型为PRBS31。
图4 使用默认值进行码流测试
- 以在Device8上开启码流测试为例,发送端为lane0和lane1,码型为prbs20;接收端为4条lane、码型为prbs31。
1 2
ascend-dmi -pc --clear --device 8 -q ascend-dmi -pc --prbs-mode EN -q --device 8 --generator-pattern prbs20 --generator-lanes 0,1
图5 指定发送端lane示例 - 关闭打流示例。
ascend-dmi -pc --prbs-mode DS -d 8,9 -q
此命令会关闭device 8和9上,4条lane上,TX和RX方向上的打流。
在以上示例中,各回显参数的说明如表2 回显参数说明所示:
参数 |
说明 |
---|---|
Lane |
对应RoCE链路的lane id。 |
Check Enable |
接收端的check状态。 0:关闭 1:开启 |
Pattern |
RX方向check的码型。 |
Error-Bits |
误码数,上限为67092480(满误码)。 |
Bit-Error Rate(BER) |
误码率,误码数÷总传输bit数×100%。 |
ALOS |
正常打流时需要为0,为1通常表示信号幅度过低; 未打流时无意义无需关注。 |
Period |
距离上一次操作控制打流/读取check结果的时间。 |
以下几种情况可能导致满误码(误码数为67092480):
|
后续操作
- 为避免对正在运行的训练或推理业务造成影响,请在完成码流测试后,关闭该测试项。
- 若使用CDR环回打流,请在完成打流后解除CDR环回,否则业务无法正常运行。解除CDR环回请参见《Atlas A2 中心推理和训练硬件 24.1.0 HCCN Tool 接口参考》的“配置功能>配置和查询CDR相关信息”章节。