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

对Tile执行原位缩放累加(AXPY,ax+ya \cdot x + y):将 [object Object] 按标量 [object Object] 缩放后累加到 [object Object] 上。

dsti,jscalarsrc0i,j+dsti,j\mathrm{dst}_{i,j} \leftarrow \mathrm{scalar} \cdot \mathrm{src0}_{i,j} + \mathrm{dst}_{i,j}

[object Object] 既是累加输入(yy)也是输出,调用前必须已初始化;[object Object]xx)只读;[object Object]aa)为标量。

[object Object]

对于有效区域中的每个元素 [object Object]

dsti,jnew=scalarsrc0i,j+dsti,jold\mathrm{dst}_{i,j}^{\text{new}} = \mathrm{scalar} \cdot \mathrm{src0}_{i,j} + \mathrm{dst}_{i,j}^{\text{old}}

  • [object Object]:读-修改-写(RMW)。读入旧值作为累加基 yy,写回 scalarx+y\mathrm{scalar} \cdot x + y
  • [object Object]:只读,逐元素参与运算(xx)。
  • [object Object]:标量缩放系数(aa),类型为 [object Object]
[object Object]
[object Object]

声明于 [object Object]

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

对于有效形状 M×NM \times N

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

TAXPY在向量流水线([object Object])上执行,使用 [object Object]ax+ya \cdot x + y)向量内建:

  1. 同类型([object Object][object Object] 同dtype):逐repeat加载 [object Object][object Object],执行 [object Object] 后写回 [object Object];尾部不足一个repeat的列由谓词掩码屏蔽。
  2. 差异类型([object Object]=[object Object][object Object]=[object Object][object Object] 的half数据拓宽为FP32后参与累加(Ascend 950PR/Ascend 950DT上经 [object Object] 解包并 [object Object] 转换;Atlas A2/A3 训练系列产品/Atlas A2/A3 推理系列产品由 [object Object] 原生按4-block src / 8-block dst处理)。
  3. Atlas A2/A3 训练系列产品/Atlas A2/A3 推理系列产品上按repeat-stride是否溢出、以及列数与行数的关系,在count模式与norm模式间选择,以覆盖任意有效形状。
[object Object][object Object]undefined
[object Object]
[object Object]

完整ST示例见 [object Object](A5)、[object Object](A2/A3)、[object Object](Kirin9030)及 [object Object](CPU参考实现)。