开发者
资源
[object Object]

[object Object][object Object]undefined
[object Object]
  • 接口说明:接收MOE层EP(Expert Parallelism)域的AllToAllV通信发过来的数据,数据发送端由aclnnMoeDistributeDispatchSetup完成,本接口内完成通信状态确认和数据整理。

注意该接口必须与aclnnMoeDistributeDispatchSetup,aclnnMoeDistributeCombineSetup,aclnnMoeDistributeCombineTeardown配套使用。

[object Object]

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

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

    [object Object][object Object]
    • Atlas 350 加速卡:

      • groupEp 字符串长度范围为[1, 128),不能和groupTp相同。
      • epWorldSize 取值范围[2, 384]。
      • epRankId 取值范围[0, epWorldSize)。同一个EP通信域中各卡的epRankId不能重复。
      • moeExpertNum 取值范围(0, 512]。
      • expertShardType 当前仅支持传0,表示共享专家卡排在MoE专家卡前面。
      • sharedExpertNum 当前取值范围[0, 4]。
      • sharedExpertRankNum 取值范围[0, epWorldSize / 2]。
      • globalBs 当每个rank的Bs数一致场景下,globalBs = Bs * epWorldSize 或 globalBs = 0;当每个rank的Bs数不一致场景下,globalBs = maxBs * epWorldSize,其中maxBs表示单卡Bs最大值。
      • commType 当前仅支持0。
      • commAlg 当前版本不支持,传空指针即可。
    • [object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:

      • groupEp 字符串长度范围为[1, 128),不能和groupTp相同。
      • epWorldSize 取值范围[2, 384]。
      • epRankId 取值范围[0, epWorldSize)。同一个EP通信域中各卡的epRankId不能重复。
      • moeExpertNum 取值范围(0, 512]。
      • expertShardType 当前仅支持传0,表示共享专家卡排在MoE专家卡前面。
      • sharedExpertNum 当前取值范围[0, 4]。
      • sharedExpertRankNum 取值范围[0, epWorldSize / 2]。
      • globalBs 当每个rank的Bs数一致场景下,globalBs = Bs * epWorldSize 或 globalBs = 0;当每个rank的Bs数不一致场景下,globalBs = maxBs * epWorldSize,其中maxBs表示单卡Bs最大值。
      • commType 当前仅支持0。
      • commAlg 当前版本不支持,传空指针即可。
  • 返回值:

    返回aclnnStatus状态码,具体参见

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

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

    [object Object]
  • 返回值

    返回aclnnStatus状态码,具体参见

[object Object]
  1. 确定性计算:

    • aclnnMoeDistributeDispatchTeardown默认确定性实现。
  2. aclnnMoeDistributeDispatchTeardown接口与aclnnMoeDistributeDispatchSetup,aclnnMoeDistributeCombineSetup,aclnnMoeDistributeCombineTeardown接口必须配套使用。

  3. 调用接口过程中使用的[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]参数取值所有卡需保持一致,[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]参数取值在网络中不同层中也需保持一致,且和[object Object][object Object][object Object]对应参数也保持一致。

  4. [object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:该场景下单卡包含双DIE(简称为“晶粒”或“裸片”),因此参数说明里的“本卡”均表示单DIE。

  5. 参数说明里shape格式说明:

    • A:表示本卡可能接收的最大token数量,取值范围如下:

      • 对于共享专家,
      • 对于MoE专家,当globalBs为0时,要满足A >= [object Object] * [object Object] * min([object Object], [object Object]);当[object Object]非0时,要满足A >= [object Object] * min([object Object], [object Object])。
      • 对于共享专家,当[object Object]为0时,要满足A = [object Object] * [object Object] * [object Object] / [object Object];当globalBs非0时,要满足A = [object Object] * [object Object] / [object Object]
    • H:表示hidden size隐藏层大小,取值范围[1024, 8192]。

    • BS:表示batch sequence size,即本卡最终输出的token数量,取值范围为0 < [object Object] ≤ 512。

    • K:表示选取topK个专家,取值范围为0 < [object Object] ≤ 16同时满足0 < [object Object][object Object]

    • localExpertNum:表示本卡专家数量。

      • 对于共享专家卡,localExpertNum = 1
      • 对于MoE专家卡,localExpertNum = [object Object] / ([object Object] - [object Object]),[object Object] > 1时,不支持TP域通信。
    • tokenMsgSize:表示每个token在数据通信时的维度信息。

      • 非量化场景下,tokenMsgSize = Align256(H)。
      • 量化场景下,tokenMsgSize = Align512(Align32(H) + 4 ),其中AlignN(x) = ((x + N - 1) / N) * N。
    • 当前版本暂不支持共享专家。

  6. HCCL_BUFFSIZE

    • Atlas 350 加速卡: 调用本接口前需检查[object Object]环境变量取值是否合理,该环境变量表示单个通信域占用内存大小,单位MB,不配置时默认为200MB。要求 >= 2且满足>= 2 * ([object Object] * [object Object] * [object Object] * Align512(Align32(2 * H) + 44) + ([object Object] + [object Object]) * [object Object] * Align512(2 * [object Object])),[object Object]代表使用MoE专家卡的本卡专家数,其中Align512(x) = ((x + 512 - 1) / 512) * 512,Align32(x) = ((x + 32 - 1) / 32) * 32。

    • [object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]: 调用本接口前需检查[object Object]环境变量取值是否合理,该环境变量表示单个通信域占用内存大小,单位MB,不配置时默认为200MB。要求 >= 2且满足>= 2 * ([object Object] * [object Object] * [object Object] * Align512(Align32(2 * H) + 44) + ([object Object] + [object Object]) * [object Object] * Align512(2 * [object Object])),[object Object]代表使用MoE专家卡的本卡专家数,其中Align512(x) = ((x + 512 - 1) / 512) * 512,Align32(x) = ((x + 32 - 1) / 32) * 32。

  7. 通信域使用约束:

    • 一个模型中的aclnnMoeDistributeDispatchSetup接口,aclnnMoeDistributeDispatchTeardown接口,aclnnMoeDistributeCombineSetup接口,aclnnMoeDistributeCombineTeardown接口仅支持相同EP通信域,且该通信域中不允许有其他算子。