缓冲器端口与窗口之间的比较 - 2023.2 简体中文

AI 引擎内核与计算图编程指南 (UG1079)

Document ID
UG1079
Release Date
2023-12-04
Version
2023.2 简体中文

AMD Vitis™ 工具 2022.1 版及更低版本中,内核之间的存储器接口称为窗口。缓冲器端口与窗口端口相似,但具体差异概述如下。缓冲器端口为内核提供了对核存储器块进行操作的途径。

表 1. 窗口与缓冲器差异
窗口 缓冲器
大小和裕度以字节数为单位。 大小和裕度以样本数为单位。
大小只能在计算图中使用 connect 语句来定义。 大小可在计算图中使用 dimensions 语句来定义,也可在内核特征符中定义为编译时间常量。
裕度只能在计算图中使用 connect 语句来定义。 裕度只能在内核特征符中定义为编译时间常量。
锁定机制在计算图中使用 connect 构造来指定。 锁定机制在内核特征符中指定。
C++14 足够使用。 缓冲器端口使用 C++17 折叠表达式。
仅支持循环寻址。 默认寻址方法为线性。可设为循环
为便于数据访问,迭代操作与读取或写入 API 的操作直接绑定,例如,window_readincr()window_writeincr() 支持通过参考指针或迭代器来执行读取或写入操作。
仅限一维 多维。如果在内核特征符中省略缓冲器维度,则将假设它是一维的。
注释: 缓冲器端口大小、窗口大小和裕度大小的限制取决于硬件约束,因此,缓冲器端口与窗口的最小大小方面并无差异。