已关闭
[Bug-Report|缺陷反馈]: aclblasCaxpy 接口参数不符合 BLAS 标准 #61
xutianze创建于  5月30日关闭于  21 天前
xutianze
xutianze成员
5月30日 创建

问题描述

aclblasCaxpy 的 alpha 传值方式和向量类型不符合 BLAS 标准。

当前签名:

aclblasStatus_t aclblasCaxpy(
    aclblasHandle_t handle, const int64_t n, const std::complex<float> alpha,
    uint8_t* x, int64_t incx, uint8_t* y, int64_t incy);

问题:

  1. alpha 按值传递,BLAS 标准为指针传递 const aclblasComplex*
  2. alpha 使用 C++ 类型 std::complex<float>,在 extern "C" 块中违反 C 兼容性原则
  3. x 类型应为 const aclblasComplex*,当前为 uint8_t*
  4. y 类型应为 aclblasComplex*,当前为 uint8_t*
  5. x 缺少 const 修饰

建议改成:

aclblasStatus_t aclblasCaxpy(
    aclblasHandle_t handle, int n,
    const aclblasComplex* alpha,
    const aclblasComplex* x, int incx,
    aclblasComplex* y, int incy);

参考: http://www.netlib.org/blas/caxpy.f

环境信息

  • 芯片型号:N/A(接口设计问题)
  • CANN 版本:当前版本
  • 操作系统:N/A

重现步骤

  1. 查看 include/cann_ops_blas.haclblasCaxpy 的声明
  2. 对比 BLAS 标准中 caxpy 的签名

预期结果

接口签名应符合 BLAS 标准,保持 C 兼容性。

日志 / 截图

备注

extern "C" 块中使用 std::complex<float> 违反 C 兼容性原则。

likedislike
demoauguste成员
6月1日 评论:

您好,问题已收到,正在处理中。

likedislike
zhanghuazhanghua成员
7月3日 修改标题为 “test assign”,原标题为“[Bug-Report|缺陷反馈]: aclblasCaxpy 接口参数不符合 BLAS 标准”
zhanghuazhanghua成员
7月3日 修改标题为 “[Bug-Report|缺陷反馈]: aclblasCaxpy 接口参数不符合 BLAS 标准”,原标题为“test assign”
zhanghuazhanghua成员
7月3日 添加了label:bug-report
zhanghuazhanghua成员
7月3日 删除了label:bug-report
CANN-robot
CANN-robot成员
7月3日 评论:

Notice

This issue can not be assigned to zhuzhiming. Please try to assign to the repository members.

likedislike
zhanghua
zhanghua成员
7月3日 评论:
likedislike
zhanghuazhanghua成员
7月3日 将 QK_25415 设为负责人
2301_821464832301_82146483
22 天前 关联了pull request:fix(complex): 统一复数 BLAS 算子接口对齐标准(issues #61-#75)
CANN-robotCANN-robot成员
21 天前 关闭了 issue
CANN-robotCANN-robot成员
21 天前 添加了label:resolved