| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Feat: 新增面向arch35的aclblasSswap接口 Co-authored-by: xutianze<xutianze2@huawei.com> # message auto-generated for no-merge-commit merge: !96 merge aclSswap into master Feat: 新增面向arch35的aclblasSswap接口 Created-by: xutianze Commit-by: xutianze Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增 aclblasSswap 的 arch35(Ascend950PR / DAV_3510)实现。 **主要改动:** 1. **新增 arch35 kernel 实现**(blas/swap/sswap/arch35/) - sswap_host.cpp:host 侧参数校验、动态获取 Vector Core 数、Tiling 计算与 kernel 调度 - sswap_kernel.cpp:kernel 侧多核并行 + GM↔UB 交叉写回实现向量交换,采用 Single Buffer + DataCopyPad 处理对齐与尾部 - sswap_tiling_data.h:Tiling 数据结构定义 2. **API 签名优化**(include/cann_ops_blas.h) - aclblasSswap 签名从 (handle, int64_t, uint8_t*, int64_t, uint8_t*, int64_t) 改为 (handle, int, float*, int, float*, int),类型更安全、语义更清晰 - arch22 host 实现同步适配新签名 3. **新增 arch35 精度 ST**(test/swap/sswap/arch35/) - CSV 驱动的 GTest 参数化测试,覆盖 28 个用例(边界、常规、特殊值、错误码) - 精度验证模式为 EXACT(位精确) 4. **新增 arch22 测试适配**(test/swap/sswap/arch22/sswap_test.cpp) - 适配新 API 签名(float* / int) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 无 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - **arch22(Ascend910B)**:bash build.sh --ops=sswap --soc=ascend910b --run,n=16384 精度验证通过 - **arch35(Ascend950PR)**:bash build.sh --ops=sswap --soc=ascend950 --run,28 条 CSV 用例全部通过(精度模式 EXACT) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增 blas/swap/sswap/README.md,包含算子概述、接口说明、参数约束、编译运行、调用示例、实现要点及与 arch22 的差异对比。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!96 | 1 个月前 |