开发者
资源
[object Object]

[object Object][object Object]undefined
[object Object]
  • 接口功能:实现分组矩阵乘计算,每组矩阵乘的维度大小可以不同。基本功能为矩阵乘,如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每组相同。
    • 接口对比新增功能:
      • 支持groupList中数值为分组轴上每组大小
  • 计算公式:

    yRefi=xi×weighti+yiyRef_i=x_i\times weight_i + y_i
[object Object]

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

[object Object]
[object Object]
[object Object]
  • 参数说明:

    [object Object]
  • 返回值:

    返回aclnnStatus状态码,具体参见

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

    [object Object]
[object Object]
  • 参数说明:

    [object Object]
  • 返回值:

    返回aclnnStatus状态码,具体参见

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

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

[object Object]