已关闭
[Bug-Report|缺陷反馈]: aclblasCgemvBatched 接口签名不符合 BLAS 标准 #65
xutianze创建于 5月30日关闭于 7月30日
demoauguste
6月1日 评论:
6月1日 评论:
您好,问题已收到,正在处理中。


7月3日 将 QK_25415 设为负责人
7月29日 关联了pull request:fix(complex): 统一复数 BLAS 算子接口对齐标准(issues #61-#75)
7月30日 关闭了 issue
7月30日 添加了label:resolved
问题描述
aclblasCgemvBatched的 A/x/y 参数设计与 BLAS 标准存在根本性差异。当前签名:
aclblasStatus_t aclblasCgemvBatched( aclblasHandle_t handle, aclblasOperation trans, const int64_t m, const int64_t n, const std::complex<float>& alpha, uint8_t* A, const int64_t lda, uint8_t* x, const int64_t incx, const std::complex<float>& beta, uint8_t* y, const int64_t incy, const int64_t batchCount);问题:
std::complex<float>&,应为指针传递const aclblasComplex*aclblasComplex*,当前为uint8_t*建议改成:
aclblasStatus_t aclblasCgemvBatched( aclblasHandle_t handle, aclblasOperation_t trans, int m, int n, const aclblasComplex* alpha, const aclblasComplex* const Aarray[], int lda, const aclblasComplex* const xarray[], int incx, const aclblasComplex* beta, aclblasComplex* const yarray[], int incy, int batchCount);如需 strided batched 语义,建议提供独立接口
aclblasCgemvStridedBatched。参考: https://docs.nvidia.com/cuda/cublas/index.html#cublas-lt-t-gt-gemvbatched
环境信息
重现步骤
include/cann_ops_blas.h中aclblasCgemvBatched的声明cgemvBatched的签名预期结果
接口签名应符合 BLAS 标准,使用指针数组方式传递 A/x/y。
日志 / 截图
无
备注
当前的扁平指针设计实际等价于 StridedBatched 语义,建议重命名为
aclblasCgemvStridedBatched。