开发者
资源
[object Object]

[object Object][object Object]undefined
[object Object]

GroupedMatmul和MoeFinalizeRouting的融合算子,GroupedMatmul计算后的输出按照索引做combine动作,支持w为AI处理器亲和数据排布格式(NZ)。

本接口相较于aclnnGroupedMatmulFinalizeRoutingWeightNz,此接口新增:

  • 新增入参offsetOptional、antiquantScaleOptional、antiquantOffsetOptional、tuningConfigOptional,其中前三个参数当前为预留参数,暂不生效,传入空指针即可。
  • [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:新增对INT4类型weight矩阵的支持,支持tuningConfigOptional调优参数,数组中的第一个值表示各个专家处理的token数的预期值,算子tiling时会按照该预期值合理进行tiling切分,性能更优。请根据实际情况选择合适的接口。
  • Atlas 350 加速卡:新增Pertoken-perchannel和静态pertensor-perchannel量化场景,相关信息参考
[object Object]

每个算子分为,必须先调用“aclnnGroupedMatmulFinalizeRoutingWeightNzV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGroupedMatmulFinalizeRoutingWeightNzV2”接口执行计算。

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

    [object Object]
  • [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:

    • x1仅支持INT8。维度m的取值范围为[1,16*1024*8],k支持2048;
    • x2支持INT4以及INT32。当输入为INT32时维度为(e, k, n / 8),输入转为INT4时维度为(e, k, n),e取值范围[1,256],k支持2048,n支持7168。
    • offsetOptional的shape支持三维,维度为(e, 1, n),e、n和weight的e、n一致。
    • scaleOptional支持INT64、FLOAT32、BF16。
    • rowIndex支持INT64、INT32。
    • x1、x2、groupListOptional是必选参数,scaleOptional、pertokenScaleOptional、logitOptional、rowIndexOptional、biasOptional,sharedInputOptional是可选参数。
  • Atlas 350 加速卡:

    • x1支持INT8、FLOAT8_E4M3FN、HIFLOAT8数据类型。
    • x2支持INT8、FLOAT8_E4M3FN、HIFLOAT8数据类型。维度为(e,k,n),e取值范围[1,1024]。
    • scaleOptional支持FLOAT32、BF16。
    • rowIndex在x1以及x2数据类型为INT8时,数据类型支持INT64、INT32;在x1以及x2数据类型为FLOAT8_E4M3FN、HIFLOAT8时,数据类型支持INT64。
    • x1、x2、scaleOptional、groupListOptional、logitOptional、rowIndexOptional是必选参数,pertokenScaleOptional、sharedInputOptional、biasOptional是可选参数。目前暂不支持offsetOptional参数。
  • 返回值

    返回aclnnStatus状态码,具体参见

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

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

    [object Object]
  • 返回值

    返回aclnnStatus状态码,具体参见

[object Object]
  • 确定性计算:

    • [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:aclnnGroupedMatmulFinalizeRoutingWeightNzV2默认非确定性实现,支持通过aclrtCtxSetSysParamOpt开启确定性。
    • Atlas 350 加速卡 :aclnnGroupedMatmulFinalizeRoutingWeightNzV2默认非确定性实现,不支持通过aclrtCtxSetSysParamOpt开启确定性。
  • [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]:输入和输出支持以下数据类型组合

    [object Object]undefined
  • Atlas 350 加速卡:输入和输出支持以下数据类型组合

    [object Object]undefined
[object Object]

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

  • [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:

    [object Object]
  • Atlas 350 加速卡:

    [object Object]