👋 您好,欢迎向 MindStudio msprof 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉
📅处理时效: 维护团队将在24小时内 查看并回复您的问题(工作日)。
🔍自助查询: 在等待期间,建议您先查阅以下资料,可能已有解决方案:
📖 MindStudio msprof官方文档
📝 贡献者指南
请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!


👋 您好,欢迎向 MindStudio msprof 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉📅处理时效: 维护团队将在24小时内 查看并回复您的问题(工作日)。
🔍自助查询: 在等待期间,建议您先查阅以下资料,可能已有解决方案:📖 MindStudio msprof官方文档
📝 贡献者指南请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!
请问有什么feedback吗?


👋 您好,欢迎向 MindStudio msprof 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉📅处理时效: 维护团队将在24小时内 查看并回复您的问题(工作日)。
🔍自助查询: 在等待期间,建议您先查阅以下资料,可能已有解决方案:📖 MindStudio msprof官方文档
📝 贡献者指南请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!
请问有什么feedback吗?
相关问题已确认。具体问题待找底层组件确认整体功能。


👋 您好,欢迎向 MindStudio msprof 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉📅处理时效: 维护团队将在24小时内 查看并回复您的问题(工作日)。
🔍自助查询: 在等待期间,建议您先查阅以下资料,可能已有解决方案:📖 MindStudio msprof官方文档
📝 贡献者指南请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!
请问有什么feedback吗?
相关问题已确认。具体问题待找底层组件确认整体功能。
好的,麻烦您跟进一下了,感谢


👋 您好,欢迎向 MindStudio msprof 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉📅处理时效: 维护团队将在24小时内 查看并回复您的问题(工作日)。
🔍自助查询: 在等待期间,建议您先查阅以下资料,可能已有解决方案:📖 MindStudio msprof官方文档
📝 贡献者指南请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!
请问有什么feedback吗?
相关问题已确认。具体问题待找底层组件确认整体功能。
请问是否有结论了呢


👋 您好,欢迎向 MindStudio msprof 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉📅处理时效: 维护团队将在24小时内 查看并回复您的问题(工作日)。
🔍自助查询: 在等待期间,建议您先查阅以下资料,可能已有解决方案:📖 MindStudio msprof官方文档
📝 贡献者指南请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!
请问有什么feedback吗?
相关问题已确认。具体问题待找底层组件确认整体功能。
请问是否有结论了呢
一、复现用例
① 一个torch调用的aclnn脚本。
② ascendC编译的可执行文件(不走torch框架)
二、复现场景
① torch脚本 setDevice 0, 可采到数据
② torch脚本 setDevice 非0,无有效数据
③ ascendC编译的可执行文件,aclrtSetDevice 0,可采到数据
④ ascendC编译的可执行文件,aclrtSetDevice 1,可采到数据
⑤ torch脚本,ascendC编译的可执行文件 均通过ASCEND_RT_VISIBLE_DEVICES设置其他device,均无数据。
总结以上试验,
① 当device默认是0时,可采到数据。
② 但若通过torch框架层 setDevice,或者ASCEND_RT_VISIBLE_DEVICES其他device,均无法采到数据。
三、问题根因
目前拉通底层rts及硬件同事,均无法解释。只能怀疑部分芯片配置可能并未跟随device切换而变更,导致采到了空寄存器数据。目前问题还在讨论,无法石锤。
四、相关资料和内容
① profiling目前在A2 A3场景的biuGroup数据采集方面,相关数据无交付件导出。仅有原始数据解析行为。
② profiling 之前已经和底层确认过,在A2 A3场景上的数据本身不太可信,包括时间和流量。目前仅A5可保证数据正确。
③ ASCEND_RT_VISIBLE_DEVICES参数在资料中明确说明,不建议生产环境使用且不支持profiling。https://www.hiascend.com/document/detail/zh/canncommercial/latest/maintenref/envvar/envref_07_0028.html
问题依然处于跟进状态,有结论会及时知会


