Skip to main content

aclblasCreateHandleForGemmEx

aclblasS8gemv

函数功能

执行矩阵-向量的乘法,y = αAx + βy,输入数据的数据类型为int8_t,输出数据的数据类型为int32_t,异步接口:

函数原型

aclError aclblasS8gemv(****aclTransType transA,

int m,

int n,

const int32_t *alpha,

const int8_t *a,

int lda,

const int8_t *x,

int incx,

const int32_t *beta,

int32_t *y,

int incy,

aclComputeType type,

aclrtStream stream)

参数说明

参数名输入/输出说明
transA输入A矩阵是否转置的标记。
m输入矩阵A的行数,存储矩阵乘数据时,行优先。
n输入矩阵A的列数。
alpha输入用于执行乘操作的标量α的指针。
a输入矩阵A的指针。
lda输入A矩阵的主维,此时选择转置,按行优先,则lda为A的列数。预留参数,当前只能设置为-1。
x输入向量x的指针。
incx输入x连续元素之间的步长。 预留参数,当前只能设置为-1。
beta输入用于执行乘操作的标量β的指针。
y输入&输出向量y的指针。
incy输入y连续元素之间的步长。 预留参数,当前只能设置为-1。
type输入计算精度,默认高精度。
stream输入执行算子所在的Stream。

返回值说明

返回0表示成功,返回其它值表示失败。

参考资源

接口调用流程,参见单算子调用流程

父主题: CBLAS接口

aclblasCreateHandleForS8gemv

函数功能

创建矩阵-向量乘的handle,输入数据的数据类型为int8_t,输出数据的数据类型为int32_t,同步接口。

创建handle成功后,需调用aclopExecWithHandle接口执行算子。

函数原型

aclError aclblasCreateHandleForS8gemv(****aclTransType transA,

int m,

int n,

aclComputeType type,

aclopHandle **handle)

参数说明

参数名输入/输出说明
transA输入A矩阵是否转置的标记。
m输入矩阵A的行数,存储矩阵乘数据时,行优先。
n输入矩阵A的列数。
type输入计算精度,默认高精度。
handle输出“算子执行handle的指针”的指针。

返回值说明

返回0表示成功,返回其它值表示失败。

父主题: CBLAS接口

aclblasGemmEx

函数功能

执行矩阵-矩阵的乘法,C = αAB + βC,输入数据、输出数据的数据类型通过入参设置,异步接口:

约束说明

A、B、C的数据类型支持仅支持以下组合, α和β的数据类型与C一致。

A的数据类型B的数据类型C的数据类型
aclFloat16aclFloat16aclFloat16
aclFloat16aclFloat16float(float32)
int8_tint8_tfloat(float32)
int8_tint8_tint32_t

函数原型

aclError aclblasGemmEx(****aclTransType transA,

aclTransType transB,

aclTransType transC,

int m,

int n,

int k,

const void *alpha,

const void *matrixA,

int lda,

aclDataType dataTypeA,

const void *matrixB,

int ldb,

aclDataType dataTypeB,

const void *beta,

void *matrixC,

int ldc,

aclDataType dataTypeC,

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。
dataTypeA输入矩阵A的数据类型。
matrixB输入矩阵B的指针。
ldb输入B矩阵的主维,此时选择转置,按行优先,则ldb为B的列数。预留参数,当前只能设置为-1。
dataTypeB输入矩阵B的数据类型。
beta输入用于执行乘操作的标量β的指针。
matrixC输入&输出矩阵C的指针。
ldc输入C矩阵的主维,预留参数,当前只能设置为-1。
dataTypeC输入矩阵C的数据类型。
type输入计算精度,默认高精度。
stream输入执行算子所在的Stream。

返回值说明

返回0表示成功,返回其它值表示失败。

参考资源

父主题: CBLAS接口

aclblasCreateHandleForGemmEx

函数功能

创建矩阵-矩阵乘的handle,输入数据、输出数据的数据类型通过入参设置,同步接口。

创建handle成功后,需调用aclopExecWithHandle接口执行算子。

约束说明

A、B、C的数据类型支持仅支持以下组合:

A的数据类型B的数据类型C的数据类型
aclFloat16aclFloat16aclFloat16
aclFloat16aclFloat16float(float32)
int8_tint8_tfloat(float32)
int8_tint8_tint32_t

函数原型

aclError aclblasCreateHandleForGemmEx(****aclTransType transA,

aclTransType transB,

aclTransType transC,

int m,

int n,

int k,

aclDataType dataTypeA,

aclDataType dataTypeB,

aclDataType dataTypeC,

aclComputeType type,

aclopHandle **handle)

参数说明

参数名输入/输出说明
transA输入A矩阵是否转置的标记。
transB输入B矩阵是否转置的标记。
transC输入C矩阵的标记,当前仅支持ACL_TRANS_N。
m输入矩阵A的行数与矩阵C的行数。
n输入矩阵B的列数与矩阵C的列数。
k输入矩阵A的列数与矩阵B的行数。
dataTypeA输入矩阵A的数据类型。
dataTypeB输入矩阵B的数据类型。
dataTypeC输入矩阵C的数据类型。
type输入计算精度,默认高精度。
handle输出“算子执行handle的指针”的指针。

返回值说明

返回0表示成功,返回其它值表示失败。

父主题: CBLAS接口

aclblasHgemm

函数功能

执行矩阵-矩阵的乘法,C = αAB + βC,输入数据和输出数据的数据类型为**aclFloat16**,异步接口:

函数原型

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表示成功,返回其它值表示失败。

参考资源

接口调用流程,参见单算子调用流程

父主题: CBLAS接口

aclblasCreateHandleForHgemm

函数功能

创建矩阵-矩阵乘的handle,输入数据和输出数据的数据类型为**aclFloat16**,同步接口。

创建handle成功后,需调用aclopExecWithHandle接口执行算子。

函数原型

aclError aclblasCreateHandleForHgemm(****aclTransType transA,

aclTransType transB,

aclTransType transC,

int m,

int n,

int k,

aclComputeType type,

aclopHandle **handle)

参数说明

参数名输入/输出说明
transA输入A矩阵是否转置的标记。
transB输入B矩阵是否转置的标记。
transC输入C矩阵的标记,当前仅支持ACL_TRANS_N。
m输入矩阵A的行数与矩阵C的行数。
n输入矩阵B的列数与矩阵C的列数。
k输入矩阵A的列数与矩阵B的行数。
type输入计算精度,默认高精度。
handle输出“算子执行handle的指针”的指针。

返回值说明

返回0表示成功,返回其它值表示失败。

父主题: CBLAS接口

aclblasS8gemm

函数功能

执行矩阵-矩阵的乘法,C = αAB + βC,输入数据的数据类型为int8_t,输出数据的数据类型为int32_t,异步接口:

函数原型

aclError aclblasS8gemm(****aclTransType transA,

aclTransType transB,

aclTransType transC,

int m,

int n,

int k,

const int32_t *alpha,

const int8_t *matrixA,

int lda,

const int8_t *matrixB,

int ldb,

const int32_t *beta,

int32_t *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表示成功,返回其它值表示失败。

参考资源

接口调用流程,参见单算子调用流程

父主题: CBLAS接口

在线提单