| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
docs: fix documentation errors Co-authored-by: gcw_bTlukKC6<xuxinlei1@huawei.com> # message auto-generated for no-merge-commit merge: !6727 merge docs-pro-sync-0902 into master docs: fix documentation errors Created-by: gcw_bTlukKC6 Commit-by: gcw_bTlukKC6 Merged-by: cann-robot Description: PR 应该避免没有描述信息,描述信息的最重要的作用是描述修改意图,应该清晰明了。例如:标题中包含了 fix 标签,如果没有描述信息,就需要Review人员猜测PR具体修复了哪些内容,或者怀疑修改的必要性。如果PR和特定的Issue相关,可以单独包含一行 Related Issue: 放到描述信息最后。 下面是一个典型的PR描述信息: The origin issue template brings too many noise, it's not suitable for git message. eg: comments are not removed, labels are redundant as the PR tile already contains the tag. The guide gives a clear suggestion on how to write the PR body. Related Issue: #1234,#5678 更多描述信息见:[Commit Message 规范](../docs/zh/contribute/pull-request.md#commit-message) See merge request: cann/pypto!6727 | 1 个月前 | |
feat(pro): Add L1 GEMM interfaces and pipeline handover Co-authored-by: ddddwee1<chengyu996@gmail.com> # message auto-generated for no-merge-commit merge: !6992 merge codex/pro-gemm into master feat(pro): Add L1 GEMM interfaces and pipeline handover Created-by: ddddwe Commit-by: ddddwee1 Merged-by: cann-robot Description: Cube kernel 在 L1 操作数上计算矩阵乘法时,需要反复手写 L0 staging、选槽、搬运和 matmul 累加。本 PR 增加 pl.gemm 与 pl.gemm_mx,沿用前端 AST 展开方式,生成既有 move、set_validshape 和 matmul 原语,复用原生 SSA、TileGroup 与 AUTO mutex。调用方继续显式声明 Tile、地址、缓冲深度和同步资源。 ### 主要行为及适用场景 - 普通 GEMM 支持初始化/原地累加、bias、转置、有效 m/n/k、split-K、split-N 及尾块。split-K 首步按 init 选择初始化,后续步骤累加;split-N 使用所选 accumulator 槽的连续条带覆盖不同列区间。 - 每次调用设置本次 staging、accumulator 和 MX scale-plane 的有效范围;省略轴恢复 L1 声明范围,避免同一 Tile 在部分计算后再次完整计算时残留旧范围。compact 按每个目标 Tile 的物理尺寸判断,完整静态范围允许使用非 compact 布局。 - 内联视图、游标及运行时尺寸表达式通过原生语句解析器一次绑定,保持求值顺序和同步元数据。运行时 m/n/k 按实际 IR 类型要求整数标量,接受整数与 index,拒绝浮点和 bool;常量继续执行已有正值与容量检查,不新增运行时范围断言。参数诊断沿用主线公共机制,保留参数级定位。 - split-N 的条带跨度复用 tile_slot_size,按当前视图的行数、条带宽度和 dtype 计算,避免用原始分配的 memref.size 推导缩窄 reinterpret 视图的跨度。生成条带前复用既有内存空间检查,要求原 acc 位于 L0C,避免把 L1/UB 地址重新解释为 Acc。 - MX GEMM 支持 FP8/FP4 的数据与 scale-plane 成对 staging,复用原生数据/scale 槽配对检查,保留 K 对齐、group-size 和 compact 约束。动态槽位成员判断统一使用已有 _tile_slot_source,去掉重复集合及双重传播,保留来源关系、SSA 别名和多槽配对校验。 - 普通 GEMM 接入自动 pipeline 的 L1 交接,访问分析按 staging move 的 MTE1 流水记录输入读取,覆盖 preload、环形槽复用、drain 和 split-K。未登记操作的公共追踪检查同时遍历位置和关键字操作数,避免 MX 受跟踪/地址共享 staging 仅经关键字传入时漏检。accumulator、L0 staging、bias 的跨核交接及 MX 自动交接仍使用显式原语表达。 - ir.pyi 补齐当前 native binding 已有的 attributes_api_version 及 Call、Function、ForStmt 三种 get_attributes 重载,类型声明与运行接口一致;没有增加 C++ 接口。 - 已在主线的 adds/subs/muls 只将三个操作数声明为位置参数,与同类 API 的参数约定一致,计算实现保持原样。 ### 范围 源提交:7230fc2b66be3faff3939a2ede40669fa26cd6d5,树 f77da8025f1f6745bf195036a42d45dbf2c870d9,父提交 0b0cc2fc083045566e23868deaf075a524937601。PR1 [!6868](https://gitcode.com/cann/pypto/merge_requests/6868) 已在主线,本 PR 直接基于主线整理为一条提交。 相对父提交为 21 个路径:10 个实现/类型桩文件、5 个测试文件和 6 个文档删除/目录清理路径。删除 PR1 新增的 adds.md、subs.md、muls.md、frontend_diagnostics.md 四篇正文,并清理两处 index 引用,文档由维护者统一整理;没有新增文档。五个测试文件覆盖真实源码解析、访问分析、同步序列对照和设备数值,包括缩窄 Acc 视图、错误内存空间、MX 关键字追踪及输出边界。 保留 GEMM 的 AST 展开流程,不改为新的 op 注册/框架 Pass,不改变 GEMM 的公开参数约定。不引入 mem_space、GM workspace、通用 pipeline 修复或标量 divmod 优化;native 源码和 CI 配置均无差异。 ### 验证 当前树以官方 build_ci.py --no_isolation --just_build_whl -j 16 构建并完整安装 wheel,无 Python overlay;源码、sdist native 输入、wheel Python 和实际加载库身份已核对。环境为 Python 3.11、Torch/torch_npu 2.10、CANN 9.2.0、Ascend950。 - 完整 Pro UT:2911 passed、0 skipped,退出 0;1 条既有 MutexMismatch warning。 - 现有 GEMM/MX/pipeline 上板 ST:55 passed、0 skipped,退出 0(25 项普通 GEMM、22 项 MX、4 项同步对照及 4 项 pipeline 设备数值)。 - 运行时尺寸定点解析:有符号/无符号整数、复合表达式和循环索引可用,浮点/bool 类型的结果被拒绝,原生运算提升出的整数结果继续接受;既有回归验证运行时尺寸表达式和游标仅求值一次。adds/subs/muls 签名及类型桩与 wheel/安装的一致性检查通过。 - 修复前对照:原 8c078efe3 代码在新增负例/视图回归中有 16 项失败,另有 7 项正对照通过;同 native 输入的 split-N 缩窄 Acc 视图上板出现数值错误。候选树对应回归通过。 - 15 个 Python/类型桩文件语法解析、适用 pre-commit 和 git diff --check 通过;同范围 local_codecheck 为 209 → 204,无新增提示。log-spec-check 依赖外部 agent CLI,未执行。 本轮未重跑全量 ST。旧 f9e6350fc 的完整扫描为 1739 passed、126 failed、19 skipped、2 xfailed,另排除 524 项;125 项失败有既有问题/环境证据,Gather int32 原批量失败在基线与 PR2 单跑均未复现,具体根因尚未建立。该历史结果保留原身份,不作为当前树的全量 ST 验收,也不声称全量通过。当前提交的在线 CI 以本轮流水线结果为准。 See merge request: cann/pypto!6992 | 7 天前 | |
docs(pypto_pro): Address documentation review comments Co-authored-by: lyy_617<liyuyanjune@163.com> Co-authored-by: gcw_bTlukKC6<xuxinlei1@huawei.com> # message auto-generated for no-merge-commit merge: !6576 merge docs-pro-sync-0902 into master docs(pypto_pro): Address documentation review comments Created-by: gcw_bTlukKC6 Commit-by: lyy_617;gcw_bTlukKC6 Merged-by: cann-robot Description: PR 应该避免没有描述信息,描述信息的最重要的作用是描述修改意图,应该清晰明了。例如:标题中包含了 fix 标签,如果没有描述信息,就需要Review人员猜测PR具体修复了哪些内容,或者怀疑修改的必要性。如果PR和特定的Issue相关,可以单独包含一行 Related Issue: 放到描述信息最后。 下面是一个典型的PR描述信息: The origin issue template brings too many noise, it's not suitable for git message. eg: comments are not removed, labels are redundant as the PR tile already contains the tag. The guide gives a clear suggestion on how to write the PR body. Related Issue: #1234,#5678 更多描述信息见:[Commit Message 规范](../docs/zh/contribute/pull-request.md#commit-message) See merge request: cann/pypto!6576 | 1 个月前 | |
docs(sanitizer): Document phase, sync and mutex double-lock detections Co-authored-by: zhengyaoff12<zhengyao12@huawei.com> # message auto-generated for no-merge-commit merge: !7243 merge docs/sanitizer-phase-sync into master docs(sanitizer): Document phase, sync and mutex double-lock detections Created-by: zhengyaoff12 Commit-by: zhengyaoff12 Merged-by: cann-robot Description: docs(sanitizer): Document phase, sync and mutex double-lock detections The sanitizer guide predates the unit_flag phase (AccPhase/STPhase) and sync (sync_src/sync_dst) pairing detections and the mutex double-lock detection. Update the guide so the detection list, usage constraints and examples match the current behavior. Changes: - Add PHASE_MISMATCH / PHASE_DEADLOCK with three worked phase examples (mixed sync, dangling Final write, wrong K-chain head) - Add SYNC_UNPAIRED_SRC / SYNC_UNPAIRED_DST / SYNC_EVENT_REUSE with worked sync examples - Add MUTEX_DOUBLE_LOCK to the mutex pairing section - Update the report description: per-launch binary report file sanitizer_report.<launch_id>.bin and the launch-tagged kernel header line - Document that sync pairing is checked per core and cross-core pairs are not supported yet See merge request: cann/pypto!7243 | 21 小时前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 7 天前 | ||
| 1 个月前 | ||
| 21 小时前 |