init Matmul 目录:项目总览
This commit is contained in:
35
Matmul/README.md
Normal file
35
Matmul/README.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Matmul 算子分析(昇腾 950PR)
|
||||
|
||||
> 目标芯片:昇腾 950PR(32 AIC / 64 AIV,1.65GHz,GM 128GB/1.6TB/s,L2 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_源码对比/` | 任务 3:mat_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)
|
||||
Reference in New Issue
Block a user