下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

带宽测试

测试项功能

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

注意事项

  • 为了避免频繁输出日志影响测试结果,测试前确认Host和Device的日志级别设置为ERROR,确认及设置方法如下:
    1. 确认日志级别:
      • Host侧:通过执行echo $GLOBAL_LOG_LEVEL命令查询,如果查询结果为非法值或者空,表示日志级别为缺省级别ERROR,对应数值3。
      • Device侧:请参考《msnpureport工具使用》,查看全局日志级别、模块日志级别和是否开启Event日志。
    2. 如果日志级别不为ERROR,请参考《CANN 日志参考》中“其他操作">“设置日志级别章节,设置Host和Device侧的日志级别。
  • d2d带宽测试结果通过数据读写总量/消耗时间获取。因为d2d带宽测试和实际训练或推理一样,存在缓存、预取等内在优化,由此计算得到的带宽结果有可能超过标称带宽。
  • Atlas 300I Duo 推理卡的测试数据流向为h2d和d2h方式时,受数据传输方式的影响,从芯片的带宽值相比于主芯片偏低,属于正常现象。
  • Atlas 200I SoC A1 核心板的测试数据流向为h2d和d2h方式时,由于架构的特殊性,测试结果是从CPU直接拷贝获取的,结果和其他产品形态不一致,属于正常现象。
  • Atlas 200T A2 Box16 异构子框在虚拟机场景下,执行两个8p之间的p2p测试时,因为数据传输通道的特殊性,带宽测试偏低属于正常现象。
  • 为确保带宽测试结果达到最佳,用户需在裸机上进行测试。带宽测试搬运数据时,受硬件资源复用性影响,比如在拷贝次数(-et)或传输数据大小(-s)较低的情况下,复用性会比较低,进而将可能导致带宽测试结果偏低。
  • 为确保带宽测试效果准确性,建议在训练或推理业务开局的时候执行本测试项,因为例如CCAE或npu-exporter组件会调用dcmi接口监测环境状态,会占用一定的带宽,导致带宽测试的结果存在误差。
  • 在执行带宽测试前,建议提前在环境上安装fuser软件,以便Ascend DMI对NPU进程进行监测。

支持的场景

带宽测试支持的设备及场景如表1所示。(在下表中,Y表示支持,N表示不支持。)

表1 支持的场景和产品型号

场景/产品型号

Atlas 训练系列产品

Atlas A2 训练系列产品

Atlas 200/300/500 推理产品

Atlas 推理系列产品

Atlas 800I A2 推理服务器

Atlas 200I/500 A2 推理产品

物理机

Y

Y

Y

7

Y

Y

宿主机+容器

Y

2

4

7

Y

N

虚拟机

1

3

5

6

N

N

说明:

  1. Atlas 800 训练服务器(型号 9000)Atlas 900 PoD(型号 9000)Atlas 900T PoD Lite支持。
  2. 支持。在Atlas 200T A2 Box16 异构子框场景下,带宽测试建议在物理机上进行,容器、虚拟机上进行测试结果可能存在偏差。
  3. Atlas 800T A2 训练服务器Atlas 200T A2 Box16 异构子框支持。在Atlas 200T A2 Box16 异构子框场景下,带宽测试建议在物理机上进行,容器、虚拟机上进行测试结果可能存在偏差。
  4. Atlas 300I 推理卡(型号 3000)Atlas 300I 推理卡(型号 3010)Atlas 200 AI加速模块(EP场景)支持。
  5. Atlas 300I 推理卡(型号 3000)Atlas 300I 推理卡(型号 3010)支持。
  6. Atlas 300I Pro 推理卡Atlas 300I Duo 推理卡Atlas 300V Pro 视频解析卡Atlas 300V 视频解析卡支持。
  7. Atlas 300I Pro 推理卡Atlas 300I Duo 推理卡Atlas 300V Pro 视频解析卡Atlas 300V 视频解析卡Atlas 200I SoC A1 核心板支持。

测试项参数查询

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

ascend-dmi --bw -h

ascend-dmi --bw --help

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

表2 参数说明

参数

说明

约束

是否必填

