ops-blas 库当前缺少面向 arch35(Ascend 950PR / 950DT)平台的 BLAS Level-1 SROT 接口实现。SROT(Givens 平面旋转)对两个等长 FP32 向量 x、y 按标量 c=cosθ、s=sinθ 原地施加平面旋转:
ops-blas BLAS Level-1 算子在 arch35 平台的补全需求,由 PR #233(作者 @chensi79)提出并实现。
aclblasStatus_t aclblasSrot(aclblasHandle_t handle, int n, float* x, int incx, float* y, int incy, const float* c, const float* s)
aclrtPointerGetAttributes
关联 PR:https://gitcode.com/cann/ops-blas/pull/233
Background(背景信息)
ops-blas 库当前缺少面向 arch35(Ascend 950PR / 950DT)平台的 BLAS Level-1 SROT 接口实现。SROT(Givens 平面旋转)对两个等长 FP32 向量 x、y 按标量 c=cosθ、s=sinθ 原地施加平面旋转:
该运算是 QR 分解、线性方程组求解、特征值计算等数值线性代数算法的基础原语,需提供与 netlib/OpenBLAS 语义一致、满足 FP32 精度门限的接口供上层 CANN 业务调用。
Origin(信息来源)
ops-blas BLAS Level-1 算子在 arch35 平台的补全需求,由 PR #233(作者 @chensi79)提出并实现。
Benefit / Necessity(价值/作用)
Design(设计方案)
aclblasStatus_t aclblasSrot(aclblasHandle_t handle, int n, float* x, int incx, float* y, int incy, const float* c, const float* s);x/y 为 FP32、in-place 修改,按 incx/incy 步长访问aclrtPointerGetAttributes对 c、s 各自独立判定 Host/Device 内存;n≤0 短路返回 SUCCESS;(n−1)·stride 超 int32 范围返回 INVALID_VALUE关联 PR:https://gitcode.com/cann/ops-blas/pull/233