aclblasHgemm
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的数据类型 |
|---|---|---|
| aclFloat16 | aclFloat16 | aclFloat16 |
| aclFloat16 | aclFloat16 | float(float32) |
| int8_t | int8_t | float(float32) |
| int8_t | int8_t | int32_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的数据类型 |
|---|---|---|
| aclFloat16 | aclFloat16 | aclFloat16 |
| aclFloat16 | aclFloat16 | float(float32) |
| int8_t | int8_t | float(float32) |
| int8_t | int8_t | int32_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接口
aclblasCreateHandleForS8gemm
函数功能
创建矩阵-矩阵乘的handle,输入数据的数据类型为int8_t,输出数据的数据类型为int32_t,同步接口。
创建handle成功后,需调用aclopExecWithHandle接口执行算子。
函数原型
aclError aclblasCreateHandleForS8gemm(****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接口
在线提单