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

带宽测试

测试项功能

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

注意事项

  • 为了避免频繁输出日志影响测试结果,测试前确认Host和Device的日志级别设置为ERROR,确认及设置方法如下:
    1. 确认日志级别:
      • Host侧:通过执行echo $GLOBAL_LOG_LEVEL命令查询,如果查询结果为非法值或者空,表示日志级别为缺省级别ERROR,对应数值3。
      • Device侧:请参考《CANN 日志参考》“其他操作">"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接口监控环境状态,会占用一定的带宽,导致带宽测试的结果存在误差。

测试项参数查询

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

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

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

  • Atlas 200/500 A2推理产品仅支持d2d模式,不支持使用该参数。
  • p2p模式仅支持Atlas 训练系列产品Atlas A2 训练系列产品、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 200/500 A2推理产品传输数据大小为固定值0.97GB(由传输数据的Tensor决定),不支持使用该参数。

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

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

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

Atlas 200/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 推理系列产品(Ascend 310P AI处理器)Atlas 800I A2 推理服务器Atlas 200/500 A2推理产品不支持使用该参数。

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

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

Atlas 200/300/500 推理产品Atlas 推理系列产品(Ascend 310P AI处理器)Atlas 800I A2 推理服务器Atlas 200/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所示信息,表示工具运行正常,图中参数介绍如表2所示。

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

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

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

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

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

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

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

    ascend-dmi --bw -d 0

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

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

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

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

      参数

      说明

      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”个结果

当前产品无相关内容

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