CgemvBatched
产品支持情况
硬件型号 |
支持情况 |
---|---|
|
不支持 |
|
不支持 |
|
不支持 |
|
支持 |
|
支持 |
功能描述
接口功能
- asdBlasMakeCgemvBatchedPlan:初始化该句柄对应的算子配置。
- asdBlasCgemvBatched:用于计算批量复数矩阵与向量的乘积。
计算公式
asdBlasCgemvBatched的计算公式
函数原型
- AspbStatus asdBlasMakeCgemvBatchedPlan(asdBlasHandle handle, asdBlasOperation_t trans, const int64_t m);
- AspbStatus asdBlasCgemvBatched(asdBlasHandle handle, asdBlasOperation_t trans, const int64_t m, const int64_t n,const std::complex<float> &alpha, aclTensor *A, const int64_t lda,aclTensor *x, const int64_t incx, const std::complex<float> &beta,aclTensor *y, const int64_t incy, const int64_t batchCount);
参数说明
- asdBlasMakeCgemvBatchedPlan
参数名称
Input/Output
类型
描述
handle
Input
asdBlasHandle
算子的句柄。
trans
Input
asdBlasOperation_t
指定矩阵A是否需要转置。
ASDBLAS_OP_N // 非转置 ASDBLAS_OP_C // 共轭转置
m
Input
const int64_t
单批次矩阵A的行数。
- asdBlasCgemvBatched
参数名称
Input/Output
类型
描述
handle
Input
asdBlasHandle
算子的句柄。
trans
Input
asdBlasOperation_t
指定矩阵A是否需要转置。
ASDBLAS_OP_N // 非转置 ASDBLAS_OP_C // 共轭转置
m
Input
const int64_t
单批次矩阵A的行数。
n
Input
const int64_t
单批次矩阵A的列数。
alpha
Input
const std::complex<float> &
公式中的alpha,复数标量,用于乘以矩阵和向量乘法的结果,当前版本alpha的取值只能为1+0i。
A
Input
aclTensor *
公式中的矩阵A,行主序,Device侧的Tensor,数据类型仅支持COMPLEX64,数据格式支持ND,shape为[batchCount ,m, n]。
lda
Input
const int64_t
A左右相邻元素间的内存地址偏移量(当前约束为m)。
x
Input
aclTensor *
公式中的向量x,Device侧的Tensor,数据类型仅支持COMPLEX64,数据格式支持ND。
- 当“trans”取值为非转置:shape为[batchCount, n]
- 当“trans”取值为共轭转置:shape为[batchCount, m]
incx
Input
const int64_t
向量x的步长(当前约束为1)。
beta
Input
const std::complex<float> &
公式中的beta,复数标量,用于乘以向量y ,当前版本beta的取值只能为0+0i。
y
Input/Output
aclTensor *
公式中的向量y,Device侧的Tensor,数据类型仅支持COMPLEX64,数据格式支持ND。
- 当“trans”取值为非转置:shape为[batchCount, m]
- 当“trans”取值为共轭转置:shape为[batchCount, n]
incy
Input
const int64_t
向量y的步长(当前约束为1)。
batchCount
Input
const int64_t
批次数量。取值范围为{12 - 314496}。
约束说明
- asdBlasMakeCgemvBatchedPlan:无。
- asdBlasCgemvBatched
- 支持的CANN版本为CANN8.0及以上。
- 输入支持的数据类型为COMPLEX64。
- 输出支持的数据类型为COMPLEX64。
调用示例
算子的调用示例参见CgemvBatched。