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

[object Object] 中分配一个生产者FIFO槽位,并将其暴露为 [object Object] 视图。

[object Object] 用于 [object Object] 分裂接口。它允许生产者获取当前FIFO槽位地址,使用 [object Object] 等普通内存指令向该槽位写入数据,然后通过 [object Object] 提交该槽位。

[object Object]

对于GlobalData流程:

  1. [object Object][object Object] 中分配一个生产者FIFO槽位,并将其暴露为 [object Object] 视图。生产者可通过 [object Object] 等指令向该槽位写入数据。
  2. [object Object] 为已经由 [object Object] 分配的槽位记录数据就绪同步,将FIFO槽位提交给消费者。它本身不会存储tile数据。
  3. [object Object] 等待数据就绪,将 [object Object] 赋值为当前FIFO槽位地址,并递增消费者tile索引。它不会将数据加载到本地tile,也不会释放槽位。消费者可通过 [object Object] 等指令从槽位中读取数据。
  4. [object Object] 释放由 [object Object] 返回的FIFO槽位视图,通知生产者该槽位空间已空闲。

[object Object] 执行三个步骤:

  1. [object Object][object Object] 同时为true时,等待FIFO空闲空间。
  2. 根据 [object Object] 计算当前FIFO槽位地址。
  3. [object Object] 赋值为FIFO槽位地址,并递增生产者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 推理系列产品GlobalData生产者
    • [object Object] 必须满足 [object Object]
    • [object Object]:生产者可以看到整个FIFO槽位。
    • [object Object]:对于向量子块,可能会根据 [object Object] 应用分裂偏移。
  • Ascend 950PR/Ascend 950DT GlobalData生产者
    • [object Object] 必须满足 [object Object]
    • [object Object]:生产者可以看到整个FIFO槽位。
    • [object Object]:对于向量子块,可能会根据 [object Object] 应用分裂偏移。
  • FIFO槽位
    • [object Object] 必须足够容纳一个逻辑FIFO条目。
    • [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] 定义稳定的PTO-AS写法。手写CV FIFO程序时请使用C++ intrinsic形式。

[object Object]