产品 |
是否支持 |
---|---|
|
√ |
|
√ |
|
√ |
|
√ |
|
√ |
执行矩阵-矩阵的乘法,C = αAB + βC,输入数据和输出数据的数据类型为aclFloat16。
本接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,需调用同步等待接口(例如,aclrtSynchronizeStream)确保任务已执行完成,否则可能会导致训练或推理等业务异常、Device断链掉卡等未知情况。
aclError aclblasHgemm(aclTransType transA, aclTransType transB, aclTransType transC, int m, int n, int k, const aclFloat16 *alpha, const aclFloat16 *matrixA, int lda, const aclFloat16 *matrixB, int ldb, const aclFloat16 *beta, aclFloat16 *matrixC, int ldc, aclComputeType type, aclrtStream stream)
参数名 |
输入/输出 |
说明 |
---|---|---|
transA |
输入 |
A矩阵是否转置的标记。 |
transB |
输入 |
B矩阵是否转置的标记。 |
transC |
输入 |
C矩阵的标记,当前仅支持ACL_TRANS_N。 |
m |
输入 |
矩阵A的行数与矩阵C的行数。 |
n |
输入 |
矩阵B的列数与矩阵C的列数。 |
k |
输入 |
矩阵A的列数与矩阵B的行数。 |
alpha |
输入 |
用于执行乘操作的标量α的指针。 |
matrixA |
输入 |
矩阵A的指针。 |
lda |
输入 |
A矩阵的主维,此时选择转置,按行优先,则lda为A的列数。预留参数,当前只能设置为-1。 |
matrixB |
输入 |
矩阵B的指针。 |
ldb |
输入 |
B矩阵的主维,此时选择转置,按行优先,则ldb为B的列数。预留参数,当前只能设置为-1。 |
beta |
输入 |
用于执行乘操作的标量β的指针。 |
matrixC |
输入&输出 |
矩阵C的指针。 |
ldc |
输入 |
C矩阵的主维,预留参数,当前只能设置为-1。 |
type |
输入 |
计算精度,默认高精度。 |
stream |
输入 |
执行算子所在的Stream。 |
返回0表示成功,返回其他值表示失败,请参见aclError。
接口调用流程,参见单算子调用流程。