👋 您好,欢迎向 MindStudio msprof 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉📅处理时效: 维护团队将在24小时内 查看并回复您的问题(工作日)。
🔍自助查询: 在等待期间,建议您先查阅以下资料,可能已有解决方案:📖 MindStudio msprof官方文档
📝 贡献者指南请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!
请问有什么feedback吗?
相关问题已确认。具体问题待找底层组件确认整体功能。
请问是否有结论了呢
一、复现用例
① 一个torch调用的aclnn脚本。
② ascendC编译的可执行文件(不走torch框架)二、复现场景
① torch脚本 setDevice 0, 可采到数据
② torch脚本 setDevice 非0,无有效数据
③ ascendC编译的可执行文件,aclrtSetDevice 0,可采到数据
④ ascendC编译的可执行文件,aclrtSetDevice 1,可采到数据
⑤ torch脚本,ascendC编译的可执行文件 均通过ASCEND_RT_VISIBLE_DEVICES设置其他device,均无数据。总结以上试验,
① 当device默认是0时,可采到数据。
② 但若通过torch框架层 setDevice,或者ASCEND_RT_VISIBLE_DEVICES其他device,均无法采到数据。三、问题根因
目前拉通底层rts及硬件同事,均无法解释。只能怀疑部分芯片配置可能并未跟随device切换而变更,导致采到了空寄存器数据。目前问题还在讨论,无法石锤。四、相关资料和内容
① profiling目前在A2 A3场景的biuGroup数据采集方面,相关数据无交付件导出。仅有原始数据解析行为。
② profiling 之前已经和底层确认过,在A2 A3场景上的数据本身不太可信,包括时间和流量。目前仅A5可保证数据正确。
③ ASCEND_RT_VISIBLE_DEVICES参数在资料中明确说明,不建议生产环境使用且不支持profiling。https://www.hiascend.com/document/detail/zh/canncommercial/latest/maintenref/envvar/envref_07_0028.html问题依然处于跟进状态,有结论会及时知会
非常感谢!麻烦可否测一下多卡mte通信下biu group是否有数据呢?(方式1:采用datacopy原语发起多卡mte通信,方式2:基于shmem库发起多卡mte通信)


👋 您好,欢迎向 MindStudio msprof 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉📅处理时效: 维护团队将在24小时内 查看并回复您的问题(工作日)。
🔍自助查询: 在等待期间,建议您先查阅以下资料,可能已有解决方案:📖 MindStudio msprof官方文档
📝 贡献者指南请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!
请问有什么feedback吗?
相关问题已确认。具体问题待找底层组件确认整体功能。
请问是否有结论了呢
一、复现用例
① 一个torch调用的aclnn脚本。
② ascendC编译的可执行文件(不走torch框架)二、复现场景
① torch脚本 setDevice 0, 可采到数据
② torch脚本 setDevice 非0,无有效数据
③ ascendC编译的可执行文件,aclrtSetDevice 0,可采到数据
④ ascendC编译的可执行文件,aclrtSetDevice 1,可采到数据
⑤ torch脚本,ascendC编译的可执行文件 均通过ASCEND_RT_VISIBLE_DEVICES设置其他device,均无数据。总结以上试验,
① 当device默认是0时,可采到数据。
② 但若通过torch框架层 setDevice,或者ASCEND_RT_VISIBLE_DEVICES其他device,均无法采到数据。三、问题根因
目前拉通底层rts及硬件同事,均无法解释。只能怀疑部分芯片配置可能并未跟随device切换而变更,导致采到了空寄存器数据。目前问题还在讨论,无法石锤。四、相关资料和内容
① profiling目前在A2 A3场景的biuGroup数据采集方面,相关数据无交付件导出。仅有原始数据解析行为。
② profiling 之前已经和底层确认过,在A2 A3场景上的数据本身不太可信,包括时间和流量。目前仅A5可保证数据正确。
③ ASCEND_RT_VISIBLE_DEVICES参数在资料中明确说明,不建议生产环境使用且不支持profiling。https://www.hiascend.com/document/detail/zh/canncommercial/latest/maintenref/envvar/envref_07_0028.html问题依然处于跟进状态,有结论会及时知会
非常感谢!麻烦可否测一下多卡mte通信下biu group是否有数据呢?(方式1:采用datacopy原语发起多卡mte通信,方式2:基于shmem库发起多卡mte通信)
@zijkx
家里验证了hccl aiv模式(应该是所谓的datacopy的mte通信?),和shmem算子,结果和上述反馈类似。数据均无效


@Seanesmhxocism 好的,麻烦您也一起跟进一下在datacopy的mte通信和shmem算子这两个场景下的biu数据无效问题,感谢


