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

[object Object]

获取每列最大值对应行索引。同时提供值+索引模式,可同时返回每列的最大值及其行索引。

[object Object][object Object]

[object Object][object Object]。对 [object Object]

dstIdx0,j=argmax0i<R  srci,j\mathrm{dstIdx}_{0,j} = \underset{0 \le i < R}{\operatorname{argmax}} \; \mathrm{src}_{i,j}

[object Object]

dstVal0,j=max0i<Rsrci,j\mathrm{dstVal}_{0,j} = \max_{0 \le i < R} \mathrm{src}_{i,j}

dstIdx0,j=argmax0i<R  srci,j\mathrm{dstIdx}_{0,j} = \underset{0 \le i < R}{\operatorname{argmax}} \; \mathrm{src}_{i,j}

[object Object][object Object]

同步形式:

[object Object]

IR Level 1(SSA):

[object Object]

IR Level 2(DPS):

[object Object]
[object Object]

同步形式:

[object Object]

IR Level 1(SSA):

[object Object]

IR Level 2(DPS):

[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] 可使用ND或DN的非分形布局([object Object])。[object Object] 可为 [object Object](与 [object Object] 正交;示例中省略 [object Object] 时默认为 [object Object])。
  • [object Object] 必须使用标准ND布局:行主且非分形([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]
  • 支持的源元素宽度为8位、16位或32位,覆盖 [object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]
  • 接口接收 [object Object],但实现实际并不使用它。
[object Object]

除通用约束外:

  • [object Object] 必须为 [object Object],使用标准ND布局(行主、非分形)。
  • [object Object] 元素类型必须与源元素类型 [object Object] 一致。
  • 不支持 8位源类型。
  • 运行时检查:
    • [object Object]
    • [object Object]
    • [object Object]
    • [object Object]
    • [object Object]
[object Object]
  • 支持的源元素类型:[object Object][object Object][object Object][object Object]
  • 当源元素大小为2字节([object Object][object Object])时:[object Object] 元素类型必须为 [object Object][object Object]
  • 当源元素大小为4字节([object Object][object Object])时:[object Object] 元素类型必须为 [object Object][object Object]
  • [object Object] 的元素类型必须与 [object Object] 一致。
  • [object Object] 用作临时存储;对half输入类型,内部执行s16->f16->s32转换路径。
[object Object]
  • 源元素大小必须为16位或32位([object Object])。
  • 当源元素大小为2字节([object Object][object Object][object Object])时:[object Object] 元素类型必须为 [object Object][object Object]
  • 当源元素大小为4字节([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]undefined
  • [object Object] Tile的数据类型必须与 [object Object] 的数据类型一致。

  • [object Object] Tile在单行内被划分为最多三个区域:

    • 区域0([object Object]):当前行索引计数器(每行递增)。始终存储在 [object Object] 中。
    • 区域1([object Object]):当前最大值元素,用于比较。[object Object] 类型存储在 [object Object] 中;[object Object] 类型存储在 [object Object] 中。
    • 区域2([object Object]):argmax索引结果。仅在 [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] Tile所需stride:

    [object Object]

    对于其他类型/模式组合,[object Object] 中仅需要区域0,因此 [object Object] 跨度为 [object Object] 即可。

  • 在纯索引模式下,若输入为 [object Object] 类型,[object Object] 区域2的数据将经过s16->f16->s32转换后才写入 [object Object]

[object Object]
  • Ascend 950PR/Ascend 950DT实现中 [object Object] 临时Tile 在两种模式下均不使用。Ascend 950PR/Ascend 950DT使用基于向量寄存器的计算方式([object Object]),不需要临时Tile存储。
  • [object Object] 在C++内建接口签名中保留,仅为了与Atlas A2/A3 训练系列产品/Atlas A2/A3 推理系列产品的API兼容。
[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]