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

[object Object]

生成连续整数序列到目标Tile中。

[object Object]

对于有效元素上的线性化索引 [object Object]

  • 升序:

    dstk=S+k\mathrm{dst}_{k} = S + k

  • 降序:

    dstk=Sk\mathrm{dst}_{k} = S - k

线性化顺序取决于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 推理系列产品/Ascend 950PR/Ascend 950DT):
    • [object Object] 必须与标量模板参数 [object Object] 的类型完全相同。
    • [object Object]/[object Object] 元素类型必须相同,且必须是以下之一:[object Object][object Object][object Object][object Object]
    • [object Object](此为实现强制执行的条件,序列沿列方向生成)。
  • 有效区域:
    • 实现使用 [object Object] 作为序列长度,不参考 [object Object]
  • 临时Tile:
    • Atlas A2/A3 训练系列产品/Atlas A2/A3 推理系列产品:C++ API提供带显式 [object Object] Tile的重载,用于向量化实现路径。不带 [object Object] 的重载使用标量循环。[object Object] 必须为4字节类型([object Object][object Object][object Object])。实现将 [object Object] 转换为 [object Object] 使用;应按字节数来规划tmp Tile大小,而不是按 [object Object] 的类型理解。
    • b32元素类型[object Object][object Object]):最小tmp大小 = 768字节(192个float元素)。 向量化路径在 [object Object] 内使用两个float子缓冲区:[object Object] 位于偏移0,[object Object] 位于偏移 +128 floats。[object Object] 最多持有64个float元素(256字节)用于初始分数序列,[object Object] 最多持有64个float元素(256字节)用于累积结果。最高访问的字节偏移为128 × 4 + 64 × 4 = 768字节(192个float元素)。
    • b16元素类型[object Object][object Object]):最小tmp大小 = 1792字节(448个float元素)。 向量化路径在 [object Object] 内使用四个子缓冲区:[object Object](float)位于偏移0和 +128,[object Object](half)位于偏移 +256和 +384(以float索引单位计)。[object Object] 各最多持有64个float(256字节)用于分数序列生成。[object Object] 最多持有16个half元素(32字节)用于float到half的转换。[object Object] 最多持有128个half元素(256字节)用于最终的half精度累积。最高访问的字节偏移为384 × 4 + 128 × 2 = 1792字节(448个float元素)。
    • 一个方便的形状无关分配大小为2048字节(2KiB),例如 [object Object]
    • Ascend 950PR/Ascend 950DT[object Object] Tile被接受但不使用。Ascend 950PR/Ascend 950DT硬件直接使用 [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]