@Seanesmhxocism 好的,麻烦您也一起跟进一下在datacopy的mte通信和shmem算子这两个场景下的biu数据无效问题,感谢
终版结论
近两周,我们联合底层硬件与相关底层软件同事,在多个 A2、A3 环境上进行了反复测试。结论明确如下:
-
A3 环境无法采集到任何有效数据;A2 环境仅能采集到 device 0 的数据。该现象与此前多轮测试结果一致。
-
经排查,问题根因在于底层软件侧的功能设置存在差异,导致不同环境行为不一致或数据不符合预期。同时,相关数据经硬件侧同事确认,目前数据不具备分析价值。同时底层软件侧评估认为当前修复投入产出比较低,不建议投入。
-
因此,工具侧不建议上层用户继续使用或基于该数据进行相关分析。后续将考虑在 A2、A3 环境下将部分功能做日落处理。
麻烦您看下结论。如有其他疑问可留言沟通~


@Seanesmhxocism 好的,麻烦您也一起跟进一下在datacopy的mte通信和shmem算子这两个场景下的biu数据无效问题,感谢
终版结论
近两周,我们联合底层硬件与相关底层软件同事,在多个 A2、A3 环境上进行了反复测试。结论明确如下:
A3 环境无法采集到任何有效数据;A2 环境仅能采集到 device 0 的数据。该现象与此前多轮测试结果一致。
经排查,问题根因在于底层软件侧的功能设置存在差异,导致不同环境行为不一致或数据不符合预期。同时,相关数据经硬件侧同事确认,目前数据不具备分析价值。同时底层软件侧评估认为当前修复投入产出比较低,不建议投入。
因此,工具侧不建议上层用户继续使用或基于该数据进行相关分析。后续将考虑在 A2、A3 环境下将部分功能做日落处理。
麻烦您看下结论。如有其他疑问可留言沟通~
明白,感谢您的回复


/label add resolved


