| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
perf(sdma): optimize TPREFETCH SQE and warmup control path Co-authored-by: lengtianran<lengtianran@huawei.com> # message auto-generated for no-merge-commit merge: !1489 merge perf/sdma-control-path-warmup into master perf(sdma): optimize TPREFETCH SQE and warmup control path Created-by: ltr123 Commit-by: lengtianran Merged-by: cann-robot Description: ## 描述 优化 TPREFETCH_ASYNC的SQE提交和首次控制路径开销: - 将单个Data SQE的块大小设为64MiB,减少大块预取时的SQE数量和提交开销。 - 新增供Simpler Runtime初始化使用的SDMA内部控制路径预热能力。 - 在空队列状态下原值写回当前Tail指向的64B STARS SQ槽,并完成单Cache Line发布。 - 向Doorbell写回当前Tail,不推进Tail、不发布SQE,也不改变队列内容。 - PTO-ISA内部创建UB临时区;预热能力位于detail命名空间,不作为公共用户接口暴露。 ## 关联的Issue ## 测试 执行:ASCEND_RT_VISIBLE_DEVICES=1 python3 tests/script/run_st.py -r npu -v a3 -t tprefetch_async 6个TPREFETCH_ASYNC用例全部通过;L2访问用例本次结果为2.26x加速。 另完成48 AIV预热及后续PyPTO业务校验,status=success,launch_sync_us复测范围约4445~4509 us。 ## 文档更新 无公共文档更新;预热接口为Simpler专用内部能力。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1489 | 18 天前 | |
fix: initialize Tile K-alignment flag Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1498 merge github into master fix: initialize Tile K-alignment flag Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhhywang Commit-by: zhhywang Merged-by: cann-robot Description: 在 Tile 元数据中默认初始化 K-alignment 标志,避免默认构造后读取未定义值。 ## 描述 2 files changed, 62 insertions(+), 1 deletion(-) - **范围**:涉及 include/pto/common/pto_tile.hpp 和 tests/cpu/st/testcase/setgetval/main.cpp。 - **问题**:Tile::isKAligned_ 默认构造后未初始化,A2/A3 FP32 matmul/GEMV 等路径通过 GetKAligned() 读取时存在未定义行为风险。 - **修复**:为 isKAligned_ 增加 false 默认初始化,并新增 CPU ST 覆盖静态和动态 Tile 构造后的默认 K-alignment 状态及 SetKAligned(true) 行为。 - **影响**:默认构造 Tile 明确进入非 K-aligned 模式,无额外兼容性影响。 ## 关联的Issue https://github.com/hw-native-sys/pto-isa/issues/255 ## 测试 - cmake --build build/cpu_st --target setgetval -j 8 && build/cpu_st/bin/setgetval - 结果:PASS - 临时移除 isKAligned_ = false 后运行同一 setgetval ST - 结果:FAIL,新增 k_aligned_default_false 用例失败;恢复修复后 PASS ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1498 | 17 天前 | |
fix: normalize cache line constants and CPU sim edge cases Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1415 merge github into master fix: normalize cache line constants and CPU sim edge cases Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 统一 dcci cache line 参数为 cache_line_t::...,并修复 CPU 仿真初始化、TWait 调度识别和 TStore 越界写回问题。 ## 描述 42 文件 +88/-82: - **范围**:通信/同步头文件、CPU/costmodel stub、manual kernels、NPU ST 测试及相关文档。 - **接口同步**:SINGLE_CACHE_LINE/ENTIRE_DATA_CACHE 改为 cache_line_t::SINGLE_CACHE_LINE/cache_line_t::ENTIRE_DATA_CACHE。 - **CPU 仿真修复**:host malloc 改为零初始化;TStoreAcc 跳过无效行列;TWait 增加 _jit_l3_mtp_decode_layer_ 进度感知识别。 ## 关联的Issue ## 测试 - 未运行编译/单测;本次仅根据当前 staged diff 整理 commit message。 ## 文档更新 同步更新 cache line 参数写法相关说明。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1415 | 1 个月前 | |
[CPU-SIM] Fix tmovfp test issue Co-authored-by: Azizbek<habibov.azizbek@h-partners.com> # message auto-generated for no-merge-commit merge: !1487 merge tmov into master [CPU-SIM] Fix tmovfp test issue Created-by: Azizbek Commit-by: Azizbek Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1487 | 17 天前 | |
Support split odd valid shape in pushVec2GMFiFo & Fix the tiling shape validation in FA Co-authored-by: chenjinlin<chenjinlin1@huawei.com> # message auto-generated for no-merge-commit merge: !1507 merge update_tpush into master Support split odd valid shape in pushVec2GMFiFo & Fix the tiling shape validation in FA Created-by: csjlchen Commit-by: chenjinlin Merged-by: cann-robot Description: ## 描述 Support split the odd valid shape in pushVec2GMFiFo. Fix the div by zero in fa tiling shape validation. ## 关联的Issue https://gitcode.com/cann/pto-isa/issues/530 ## 测试 All tpush and flash attention testcases are passed . ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1507 | 15 天前 | |
Add Introduction of pto-comm Co-authored-by: zhezhou<zhouzhe22@huawei.com> # message auto-generated for no-merge-commit merge: !748 merge master into master Add Introduction of pto-comm Created-by: zhezhou Commit-by: zhezhou Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 增加pto 通信指令相关的readme 描述 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!748 | 4 个月前 | |
Add Introduction of pto-comm Co-authored-by: zhezhou<zhouzhe22@huawei.com> # message auto-generated for no-merge-commit merge: !748 merge master into master Add Introduction of pto-comm Created-by: zhezhou Commit-by: zhezhou Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 增加pto 通信指令相关的readme 描述 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!748 | 4 个月前 | |
[feat.] Add arch_capability.hpp and refactor type traits across NPU headers Co-authored-by: HuangXingYuan_777<huangxingyuan4@huawei.com> # message auto-generated for no-merge-commit merge: !1070 merge master into master [feat.] Add arch_capability.hpp and refactor type traits across NPU headers Created-by: HuangXingYuan_777 Commit-by: HuangXingYuan_777 Merged-by: cann-robot Description: ## 描述 [feat.] Add arch_capability.hpp and refactor type traits across NPU headers ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1070 | 2 个月前 |
include/pto/
该目录是 PTO Tile Lib 的主要公共头文件入口,包含:
- Tile 类型系统与共享工具
- PTO 指令 API 声明(Auto/Manual 两种形式)
- CPU 仿真/Stub 支持
- NPU 指令实现(按 SoC 代际划分)
推荐的 include
include/pto/pto-inst.hpp:统一入口头(建议上层代码直接 include 该文件)
在 CPU 仿真场景下,该头文件会包含 CPU stub(例如定义 __CPU_SIM 时会引入 pto/common/cpu_stub.hpp)。
目录结构
common/:平台无关的 Tile 与指令基础设施pto_tile.hpp:核心 Tile 类型与布局pto_instr.hpp、pto_instr_impl.hpp:指令声明与共享实现memory.hpp、constants.hpp、utils.hpp、type.hpp:通用工具与常量
cpu/:CPU 侧仿真/调试支持(如启用)npu/:NPU 侧实现(按 SoC 版本拆分)npu/a2a3/:Ascend A2/A3 系列npu/a5/:Ascend A5 系列
comm/:通信指令库pto_comm_inst.hpp:通信指令统一入口头文件comm_types.hpp:通信指令的核心类型定义pto_comm_instr_impl.hpp:通信指令的平台分发层
相关文档
- 指令参考:
docs/isa/ - 通信指令参考:
docs/isa/comm/