README.md

51_ascend950_quant_matmul_per_group_per_block_tla Example Readme

代码组织

├── 51_ascend950_quant_matmul_per_group_per_block_tla
│   ├── CMakeLists.txt     # CMake编译文件
│   ├── README.md
│   └── matmul_quant_pertile.cpp # 主文件

功能介绍

  • 该算子支持左矩阵采用pergroup,右矩阵采用perblock的量化组合模式。
  • cube侧计算时沿L0shape的大小切块,每次计算baseK的数据后,搬运到ub,在vector侧对该部分数据,先取得对应左矩阵的缩放因子和对应有矩阵的缩放因子,再与该块数据计算,
  • 最后再vector上完成累加后输出

使用示例

  • 获取代码之后编译相应的算子可执行文件,可参考quickstart,本用例为Ascend 950算子,编译时需加-DCATLASS_ARCH=3510
  • 执行算子
# 编译指定用例
bash scripts/build.sh 51_ascend950_quant_matmul_per_group_per_block_tla -DCATLASS_ARCH=3510
cd output/bin
# 可执行文件名 |矩阵m轴|n轴|k轴|Device ID
# Device ID可选,默认为0
./51_ascend950_quant_matmul_per_group_per_block_tla 128 128 128 0

执行结果如下,说明精度比对成功。

Compare success.