| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix A5 AICPU communication profiling reporting Co-authored-by: jiangxinyu3<jiangxinyu3@hisilicon.com> # message auto-generated for no-merge-commit merge: !5536 merge fix/a5-aicpu-open-profiling into master fix A5 AICPU communication profiling reporting Created-by: jiangxinyu3 Commit-by: jiangxinyu3 Merged-by: cann-robot Description: ## 问题与修复分工 A5 MC2 Open 缺少完整的操作 DFX/任务上报及 KFC 与通信 SQ 的关系,导致通信任务错误归到 stream 65535,Communication 泳道无任务。 本 PR 配套 https://gitcode.com/cann/hcomm/pull/5028 。当前采用 **asc-devkit 自主补报 Mc2CommInfo**:本仓负责真实展开流与通信 SQ 关系、消息级 DFX 注册及 DeviceOp;HCOMM 保持原有关系上报,负责 SQE KfcInfo、CONDITION 和 MC2 小缓冲区。 已将验证过的实验 PR !6353 内容应用到本 PR,实验 PR 已关闭。以下描述取代旧 reserved/延迟关联方案。 ## 修改内容 1. **同步 copied DFX 定义。** 对齐 HcclDfxOpInfo 的 input/output 地址和大小及私有重复定义,增加 size/offset 校验;不直接依赖 HCOMM/HCCL 源码头文件。 2. **消息级 DeviceOp。** NEXT_AICPU 每个 HcclMsg 注册一次 DFX,所有 repeat 结束或异常退出后调用一次 HcommProfilingReportDeviceOp,保留 AcquireComm/ReleaseComm 配对及原执行错误优先级。HCOMM 内部权威状态控制实际上报。不恢复 MC2 外层 Start/End 或 AicpuMasterStreamHcclTask。 3. **完整资源关系收集。** 新建 A5 AICPU_TS 资源后从 resCtxHost.threads 收集 main/sub Thread,通过 HcclThreadResGetInfo 与 rtStreamGetSqid 取得通信物理 SQ;由 unfoldThread 对应 Stream 的 aclrtStreamGetId 取得逻辑 KFC ID。本地 AG/RS 与 cannbridge AR/A2A/A2AV 共享资源出口;缓存命中不读取空的临时 resCtxHost。 4. **复用真实展开流。** 按通信域 <commName>_unfold EngineCtx 保存/复用展开 Thread,保持与单通信域实际 kernel launch stream 一致。首次 NOT_FOUND 不打印 ERROR;损坏上下文及其他错误仍报错。 5. **Host reporter。** 仅 mc2_client 编入,私有一次性加载 profapi,注册独立 HCCL module callback,与 HCOMM callback 共存。按 device 缓存纯值关系,支持采集先开启或资源先创建;关闭采集时不调用关系 hash/时间/上报,START 后上报,不设 L1-only 门禁。 6. **格式及可靠性。** 沿用 64B ProfilingDeviceCommResInfo 并校验布局,每条最多 8 个 SQ;去重、成功批次记账、失败 WARNING 且不改变通信返回值。注册不持状态锁,profapi 调用在状态锁外串行执行,callback/DSO 保持进程生命周期。 ## 兼容性与边界 - 不使用 reserved,不新增 HCOMM 公共接口,不修改 HCCL、opbase、runtime 或解析器,不改变算法/SQE/同步顺序。 - 本方案限定 A5 AICPU_TS、单通信域、单次采集;STOP 后不支持再次 START 的完整采集周期,不承诺通信域销毁重建。 - usrRankId 暂用 rankId;不能据此保证子通信域 parent-rank 语义。 - 依赖目标 profapi 支持同模块多个 callback 及晚注册补发;不能通过覆盖 HCOMM callback 绕过兼容性要求。 - HCOMM 原有 KFC=0 关系保留,asc-devkit 补报真实 KFC;当前解析器已验证本次数据无任务重复,不泛化为所有历史版本。 - 额外资源查询位于资源准备阶段,不在 device repeat/SQE 热路径进行关系收集;DeviceOp 按消息聚合。 ## 编译与定向测试 - 实验开发阶段 A5_4p asc-devkit 包构建成功;Host 状态机测试覆盖 START 顺序、设备隔离、STOP、分包/重试和并发。 - 安装版 libprofapi 纯 CPU 探针验证多个 callback 共存及晚注册 INIT/START;解析器合成数据探针验证双份关系与分包,不等同板测。 - libmc2_client.so 动态依赖检查无未定义符号,git diff --check 通过。 ## 配套板端验证(2026-09-23) 用户在黄区 8P 服务器对比 0923 newest 与配套修复包;hccl_api_test 执行 AllGather、AllReduce,32 MiB、FP16、AICPU_TS、-w 0 -n 1。两版本各 16 份 PROF,共 32 份数据库及导出时间线已核对。 | 每 rank 指标 | newest AllGather | 修复 AllGather | newest AllReduce | 修复 AllReduce | |---|---:|---:|---:|---:| | AscendTask 中 stream 65535 的任务数 | 63 | 0 | 74 | 0 | | KfcTask 数量 | 0 | 63 | 0 | 74 | | 两条 CONDITION 所在 stream | 65535 | 7 | 65535 | 7 | | 通信物理 stream | 未正确关联 | 7–13 | 未正确关联 | 7–14 | 修复后每 rank 的 Communication 时间线包含 63/74 个任务及一个算子区间,KFC 逻辑 stream 为 59。原始 KFC=0 与补报 KFC=59 的关系同时存在,但按 stream/task/context/batch 检查未生成重复 KfcTask。解析日志未检出 ERROR/Traceback;两组均有可选采集表缺失 WARNING。 这是上述配套包及两个用例的验证,不代表其他算子、子通信域、静态图、多轮动态采集或性能已全面验证。修复版执行日志另有每进程一次 GetUnfoldThreadInfo 返回 HCCL_E_NOT_FOUND 的 ERROR 误报;asc-devkit 已追加最小修正,保留正常创建流程及其他错误处理,该日志修正尚未重新编译/板测。 ## 关联的Issue NA See merge request: cann/asc-devkit!5536 | 10 天前 | |
refactor:重构include下除basic_api的代码 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4277 merge br_codestyle_include into master refactor:重构include下除basic_api的代码 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改include下的代码格式,使其符合clang-format规范。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4277 | 2 个月前 | |
add load data with decomp Co-authored-by: zengjuan<zengjuan2@huawei.com> # message auto-generated for no-merge-commit merge: !6261 merge master into master add load data with decomp Created-by: zengjuan Commit-by: zengjuan Merged-by: cann-robot Description: ## 描述 add load data with decomp ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6261 | 14 天前 | |
fix:修复tensorapi/capi中新增文件的兼容性问题 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !6394 merge br_version_num into master fix:修复tensorapi/capi中新增文件的兼容性问题 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 背景:当客户侧使用较久远的toolkit包时不存在某些文件,这些文件是在后期重构代码时新建的。 - 方案:针对新增的文件添加 ASC_DEVKIT_VERSION_NUM宏,确保toolkit包与代码能够匹配。 - 提示:ASC_DEVKIT_VERSION_NUM将helpers.h文件隔离,若使用不带helpers.h的包时(如330商发包),需要用户在算子中手动添加asc_vf_call()函数对应的头文件,以供VF调用。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> COMPILE; 前冒烟; 二级冒烟; ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [x] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6394 | 6 天前 | |
feat: add asc_uintdiv SIMT API Co-authored-by: zhangshunwei2<zhangshunwei2@huawei.com> # message auto-generated for no-merge-commit merge: !6009 merge fastdiv_simt into master feat: add asc_uintdiv SIMT API Created-by: zhangshunwei2 Commit-by: zhangshunwei2 Merged-by: cann-robot Description: ## 描述 新增 C 风格 SIMT 快速整数除法接口,共两个,均支持 uint32/uint64: - asc_get_uintdiv_magic_and_shift:在核函数标量计算逻辑中根据除数预计算乘法因子 magic 和移位量 shift(该接口由 #6008 原 scalar 侧实现迁移至 simt_api/math_functions.h,与 asc_uintdiv 归置一处)。 - asc_uintdiv:在 SIMT VF 计算逻辑中根据被除数与预计算参数,通过无符号高位乘法、加法和右移计算整数商,适用于同一除数被大量数据复用的场景。 接口用于 Ascend 950(dav-3510)的 SIMD+SIMT 混合编程,不支持纯 SIMT 编程。两种位宽的被除数及对应除数最大值分别为 INT32_MAX、INT64_MAX。两个接口在同一头文件 simt_api/math_functions.h 中提供,调用示例为完整闭环(标量预计算 + asc_vf_call + VF 内快除),可独立编译。 ## 关联的Issue 关联 [Issue #1592](https://gitcode.com/cann/asc-devkit/issues/1592)。 ## 测试 - git diff --check upstream/master 通过。 - CANN 9.2.0 weekly 20260902、dav-3510 环境,使用本分支的公开头文件及实现编译独立 ASC 验证程序,并核对编译依赖路径。 - NPU 实测 uint32/uint64 各 8,241 组输入,均与 CPU 整数除法一致(0 mismatch)。每种位宽包含 49 组边界排列组合与 8,192 组固定种子的随机数据,覆盖 d=1、2、3、7、半域附近、INT*_MAX-1 和 INT*_MAX。 - 迁移后回归:ascendc_ut_simt_api_ascend950pr_9599 UT 265/265 通过(含 ASCENDC_CPU_DEBUG host 编译路径);bisheng 设备编译、纯 SIMT(--enable-simt)宏排除、混合编程 NPU 全量样例(uint32/uint64 各 8388608 元素,普通/快速除法双场景)实测通过;cycle 级性能测量确认 uint32/uint64 快除相对普通除法的收益保持。 ## 文档更新 新增 asc_uintdiv、asc_get_uintdiv_magic_and_shift API 文档,给出高位乘法取整与预计算公式、约束及闭环调用示例;更新整数数学函数索引、混合编程 API 列表和 API 总目录。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6009 | 13 天前 | |
print功能不默认开启 Co-authored-by: li-yuanjie-da<liyuanjie5@h-partners.com> # message auto-generated for no-merge-commit merge: !6342 merge master into master print功能不默认开启 Created-by: li-yuanjie-da Commit-by: li-yuanjie-da Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> print功能不默认开启 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6342 | 12 天前 | |
解决include 和 impl 目录中多个同名头文件问题 Co-authored-by: jcmrn0930<2418672268@qq.com> # message auto-generated for no-merge-commit merge: !6284 merge fix/header-path-conflicts into master 解决include 和 impl 目录中多个同名头文件问题 Created-by: jcmrn0930 Commit-by: jcmrn0930 Merged-by: cann-robot Description: ## 描述 解决include 和 impl 目录中多个同名头文件问题 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6284 | 12 天前 | |
refactor:重构include下除basic_api的代码 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4277 merge br_codestyle_include into master refactor:重构include下除basic_api的代码 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改include下的代码格式,使其符合clang-format规范。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4277 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 10 天前 | ||
| 2 个月前 | ||
| 14 天前 | ||
| 6 天前 | ||
| 13 天前 | ||
| 12 天前 | ||
| 12 天前 | ||
| 2 个月前 |