| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Feat:新增面向arch35的aclblasGemmStridedBatchedEx接口 Co-authored-by: Xian_Yu-<3240106058@zju.edu.cn> # message auto-generated for no-merge-commit merge: !318 merge feat/gemm-strided-batched-ex into master Feat:新增面向arch35的aclblasGemmStridedBatchedEx接口 Created-by: Xian_Yu- Commit-by: Xian_Yu- Merged-by: cann-robot Description: ## 描述 新增 Ascend 950(arch35 / DAV-3510)的 aclblasGemmStridedBatchedEx 实现。 主要改动: - 设备端直接通过 base + batchIndex * stride 访问各批次矩阵,不生成 device pointer array。 - 支持列主序、OP_N/OP_T/OP_C、非紧凑及负 stride。 - 支持空矩阵、alpha==0、k==0、beta==0 等特殊执行路径。 - 实现 Cube直接输出、通用AIV epilogue及确定性Split-K归约。 - 实现ALGO0~7独立调度策略;非FP16类型当前支持DEFAULT/ALGO0。 - 增加地址、任务数及workspace溢出检查。 - 不调用或链接 gemm_batched_ex,实现代码独立维护。 支持的数据类型包括: - FP16×FP16→FP16/FP32 - BF16×BF16→BF16/FP32 - FP32×FP32→FP32 - INT8×INT8→INT32/FP32 - Complex FP32,包括真正的共轭转置 - FP8 E4M3/E5M2四种输入组合→FP16/FP32 - 对应的Pedantic及FP32 FAST模式 ## 关联的Issue 暂无。 ## 测试 在Ascend 950、arch35 / DAV-3510环境执行隔离构建及上板测试: bash bash test/gemm_strided_batched_ex/run_ascend950.sh \ --soc=ascend950 \ --device=0 验证内容包括: - 所有已支持的数据类型及compute type。 - NN、NT、TN、TT和Complex共轭转置。 - 非对齐M/N/K尾块。 - 空矩阵、alpha/beta典型组合及A/B/C免读语义。 - 非紧凑stride、负stride、ldc padding及batch gap。 - batch大于核数场景。 - ALGO0~7调度及显式算法不替换。 - Split-K、workspace不足和地址溢出。 - 空指针、非法参数、零stride及不支持组合。 - guard zone、padding和batch gap越界检查。 测试结果: - 隔离动态库及测试程序构建成功。 - 共执行82项测试,**82/82全部通过**。 - 整数结果0处不匹配,浮点结果均满足精度阈值。 - 性能冒烟:M=N=K=256,batch=4,平均约 90.21 μs,约 1.49 TFLOPS。 ## 文档更新 更新了 blas/gemm_strided_batched_ex/README.md,补充接口说明、数据类型支持矩阵、算法能力、参数限制及构建测试方法。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!318 | 1 天前 | |
fix(docs): 修复QUICKSTART.md中scopy算子源文件路径错误 Co-authored-by: root<1302896824@qq.com> # message auto-generated for no-merge-commit merge: !265 merge fix/quickstart-scopy-path into master fix(docs): 修复QUICKSTART.md中scopy算子源文件路径错误 Created-by: zhanghua145 Commit-by: root Merged-by: cann-robot Description: ## 描述 修复 docs/QUICKSTART.md 中 scopy 算子源文件路径错误的问题。文档中多处引用了不存在的路径 blas/copy/scopy/,实际仓库结构按架构版本组织,源文件位于 blas/copy/arch22/(对应 Atlas A2/A3 系列)和 blas/copy/arch35/(对应 950 系列)下。 具体修改 4 处: - 第5行:源文件目录路径 blas/copy/scopy → blas/copy/ 下的架构子目录(arch22/、arch35/) - 第58行:测试样例文件路径 test/copy/scopy/scopy_test.cpp → test/copy/scopy/arch22/scopy_test.cpp(或 arch35) - 第83行:kernel 实现文件路径 blas/copy/scopy/scopy_kernel.cpp → blas/copy/arch22/scopy_kernel.cpp(或 arch35) - 第140行:调试章节 kernel 文件路径,同上修正 ## 关联的Issue [#289](https://gitcode.com/cann/ops-blas/issues/289) ## 测试 - 核对仓库实际目录结构,确认 blas/copy/arch22/ 和 blas/copy/arch35/ 存在且包含 scopy_kernel.cpp - 核对 test/copy/scopy/arch22/scopy_test.cpp 和 test/copy/scopy/arch35/scopy_test.cpp 存在 - 确认编译产物路径 build/test/copy/scopy/scopy_test 无需修改(CMake 按 CMakeLists.txt 目录输出,无 arch 子目录) ## 文档更新 本次 PR 即为文档更新,修正了 docs/QUICKSTART.md 中的 4 处错误路径。 ## 类型标签 - [x] 文档更新 See merge request: cann/ops-blas!265 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 天前 | ||
| 1 个月前 |