| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Feat: 新增面向arch35的aclblasDotEx接口 Co-authored-by: LuckySun<sunwenlong8@huawei.com> # message auto-generated for no-merge-commit merge: !262 merge aclblasDotEx into master Feat: 新增面向arch35的aclblasDotEx接口 Created-by: LuckySun Commit-by: LuckySun Merged-by: cann-robot Description: ## 描述 新增面向 arch35(Ascend 950) 的扩展点积接口 aclblasDotEx,对标 cuBLAS cublasDotEx。 接口签名: cpp aclblasStatus_t aclblasDotEx(aclblasHandle_t handle, int n, const void* x, aclDataType xType, int incx, const void* y, aclDataType yType, int incy, void* result, aclDataType resultType, aclDataType executionType); 支持 FP32/FP16/BF16 三种输入类型,内部统一以 FP32 精度计算,result 类型与输入类型一致。 实现采用双路径策略: - incx == incy && |incx| == 1:SIMD regbase 路径,Mul + ReduceSum 向量化,多核切分 + 跨核归约 - 其余情况:SIMT grid-stride 路径,各线程独立寻址累加,写 per-thread 槽位 + asc_syncthreads + thread 0 串行归约 → 跨核同步 → Core 0 最终 ReduceSum UB 分配采用权重法正比例计算,双缓冲 TQue 流水线。Workspace 布局: [per-thread: useCoreNum × numThreads] [per-core: useCoreNum] SIMT 路径各线程先写 per-thread 槽位,thread 0 归约后写入 per-core 区域,Core 0 从 per-core 区域连续读取做最终归约。 ## 关联的Issue https://gitcode.com/cann/ops-blas/issues/307 ## 测试  ## 文档更新 新增 blas/dotex/README.md。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!262 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Feat: gemm batched with tensor api Co-authored-by: wang-zhiyue2<wangzhiyue2@huawei.com> # message auto-generated for no-merge-commit merge: !269 merge gemm_batched into master Feat: gemm batched with tensor api Created-by: wang-zhiyue2 Commit-by: wang-zhiyue2 Merged-by: cann-robot Description: ## 描述 添加gemm batched算子 ## 关联的Issue ## 测试 sgemm_batched共测试157个用例,1个硬编码用例,156个csv用例,157/157已全部通过。  cgemm_batched共测试166个用例,1个硬编码用例,165个csv用例,166/166已全部通过。  ## 文档更新 添加gemm batched的README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!269 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Feat: 新增面向arch35的aclblasSgemmEx接口 Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !276 merge aclblasSgemmEx into master Feat: 新增面向arch35的aclblasSgemmEx接口 Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 本 PR 新增 aclblasSgemmEx 算子,面向 Ascend950(arch35 / DAV_3510)架构实现单精度(FP32)通用矩阵乘法 C = alpha * op(A) * op(B) + beta * C。 ### 算子功能 - 支持矩阵 A/B 的转置组合:ACLBLAS_OP_N(不转置)、ACLBLAS_OP_T(转置)、ACLBLAS_OP_C(共轭转置,FP32 实数等价于转置) - 支持 alpha/beta 标量缩放融合:alpha=1.0 且 beta=0.0 时 Cube Kernel 直接写回 C;其他场景由 Vector Kernel 执行 C = alpha*tempAB + beta*C 后处理 - 支持完整边界情况处理:m==0/n==0 直接返回、k==0/alpha==0 跳过矩阵乘、C==nullptr 且 beta==0 直接返回 - 矩阵采用 BLAS 标准列主序存储,通过列主序 trick(交换 A↔B、M↔N、transA↔transB)适配 NPU Cube 行主序分块计算 ### 目标芯片与数据类型 | 项目 | 内容 | |------|------| | 目标芯片 | Ascend950(Ascend950PR / Ascend950DT) | | 目标架构 | arch35(DAV_3510) | | 数据类型 | FP32(A、B、C、alpha、beta 均为 float) | | CANN 版本 | 9.1.0 | ### 实现方法 采用 SIMD membase 编程模型(TPipe/TQue 流水线 + BlockMmad 低阶 API),双 Kernel 架构: - **Cube Kernel**:GM→(Nd2Nz)→L1→(LoadData2D V2)→L0A/L0B→(Mmad)→L0C→(Fixpipe)→GM,FP32 分块 baseM=32/baseN=16/baseK=8,L0C 2D 分块控制占用 ≤ 256KB,多核 2D 分块(mBlocks × nBlocks)最大化核利用率 - **Vector Kernel**:GM→(DataCopy)→UB→(Muls+Add)→GM,执行 alpha/beta 后处理,列间多核并行 ### 交付物清单 **算子代码:** - blas/sgemm_ex/README.md — 算子接口文档(含函数原型、参数说明、约束、调用示例) - blas/sgemm_ex/arch35/sgemm_ex_host.cpp — Host 侧参数校验、Tiling 计算、Kernel launch - blas/sgemm_ex/arch35/sgemm_ex_kernel.cpp — Cube Kernel + Vector Kernel 实现 - blas/sgemm_ex/arch35/sgemm_ex_kernel.h — Kernel 函数声明 - blas/sgemm_ex/arch35/sgemm_ex_tiling_data.h — TilingData 结构体定义 - include/cann_ops_blas.h — 新增 aclblasSgemmEx API 声明 **测试代码:** - test/sgemm_ex/CMakeLists.txt — 测试构建配置 - test/sgemm_ex/sgemm_ex_param.h — 参数解析(继承 BlasTestParamBase) - test/sgemm_ex/sgemm_ex_golden.h — CPU golden 计算(cblas_sgemm) - test/sgemm_ex/arch35/sgemm_ex_npu_wrapper.h — NPU 调用封装 - test/sgemm_ex/arch35/sgemm_ex_test.cpp — GTest 测试入口(TEST_P + absFloor 动态阈值) - test/sgemm_ex/arch35/sgemm_ex_test.csv — 58 条 CSV 参数化用例(L0 18 条 + L1 40 条) **测试框架增强:** - test/frame/types.h — VerifyConfig 新增 absFloor 字段(默认 0 不影响其他算子) - test/frame/verify.h — MereMareStrategy 新增 absFloor 逻辑(绝对误差低于阈值时跳过统计) ## 关联的Issue [#308](https://gitcode.com/cann/ops-blas/issues/308) ## 测试 ### 精度测试(ST) 测试环境:Ascend950 / arch35 / CANN 9.1.0,编译器 bisheng (ASC) / GCC 13.3.0 (CXX)。 | 验证项 | 结果 | 详情 | |--------|------|------| | 编译验证 | 通过 | libops_blas.so + sgemm_ex_test 编译成功 | | 精度验证 | 通过 | 59/59 通过(1 条 TEST_F + 58 条 CSV 驱动) | | 回归检查 | 通过 | L0 用例 19 条全部回归通过,无退化 | | 测试代码完整性 | 通过 | CSV 行数一致、golden/npu_wrapper/param 逻辑未修改 | **通过率:59/59 (100%)**,其中 L0 用例 19 条(基础功能 + 边界 + 异常校验)、L1 用例 40 条(大 shape + 非对齐 + leading dimension + 负系数 + NaN/Inf + 异常输入)。 **精度标准:** - MERE ≤ 2^-13(最大相对误差) - MARE ≤ 10 × 2^-13(最大绝对相对误差) - 动态 absFloor = max(1e-3, sqrt(K) × max|A| × max|B| × 2^-22),覆盖 FP32 Cube 累加噪声 **测试命令:** bash bash build.sh --ops=sgemm_ex --soc=ascend950 --run ### 性能测试 测试环境:Ascend950 / arch35 / CANN 9.1.0,32 Cube + 32 Vector 核心,msprof task-based AI Core profiling。 | shape (NN, FP32) | 耗时(us) | TFLOPS | AI Core 利用率 | 核数 | |------------------|---------|--------|---------------|------| | 1024×1024×1024 | 22,280 | 0.096 | 99.8% | 32 | | 2048×2048×2048 | 177,720 | 0.097 | 99.9% | 32 | | 4096×4096×1024 | 359,425 | 0.096 | 99.8% | 32 | **性能状态:首版实现,功能正确,性能待优化。** 多核利用率与功能正确性达标:32/32 核全部使用、Cube Utilization 99.8%、转置组合(NN/NT/TN/TT)性能一致。当前存在 Scalar Bound 瓶颈(Scalar 占比 87.2%,MAC 利用率 2.6%),根因为 PipeBarrier<PIPE_ALL> 全屏障串行化流水线 + L1 单缓冲。已明确优化路径(P0:细粒度屏障 + L1 双缓冲,预期提升 5-10 倍),留待后续性能迭代实施。 ## 文档更新 - 新增 blas/sgemm_ex/README.md:算子接口文档,含产品支持情况、函数原型、参数说明、约束说明、边界情况处理、调用示例及预期输出 - 新增 include/cann_ops_blas.h 中 aclblasSgemmEx 函数声明 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!276 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
fix(gemv_strided_batched): 修复 UB buffer 越界并补齐 README 调用示例 Co-authored-by: yuyuanfeng<yuyuanfeng1@huawei.com> # message auto-generated for no-merge-commit merge: !279 merge fix/gemv-strided-batched into master fix(gemv_strided_batched): 修复 UB buffer 越界并补齐 README 调用示例 Created-by: yuyuanfeng Commit-by: yuyuanfeng Merged-by: cann-robot Description: ## 描述 修复 gemv_strided_batched 算子(Ascend950 / arch35)非 FP32 半精度路径中 Cast 操作可能超出 UB buffer 分配容量的越界风险,并补齐 README 中缺失的 HSH/HSS/TST/TSS 接口完整调用示例。 ### 改动范围 **核心改动(1 个内核文件):** - blas/gemv_strided_batched/arch35/gemv_strided_batched_kernel.cpp - InitUbuf():补充 maxVecEleNum >= outTile 保护 - CastleYHalfToFloat():对 cnt 和 castCnt 增加 maxVecEleNum 上界 clamp - CastleHalfToFloat():对 matCastCnt 增加 maxMatEleNum 上界 clamp **文档改动(1 个 README 文件):** - blas/gemv_strided_batched/README.md:补齐 aclblasHSHgemvStridedBatched / aclblasHSSgemvStridedBatched / aclblasTSTgemvStridedBatched / aclblasTSSgemvStridedBatched 四个接口的完整可运行 C++ 调用示例,添加编译运行命令 ## 关联的Issue [#309](https://gitcode.com/cann/ops-blas/issues/309) ## 测试 - gemv_strided_batched_test:**118/118 PASSED**(FP32/FP16/BF16 × 5 种接口,覆盖大 shape/多核/负 stride/AIV-SIMT 边界) ## 文档更新 blas/gemv_strided_batched/README.md ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!279 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
fix(docs): 修复 aclblasScopy/aclblasRotEx README 调用示例,采用 RAII 资源管理 Co-authored-by: Twoliges<202383290096@nuist.edu.cn> # message auto-generated for no-merge-commit merge: !224 merge fix/readme-raii-scopy-rotex-234-237 into master fix(docs): 修复 aclblasScopy/aclblasRotEx README 调用示例,采用 RAII 资源管理 Created-by: Twoliges Commit-by: Twoliges Merged-by: cann-robot Description: ## 描述 修复 aclblasScopy 和 aclblasRotEx 两个算子 README 中调用示例的编译错误,并采用 RAII 模式进行资源管理,对齐 compile_and_run_example.md 中的推荐写法。 ### 主要改动 **blas/copy/README.md(aclblasScopy)** - 修正 aclrtStreamSynchronize → aclrtSynchronizeStream(API 名称错误导致编译失败) - 修正参数顺序:原示例将 dX(uint8_t*)传给了 n(int)参数 - 修正参数类型:uint8_t* → const float* / float*,与函数签名一致 - 引入 AclContext RAII 类自动管理 ACL 初始化/释放、Device 设置/重置、Stream 创建/销毁 - 引入 std::unique_ptr + 自定义删除器自动管理 Device 内存(aclrtFree)和 BLAS 句柄(aclblasDestroy) - 添加 CHECK_RET / LOG_PRINT 错误检查宏,完善异常路径的资源安全释放 **blas/rotex/README.md(aclblasRotEx)** - 修正 aclrtStreamSynchronize → aclrtSynchronizeStream(同上) - 引入 AclContext RAII 类 + std::unique_ptr 实现自动资源管理(同上模式) - 移除不需要的 <cstdint> 头文件 - 添加 CHECK_RET / LOG_PRINT 错误检查宏 - 将示例数据量从 n=1024 调整为 n=5,使输出简洁可验证 ## 关联的Issue - [#234](https://gitcode.com/cann/ops-blas/issues/234) aclblasScopy 调用示例编译失败 - [#237](https://gitcode.com/cann/ops-blas/issues/237) aclblasRotEx 调用示例编译失败 ## 测试 按照 docs/zh/develop/compile_and_run_example.md 流程完成自测: 1. 编译 ops-blas 安装包:bash build.sh --pkg --soc=ascend950 2. 安装 run 包到 /usr/local/Ascend/cann 3. 使用 README 中的示例代码 + CMakeLists.txt 编译,**零编译错误** 4. 在 Ascend 950PR 上运行,输出结果符合预期: === aclblasScopy === result[0] is: 1.000000 result[1] is: 2.000000 result[2] is: 3.000000 result[3] is: 4.000000 result[4] is: 5.000000 === aclblasRotEx === resultX[0] is: 4.400000, resultY[0] is: 4.200000 resultX[1] is: 5.800000, resultY[1] is: 4.400000 resultX[2] is: 7.200000, resultY[2] is: 4.600000 resultX[3] is: 8.600000, resultY[3] is: 4.800000 resultX[4] is: 10.000000, resultY[4] is: 5.000000 ## 文档更新 - 更新 blas/copy/README.md 中 aclblasScopy 调用示例 - 更新 blas/rotex/README.md 中 aclblasRotEx 调用示例 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!224 | 2 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
fix(trmm):aclblasStrmm 接口参数对齐 BLAS 标准 Co-authored-by: eternityk<taoyikun@huawei.com> # message auto-generated for no-merge-commit merge: !272 merge master into master fix(trmm):aclblasStrmm 接口参数对齐 BLAS 标准 Created-by: eternityk Commit-by: eternityk Merged-by: cann-robot Description: ## 描述 aclblasStrmm 接口参数设计不符合 BLAS 标准。当前接口采用 in-place 设计(结果写回 B 矩阵),缺少独立的输出矩阵 C 及其主维参数 ldc;维度参数 m/n/lda/ldb 使用 int64_t 而非 BLAS 标准的 int 类型;参数命名 transA 与标准 BLAS 的 trans 不一致。这导致接口与标准 BLAS TRMM 签名不兼容,用户迁移成本高。 ## 关联的Issue [#310](https://gitcode.com/cann/ops-blas/issues/310) ## 测试  ## 文档更新 更新了README.md文件。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!272 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Co-authored-by: Zitao Wang<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !277 merge issue_110_258 into master Fix: Handle 类型由 void* 改为前向声明结构体指针风格,对齐 cuBLAS/ROCm Created-by: wangzitao_leo Commit-by: Zitao Wang Merged-by: cann-robot Description: ## 描述 将 aclblasHandle_t 和 aclblasLtHandle_t 从 void* 改为前向声明结构体指针(typedef struct _aclblas_handle* aclblasHandle_t),对齐 cuBLAS/ROCm 主流标准,获得编译期类型校验。Descriptor 类型此前已完成结构体指针化改造,本次仅涉及 Handle。清理了所有冗余的 reinterpret_cast 和 trivial 辅助函数。 ### 改动范围 **核心改动(2 个公开头文件):** - include/cann_ops_blas.h:typedef void* aclblasHandle_t → typedef struct _aclblas_handle* aclblasHandle_t - include/cann_ops_blasLt.h:typedef void* aclblasLtHandle_t → typedef struct aclblasLtHandle* aclblasLtHandle_t **清理改动(90 个文件):** - 删除 3 个 trivial 辅助函数(ToInternalHandle、ToInternal x2) - 移除 92 处 reinterpret_cast<_aclblas_handle*>(handle) → 直接用 handle - 移除 3 处 reinterpret_cast<aclblasLtHandle*>(lightHandle) → 直接用 lightHandle - 移除 2 处反向 cast(reinterpret_cast<void*>(h) / reinterpret_cast<aclblasLtHandle_t>(h))→ 直接赋值 - 更新 1 处过时注释 ### ABI 兼容性 指针的二进制表示不变,无 ABI 破坏。 ## 关联的Issue [#110](https://gitcode.com/cann/ops-blas/issues/110) ## 测试 所有 host 侧目标文件(80+ 算子 host、aclblas_auxiliary、blasLt API)零错误编译通过;grep 确认零遗留 reinterpret_cast 和 ToInternalHandle/ToInternal;ABI 无破坏(指针二进制表示不变)。 ## 文档更新 无需文档更新,API 签名不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!277 | 1 个月前 | |
Feat: gemm batched with tensor api Co-authored-by: wang-zhiyue2<wangzhiyue2@huawei.com> # message auto-generated for no-merge-commit merge: !269 merge gemm_batched into master Feat: gemm batched with tensor api Created-by: wang-zhiyue2 Commit-by: wang-zhiyue2 Merged-by: cann-robot Description: ## 描述 添加gemm batched算子 ## 关联的Issue ## 测试 sgemm_batched共测试157个用例,1个硬编码用例,156个csv用例,157/157已全部通过。  cgemm_batched共测试166个用例,1个硬编码用例,165个csv用例,166/166已全部通过。  ## 文档更新 添加gemm batched的README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-blas!269 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |