昇腾社区首页
中文
注册
开发者
下载

aclnnGroupedMatmulAdd

产品支持情况

[object Object]undefined

功能说明

  • 接口功能:实现分组矩阵乘计算,每组矩阵乘的维度大小可以不同。基本功能为矩阵乘,如yi[mi,ni]=xi[mi,ki]×weighti[ki,ni]+yi[mi,ni],i=1...gy_i[m_i,n_i]=x_i[m_i,k_i] \times weight_i[k_i,n_i]+y_i[m_i,n_i], i=1...g,其中g为分组个数,mi/ki/nim_i/k_i/n_i为对应shape。输入输出数据类型均为aclTensor,K轴分组。

    • k轴分组:kik_i各不相同,但mi/nim_i/n_i每组相同。
  • 计算公式:

    yRefi=xi×weighti+yiyRef_i=x_i\times weight_i + y_i

函数原型

每个算子分为,必须先调用“aclnnGroupedMatmulAddGetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“aclnnGroupedMatmulAdd”接口执行计算。

[object Object]
[object Object]

aclnnGroupedMatmulAddGetWorkspaceSize

  • 参数说明:

    [object Object]
  • 返回值:

    返回aclnnStatus状态码,具体参见

    第一段接口完成入参校验,出现以下场景时报错:

    [object Object]

aclnnGroupedMatmulAdd

  • 参数说明:

    [object Object]
  • 返回值:

    aclnnStatus:返回状态码,具体参见

约束说明

  • aclnnGroupedMatmulAdd默认确定性实现。
  • x和weight中每一组tensor的每一维大小在32字节对齐后都应小于INT32的最大值2147483647。
  • 支持的输入类型为:
    • x为FLOAT16、weight为FLOAT16、y为FLOAT32。
    • x为BFLOAT16、weight为BFLOAT16、y为FLOAT32。

调用示例

调用示例代码如下,仅供参考,具体编译和执行过程请参考

[object Object]