CANN/GE ACL半精度矩阵乘法
2026/9/10 2:15:16 网站建设 项目流程

aclblasHgemm

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

产品支持情况

  • Ascend 950PR/Ascend 950DT:不支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
  • Atlas 200I/500 A2 推理产品:支持
  • Atlas 推理系列产品:支持
  • Atlas 训练系列产品:支持
  • IPV350:不支持

功能说明

执行矩阵-矩阵的乘法,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矩阵是否转置的标记。类型定义请参见aclTransType。
transB输入B矩阵是否转置的标记。类型定义请参见aclTransType。
transC输入C矩阵的标记。类型定义请参见aclTransType。
当前仅支持ACL_TRANS_N。
m输入矩阵A的行数与矩阵C的行数。
n输入矩阵B的列数与矩阵C的列数。
k输入矩阵A的列数与矩阵B的行数。
alpha输入用于执行乘操作的标量α的指针。类型定义请参见aclFloat16。
matrixA输入矩阵A的指针。类型定义请参见aclFloat16。
lda输入A矩阵的主维,此时选择转置,按行优先,则lda为A的列数。预留参数,当前只能设置为-1。
matrixB输入矩阵B的指针。类型定义请参见aclFloat16。
ldb输入B矩阵的主维,此时选择转置,按行优先,则ldb为B的列数。
预留参数,当前只能设置为-1。
beta输入用于执行乘操作的标量β的指针。类型定义请参见aclFloat16。
matrixC输入&输出矩阵C的指针。类型定义请参见aclFloat16。
ldc输入C矩阵的主维,预留参数,当前只能设置为-1。
type输入计算精度,默认高精度。类型定义请参见aclComputeType。
stream输入执行算子所在的Stream。类型定义请参见aclrtStream。

返回值说明

返回0表示成功,返回其他值表示失败,请参见aclError。

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询