init Matmul 目录:项目总览

This commit is contained in:
2026-08-27 11:58:50 +00:00
parent e72b3dc1c4
commit 5f552757b5

35
Matmul/README.md Normal file
View File

@@ -0,0 +1,35 @@
# Matmul 算子分析(昇腾 950PR
> 目标芯片:昇腾 950PR32 AIC / 64 AIV1.65GHzGM 128GB/1.6TB/sL2 128MB/5.2TB/s架构版本 351x / DAV_3510
> 项目性质:中长期,多轮迭代、严谨逻辑推导、理论建模与验证
本目录同步 **Matmul 算子分析** 的全部产出。与同仓 `BMM/`Batch Matmul 分析互补BMM 侧重 batch 维切分与分支决策,本目录聚焦单矩阵乘 `[M,K]×[K,N]→[M,N]` 的 tiling & swizzle 深度优化、性能理论建模与源码/硬件改进建议。
## 三大任务
1. **性能理论建模**:对 Matmul 在 NPU 上的执行做理论建模,真实反映硬件执行情况、力求准确评估算子性能。给定具体 case 与 tiling & swizzle 方案和参数后,能给出该芯片的 profile 性能分析评估。
2. **最优软件实现方案**:结合 NPU 架构规格与算子数据流,通过公式推导给出任意 case 的 matmul 输入后的最优实现方案(核心是 tiling & swizzle
3. **源码对比与改进建议**:对比 Matmul 算子当前源码实现给出软件改进点;结合 top case针对 NPU 架构给出下一代硬件改进建议。
## 目录索引
| 文档 | 说明 |
|---|---|
| [00_项目规划_小步快跑.md](./00_项目规划_小步快跑.md) | 项目总规划:任务拆解、小步快跑路线图、目录约定、风险 |
| [01_情报清单.md](./01_情报清单.md) | 情报信息清单(硬件规格/性能建模文档/源码/待补充实测数据) |
| `1_性能模型/` | 任务 1硬件参数与 Roofline、单核流水线建模、多核+swizzle 建模、profile 评估器 |
| `2_最优方案/` | 任务 2模板体系、tiling 参数最优推导、swizzle 编排最优推导、任意 case 决策 |
| `3_源码对比/` | 任务 3mat_mul_v3 源码解析、软件改进点、下一代硬件改进建议 |
## 关键参考(情报来源)
- 硬件:`昇腾NPU知识库/00_硬件/昇腾950_NPU架构白皮书`PDF + 全文 txt、同仓 `昇腾950PR/昇腾950PR架构解读.md`
- 性能建模:`昇腾NPU知识库/代码仓/cann-samples/Samples/2_Performance/matmul_story/docs/matmul_performance.md`(官方 T_cube/T_mte2/T_mte1/T_fixp 公式)
- 源码:`昇腾NPU知识库/代码仓/ops-nn/matmul/mat_mul_v3/`182 文件,含 arch35 kernel 与 tiling`昇腾NPU知识库/代码仓/ops-blas/blasLt/matmul/`fp32/mxfp4/mxfp8`昇腾NPU知识库/代码仓/catlass/`
## 状态
- [x] Phase 0情报准备 + 规划(本目录初始化)
- [ ] Phase 1性能理论建模任务 1
- [ ] Phase 2最优软件实现方案任务 2
- [ ] Phase 3源码对比与改进建议任务 3