v1.0: 修正源码仓地址为gitcode.com/cann/ops-nn
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# MergeBatch vs IterBatch:BMM 小 tile 场景的两种实现路径分析
|
# MergeBatch vs IterBatch:BMM 小 tile 场景的两种实现路径分析
|
||||||
|
|
||||||
> 目标芯片:昇腾 950PR(DAV_3510)。理论分析基于《BMM 算子优化分析 v0.96》,源码参考 [cann-ops-nn](https://gitee.com/ascend/cann-ops-nn) 中 `matmul/batch_mat_mul_v3` 实现。
|
> 目标芯片:昇腾 950PR(DAV_3510)。理论分析基于《BMM 算子优化分析 v0.96》,源码参考 [cann-ops-nn](https://gitcode.com/cann/ops-nn/tree/master/matmul/batch_mat_mul_v3) 实现。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -165,7 +165,7 @@ $$
|
|||||||
**IsCapable 条件**:
|
**IsCapable 条件**:
|
||||||
|
|
||||||
```cpp
|
```cpp
|
||||||
// 源码:https://gitee.com/ascend/cann-ops-nn
|
// 源码:https://gitcode.com/cann/ops-nn/tree/master/matmul/batch_mat_mul_v3
|
||||||
if (batchC < MIN_BATCH_L0 * aicNum) return false; // B < 128,即 b_core < 4
|
if (batchC < MIN_BATCH_L0 * aicNum) return false; // B < 128,即 b_core < 4
|
||||||
if (alignK < 64 || M > N) return false; // K ≥ 64,M ≤ N
|
if (alignK < 64 || M > N) return false; // K ≥ 64,M ≤ N
|
||||||
if (L0 buffer check with b0=4) return false; // L0C 容量
|
if (L0 buffer check with b0=4) return false; // L0C 容量
|
||||||
@@ -190,7 +190,7 @@ if (L0 buffer check with b0=4) return false; // L0C 容量
|
|||||||
**IsCapable 条件**:
|
**IsCapable 条件**:
|
||||||
|
|
||||||
```cpp
|
```cpp
|
||||||
// 源码:https://gitee.com/ascend/cann-ops-nn
|
// 源码:https://gitcode.com/cann/ops-nn/tree/master/matmul/batch_mat_mul_v3
|
||||||
if (batchC <= aicNum) return false; // B ≤ 32 不进 IterBatch
|
if (batchC <= aicNum) return false; // B ≤ 32 不进 IterBatch
|
||||||
if ((alignM*alignK + alignK*alignN)*dtype*2 > L1) return false; // L1 双缓冲
|
if ((alignM*alignK + alignK*alignN)*dtype*2 > L1) return false; // L1 双缓冲
|
||||||
if (!l0CanLoadBatch_ && balanceRate < 0.8) return false; // 负载均衡
|
if (!l0CanLoadBatch_ && balanceRate < 0.8) return false; // 负载均衡
|
||||||
@@ -224,4 +224,4 @@ if (!l0CanLoadBatch_ && balanceRate < 0.8) return false; // 负载均衡
|
|||||||
|
|
||||||
1. [昇腾 950 NPU 架构白皮书](https://public-download.obs.cn-east-2.myhuaweicloud.com/ascend/%E6%98%87%E8%85%BE950%20NPU%E6%9E%B6%E6%9E%84%E7%99%BD%E7%9A%AE%E4%B9%A6.pdf),华为技术有限公司,2026
|
1. [昇腾 950 NPU 架构白皮书](https://public-download.obs.cn-east-2.myhuaweicloud.com/ascend/%E6%98%87%E8%85%BE950%20NPU%E6%9E%B6%E6%9E%84%E7%99%BD%E7%9A%AE%E4%B9%A6.pdf),华为技术有限公司,2026
|
||||||
2. [CANN AscendC 算子开发——Matmul 高阶 API 使能 UnitFlag](https://www.hiascend.com/document/detail/zh/canncommercial/850/opdevg/Ascendcopdevg/atlas_ascendc_best_practices_10_10003.html),CANN 8.5.0
|
2. [CANN AscendC 算子开发——Matmul 高阶 API 使能 UnitFlag](https://www.hiascend.com/document/detail/zh/canncommercial/850/opdevg/Ascendcopdevg/atlas_ascendc_best_practices_10_10003.html),CANN 8.5.0
|
||||||
3. [cann-ops-nn 源码仓](https://gitee.com/ascend/cann-ops-nn),`matmul/batch_mat_mul_v3` 目录
|
3. [cann-ops-nn 源码仓](https://gitcode.com/cann/ops-nn/tree/master/matmul/batch_mat_mul_v3)
|
||||||
|
|||||||
Reference in New Issue
Block a user