开发者
下载
[object Object][object Object]

[object Object]

通用矩阵-向量乘法,生成累加器/输出Tile。

[object Object]

设:

  • [object Object]
  • [object Object]
  • [object Object]
[object Object]

对于 [object Object](有效矩阵乘法域中的输出元素):

C0,j=k=0K1A0,kBk,j\mathrm{C}_{0,j} = \sum_{k=0}^{K-1} \mathrm{A}_{0,k} \cdot \mathrm{B}_{k,j}

[object Object]

对于 [object Object](累加到现有tile):

C0,jC0,j+k=0K1A0,kBk,j\mathrm{C}_{0,j} \gets \mathrm{C}_{0,j} + \sum_{k=0}^{K-1} \mathrm{A}_{0,k} \cdot \mathrm{B}_{k,j}

[object Object]

对于 [object Object](将偏置项添加到矩阵乘积):

C0,j=Bias0,j+k=0K1A0,kBk,j\mathrm{C}_{0,j} = \mathrm{Bias}_{0,j} + \sum_{k=0}^{K-1} \mathrm{A}_{0,k} \cdot \mathrm{B}_{k,j}

注意: 精确的累加器行为和数据类型提升由目标/实现定义。

[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]
  • Tile位置约束:
    • [object Object]
    • [object Object]
    • [object Object]
  • 运行时有效尺寸约束:
    • [object Object] 必须为 [object Object]
    • [object Object][object Object](取自 [object Object][object Object])必须位于 [object Object]
[object Object]
  • 实现检查 (Atlas A2/A3 训练系列产品/Atlas A2/A3 推理系列产品):
    • 支持的 [object Object] 三元组:
      • [object Object]
      • [object Object]
      • [object Object]
      • [object Object]
  • 实现检查 (Ascend 950PR/Ascend 950DT):
    • 累加器类型必须是 [object Object][object Object]
    • 如果为 [object Object][object Object][object Object]
    • 如果为 [object Object]:支持 [object Object][object Object][object Object]、选定的fp8组合以及 [object Object](目标定义)。
    • 会强制执行以下分形/布局约束:
      • Left:[object Object][object Object][object Object]
      • Right:[object Object][object Object][object Object]
      • Acc:[object Object][object Object][object Object]
[object Object]
  • 偏置tile的数据类型必须与 [object Object] 完全一致。
  • 偏置tile必须配置为单行。
  • 偏置tile的位置必须为 [object Object]
  • Ascend 950PR/Ascend 950DT附加说明
    • 除上述GEMV约定外,底层Ascend 950PR/Ascend 950DT matmul实现不会再单独补充一组显式的 [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]
[object Object]