[-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的传输速率和总耗时。
    说明:

    使用p2p且不指定Device时(不指定-ds和-dd参数),-s、-et和-fmt参数不生效,使用定长模式和对应默认值。如ascend-dmi --bw -t p2p -fmt json命令中,-fmt参数不生效,使用默认值normal。

  • Atlas 200I/500 A2推理产品仅支持d2d模式,不支持使用该参数。
  • p2p模式仅支持Atlas 训练系列产品Atlas A2 训练系列产品Atlas 800I A2推理产品(32G)、Atlas 300I Duo 推理卡
  • Atlas 300I Duo 推理卡使用p2p模式时,-ds和-dd参数仅支持主芯片的Device ID。
  • 执行Atlas 200T A2 Box16 异构子框上两个8p之间的p2p测试时,仅支持输出两个对等位置的p2p结果,例如0卡对应8卡,可输出0卡传输至8卡的p2p测试结果,以此类推。

[-s, --size]

指传输数据大小并指定测试结果显示方式.

  • 传输数据的取值范围有以下情况:
    • 1Byte~512M。
  • 指定-s参数后面必须填写数值指定传输数据的大小,不填写属于错误写法。
    • 在h2d、d2h、d2d以及p2p且指定-ds和-dd场景。
      • 指定-s为定长模式。
      • 不指定-s为步长模式,传输数据的默认取值范围为2Byte~32M。
    • p2p场景且不指定-ds和-dd场景。该场景下-s参数不生效,使用定长模式和默认值。默认值说明如下。
      • Atlas A2训练系列产品,0卡或8卡到其他卡的默认传输数据大小为512M,除此之外,默认传输数据大小为256M。
      • 其他产品,传输数据大小默认值为128M。
  • Atlas A2 训练系列产品Atlas 800I A2 推理服务器若指定“-t”为d2d模式时,传输数据大小由AI Core决定,所以不支持使用“-s”参数。
  • Atlas 200I/500 A2推理产品传输数据大小为固定值0.97GB(由传输数据的Tensor决定),不支持使用该参数。

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

指迭代次数,即内存拷贝次数。

取值范围为[1, 1000],若不填写,步长模式下拷贝次数则默认为5,定长模式下拷贝次数则默认为40。

Atlas 200I/500 A2推理产品Atlas 800I A2 推理服务器Atlas A2 训练系列产品在d2d模式下,不支持使用该参数,拷贝次数默认为1。

[-d, --device]

指定需要测试带宽的Device ID,Device ID是指昇腾AI处理器的逻辑ID,若不填写Device ID则默认返回Device 0带宽信息。

  • 为确保Atlas 300I Duo带宽测试结果达到最佳,建议测试Device 0带宽信息。
  • Atlas A2 训练系列产品在p2p模式下,不支持使用该参数。

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

指定p2p测试的源头Device的ID号。必须与[-dd, --dd, --device-dst]参数成对指定;若与[-dd, --dd, --device-dst]参数同时不指定时,测试全量的昇腾NPU芯片。

Atlas 200/300/500 推理产品Atlas 推理系列产品Atlas 800I A2 推理服务器Atlas 200I/500 A2推理产品、不支持使用该参数。

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

指定p2p测试的目标Device的ID号。必须与[-ds, --ds, --device-src]参数成对指定;若与[-ds, --ds, --device-src]参数同时不指定时,测试全量的昇腾NPU芯片。

Atlas 200/300/500 推理产品Atlas 推理系列产品Atlas 800I A2 推理服务器Atlas 200I/500 A2推理产品、不支持使用该参数。

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

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

-

[-q, --quiet]

指定该参数时,将不再进行防呆提示,用户将默认允许该操作。

若不指定该参数,将进行防呆提示,用户需要输入Y或N(y或n)确认是否进行测试。

注:

  • 本文档输入或输出的Device ID都是芯片逻辑ID。
  • 用户可以执行npu-smi info -m命令,在显示界面表格中的Chip Logic ID参数处获得芯片逻辑ID,NPU ID则为对应的芯片物理ID。
  • --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

  • 使用-s-et参数指定的数据搬运量和数据拷贝的次数较小时,可能无法获取最佳性能,如需稳定测得最佳性能,建议-s指定为512M,-et指定为>10。

使用实例

p2p测试命令截图取自训练服务器。

  • 以不带参数为例(不带参数则默认查询在Device 0,以h2d、d2h、d2d三个数据流向和步长模式显示的带宽耗时信息)。

    ascend-dmi --bw

  • 以测试数据从Host侧传输到Device 0,迭代100次的带宽与总耗时为例。
    • 定长模式。

      ascend-dmi --bw -t h2d -d 0 -s 8388608 --et 100

      若返回如图1所示信息,表示工具运行正常,图中参数介绍如表3所示。

      图1 带宽测试示例(定长模式)
    • 步长模式。

      ascend-dmi --bw -t h2d -d 0 --et 100

      若返回如图2所示信息,表示工具运行正常,图中参数介绍如表3所示。

      图2 带宽测试示例(步长模式)
  • 以测试数据从Device侧传输到同一Device侧的带宽与总耗时为例。

    ascend-dmi --bw -t d2d -d 0

    若返回如图3图4图5所示信息,表示工具运行正常,图中参数介绍如表3所示。

    图3 带宽测试示例(Atlas 训练系列产品
    图4 带宽测试示例(Atlas A2 训练系列产品

    ascend-dmi --bw -d 0

    图5 带宽测试示例(Atlas 200I/500 A2 推理产品
  • 测试指定源头Device到目标Device的传输速率和总耗时。
    • 以测试数据从源头Device 0传输到目标Device 1的p2p测试为例。

      ascend-dmi --bw -t p2p --ds 0 --dd 1 -s 6 -q

      若返回如图6所示信息,表示工具运行正常,图中参数介绍如表3所示。

      图6 p2p方式带宽测试示例
      表3 显示界面参数介绍

      参数

      说明

      Host to Device Test

      带宽数据流方向。有以下显示可能:
      • Host to Device Test
      • Device to Host Test
      • Device to Device Test
      • Unidirectional Peer to Peer Test
      • Bidirectional Peer to Peer Test

      Device X : Ascend XXX

      Device X为当前测试的设备ID,Ascend XXX为处理器类型。

      0表示源头设备,1表示目标设备。

      ID

      0→1表示测试Device 0到Device 1的单向P2P带宽。

      0↔1表示测试Device 0和Device 1的双向p2p带宽。

      Size(Bytes)

      传输数据大小,单位为字节。

      Execute Times

      迭代次数

      Bandwidth(GB/s)

      芯片的带宽

      Elapsed Time(us)

      总执行时长

    • 不指定源头Device和目标Device的p2p样例。

      ascend-dmi --bw -t p2p

      若返回如图7所示信息,表示工具运行正常。

      图7 不指定device的p2p方式带宽测试示例

FAQ

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词