StridedBatchedMatmulTla Example Readme
代码组织
├── 45_strided_batched_matmul_tla
│ ├── CMakeLists.txt # CMake编译文件
│ ├── README.md
│ └── strided_batched_matmul_tla.cpp # 主文件
使用示例
- 获取代码之后编译相应的算子可执行文件,可参考quickstart
- 执行算子
# 编译指定用例
bash scripts/build.sh 45_strided_batched_matmul_tla
cd output/bin
# 基本用法:可执行文件名 batch轴|m轴|n轴|k轴|Device ID
# Device ID 可选,默认为0
./45_strided_batched_matmul_tla 5 256 512 1024 0
# layout 定制(仅支持 row/col,大小写不敏感;可选,默认 row row)
# - layoutA: A(M,K) 的 layout
# - layoutB: B(K,N) 的 layout
# layout 是一个“可选的尾部分组”,可以追加在任意一种参数组合的末尾;
./45_strided_batched_matmul_tla 5 256 512 1024 row col
./45_strided_batched_matmul_tla 5 256 512 1024 0 row col
# stride 定制(单位:elements)
# - lda/ldb/ldc:分别为 A(M,K)/B(K,N)/C(M,N) 的 leading dimension
# - A: row 时 lda>=K;col 时 lda>=M
# - B: row 时 ldb>=N;col 时 ldb>=K
# - C: 本示例固定为 row,因此 ldc>=N
# - strideA/strideB/strideC:batch 维度上相邻两矩阵的步长
#
# 只指定 lda/ldb/ldc(strideBatch 默认连续)
./45_strided_batched_matmul_tla 5 256 512 1024 0 1100 600 600
#
# 同时指定 batch stride(支持 batch 间 padding)
./45_strided_batched_matmul_tla 5 256 512 1024 0 1100 600 600 300000 400000 500000
# layout + stride 混用(当传 layoutA/layoutB 时,必须放在命令行最后两个参数位置)
./45_strided_batched_matmul_tla 5 256 512 1024 0 1100 600 600 300000 400000 500000 col row
执行结果如下,说明精度比对成功。
Compare success.