在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。
⚠️ 安全信息提醒:请仔细检查提供的文本内容,确保其不包含敏感数据信息,包括但不限于:
在分享配置信息或代码示例时,请将敏感信息脱敏处理,或使用
<TOKEN>等占位符替代原有内容。环境信息
20260701_00032895320250725_000000000通过
ldd检查,CANN 8.5 和 9.1 两份测试程序分别链接各自版本的libruntime.so、libascendcl.so和libmsprofiler.so,不存在“9.1 编译、8.5 运行时”的混用。🐛 问题描述
问题描述
在 Atlas A3 服务器上使用
msprof --instr-profiling=on采集 AI Vector/MTE 单算子 workload 时,msprof_*.json的biu_group已正常生成,但以下四项指标在所有样本中均为 0:Bandwidth ReadBandwidth WriteLatency ReadLatency Write该问题在以下场景均可复现:
在两套CANN环境下都已复现同样问题:CANN 8.5 / CANN 9.1 (mindstudio-profiler 26.1.0)。
官方文档将
biu_group定义为 AI Core/AI Vector 的 BIU 总线接口单元读写指令带宽和时延,并明确列出 Atlas A3 支持:采集过程中没有出现 unsupported 或解析失败错误,
msprof返回码为 0,也确实生成了大量 BIU 样本;但是派生的BiuFlow和更底层的MonitorFlow/MonitorCycles数值均为 0。希望确认这是当前芯片/驱动/固件的支持限制、workload 类型不匹配,还是 BIU 采集链路存在问题。msprof 参数
两个场景都使用以下 BIU 采集参数:
完整命令形式为:
msprof \ --output=<output_dir>/msprof_out \ --application="<single_operator_application>" \ --instr-profiling=on \ --instr-profiling-freq=300300是文档允许范围[300, 30000]的最小采样间隔,用于尽量提高短单算子场景的样本覆盖率。由于文档说明instr-profiling与--ai-core、--aic-metrics、--task-time等参数互斥,本次 BIU run 没有同时加入这些互斥参数;普通 AIV PMU、HBM 和 LLC 数据使用相同 workload 的独立 profile 作为正向对照。Workload 1:单卡本地 GM→UB
Workload 内容
运行 AI Vector kernel
rma_operation_float_gm2ub_local,通过 MTE2 重复执行本地 GM→UB 搬运:float2^15 = 3276832768 × 4 B = 131072 B复现命令
source /data/user/zfu472/cann-9.1.0/cann/set_env.sh APP="/data/user/zfu472/agentic_projects/cann91_msprof_acc_pmu_biu_20260811/build_cann91/bin/ascendc_perftest \ -t gm2ub_local -d float \ --block-range 1 1 \ --exponent-range 15 15 \ --device1 0 --device2 1 \ --loop-count 100 \ --ub-size 16" msprof \ --output=<output_dir>/msprof_out \ --application="$APP" \ --instr-profiling=on \ --instr-profiling-freq=300结果
msprof返回码:0。biu_perf.db大小:30,138,368 B。BiuFlow共 114,720 行,每种 flow 各 28,680 个样本。biu_groupflow 的min/max/avg/nonzero均为0/0/0/0。MonitorFlow共 28,680 行,底层请求、时延、流量字段同样全部为 0。MonitorCycles共 86,039 行,其中 Vector/Scalar/Cube/LSU cycle 字段也全部为 0。使用同一 GM→UB workload 做独立普通 PMU/内存对照时:
aiv_total_cycles=10,715,253,875;因此 kernel 确实执行了 MTE2 搬运,一般 profiler 数据链路也能观察到内存活动。
Workload 2:两张物理卡之间的 MTE remote load
Workload 内容
使用 4 个 SHMEM PE 映射到 device 0、1、2、3:
aclshmemx_mte_get_nbi类型的 MTE remote load;为了让
msprof采集发起端,先裸启动 PE1、PE2、PE3,然后由msprof --application启动 PE0。应用参数如下:采集 PE0 的命令仍为:
msprof \ --output=<output_dir>/msprof_out \ --application="p2p_engine_perftest --pe-id 0 <上述公共参数>" \ --instr-profiling=on \ --instr-profiling-freq=300Workload 正确性和性能旁证
相同 workload 的独立普通 PMU/内存对照中:
因此跨卡 MTE load 确实完成,并产生了显著的 MTE、HBM 和 LLC 活动。
BIU 结果
msprof返回码:0。biu_perf.db大小:239,767,552 B。BiuFlow:902,468 行。BiuCycles:4,063,590 行。MonitorCycles:677,265 行。MonitorFlow:225,617 行。Bandwidth/Latency Read/Write各 225,617 个样本,全部为 0。底层
MonitorFlow以下字段的最大值和非零记录数也全部为 0:MonitorCycles的以下字段同样全部为 0:CANN 8.5 对照结果
biu_perf.db大小Bandwidth/Latency Read/Write因此该现象不是 CANN 8.5 升级到 CANN 9.1 后出现的回归;在当前服务器的同一驱动/固件环境中,两个版本均可复现,升级到 9.1 也没有使 BIU 数据变为非零。
实际结果
msprof正常退出,返回码为 0;msprof_*.json中存在biu_group;biu_perf.db中存在大量BiuFlow/BiuCycles/MonitorFlow/MonitorCycles行;预期结果
按照文档中“BIU 总线接口单元读取/写入指令时的带宽和时延”以及 Atlas A3 支持
biu_group的描述,在持续 GM→UB MTE2 或跨卡 MTE load 执行期间,预期至少有与实际读事务相关的 BIU bandwidth/latency 字段出现非零样本。如果
biu_group实际不统计 MTE2/MTE3 数据路径,而只统计某种特定的 Scalar LSU、Cube、缓存路径或特定类型的官方单算子,也希望文档明确以下内容:Bandwidth Read/Write、Latency Read/Write的单位和计算公式;MIX_AIV单算子是否属于支持范围。已排除项
verify=pass,有效带宽约 15.49 GiB/s。MonitorFlow样本和约 240 MB DB。--instr-profiling-freq=300。msprof rc=0,BIU parser/calculator 和相关数据表均已生成。MonitorFlow/MonitorCycles已全部为 0。ldd已确认 8.5/9.1 二进制分别链接对应版本库。希望官方确认的问题
Ascend910产品在 driver 25.5.1 上是否完整支持biu_group?是否还有特定 firmware、driver 或 profiling component 的最低版本要求?biu_group是否应该统计 MTE2/MTE3 发起的 GM/UB 或远端 MTE load/store?如果不统计,准确的覆盖范围是什么?biu_perf.db能生成大量样本,但原始MonitorFlow/MonitorCyclespayload 全为 0?这是否是已知的驱动、固件或产品事件映射问题?Bandwidth Read/Write、Latency Read/Write非零的官方最小复现 workload 和对应命令?欢迎加入社区,感谢您对社区的贡献 🎉!