下表列出了本文档的修订历史。
章节 | 修订综述 |
---|---|
2023 年 12 月 4 日 2023.2 版 | |
通用 | 更新以反映全新 AMD Vitis™ Unified IDE 的用法。 |
类型强制转换和数据类型转换 | 添加有关标量浮点运算选项的更多信息。 |
内联关键字 | 添加 inline 关键字的解释。 |
输入和输出缓冲器 | 指定单个缓冲器端口的最大大小。 |
异步缓冲器端口访问 | 添加重要说明,指出应先获取异步缓冲器,而后才能对其执行操作。 |
串流数据类型 | 添加受支持的级联累加器数据类型。 |
2023 年 10 月 18 日 2023.2 版 | |
用于多速率处理的缓冲器端口连接 | 添加代码示例以配合“上变频器后接单速率内核”图使用。 |
在 Vitis IDE 中查看循环 II | 新增章节。 |
使用 Vitis Unified IDE 和报告 | 更新 Vitis Unified IDE 相关内容。 |
使用 RTL 编程逻辑的设计流程 | 添加“AI 引擎计算图内的 PL 内核”章节。 |
AI 引擎到 PL 接口文本输入格式 | 更新章节并添加新示例。 |
示例 | 添加“使用输入和输出缓冲器作为中间存储器”章节。 |
创建数据流计算图(包含内核) | 添加重要注释,指出 main 函数必须包含返回语句。否则,aiecompiler 将出错。 |
标量和矢量编程简介、AI 引擎数据类型 和 矢量寄存器 | 更新输入和输出缓冲器的窗口实例。 |
2023 年 6 月 23 日 2023.1 版 | |
通用 | 编辑更新;无技术更新。 |
2023 年 5 月 23 日 2023.1 版 | |
通用 | 编辑更新;无技术更新。 |
2023 年 5 月 16 日 2023.1 版 | |
通用 | 将 window 更新为 buffer,即 input_window 更新为 input_buffer 且 output_window 更新为 output_buffer 。 |
矢量数据类型 | 在“受支持的矢量类型和大小”表中添加 uint16 和 uint32。 |
输入和输出缓冲器 | 添加介绍输入和输出缓冲器的章节。这些缓冲器用于替代窗口,窗口在 2023.1 中已弃用。 |
标量和矢量编程简介 | 在整章中将代码示例更新为使用缓冲器。 |
AI 引擎 API 概述 | 添加 aie::print_matrix 。 |
迭代器 | 添加 aie::begin_restrict_vector 和 aie::cbegin_restrict_vector 。 |
使用 AI 引擎 API 的设计示例 | 更新 2023.1 版相关内容,并更新为使用缓冲器。 |
建议的工程目录结构 | 添加有关仅允许通过 adf::source 将单个源文件指定为内核源文件的指导信息。 |
串流数据 API | 更新 2023.1 版本。 |
读取并递增输入串流 和 写入并递增输出串流 | 添加有关如何指示串流结束的注释,并提供命令示例。 |
包拆分与合并连接 | 新增章节。 |
多播支持 | 添加注释,指出编译器支持对多播连接进行多速率处理。 |
条件端口 | 添加章节,用于描述编译器允许在模板函数上使用条件端口的功能特性。 |
计算图对象阵列 | 添加章节,用于描述如何有条件例化计算图对象阵列。 |
graph 编程模型 | 更新代码片段,并更新整章中的截屏。 |
硬件中的数据吞吐率估算 | 新增章节,用于描述测量硬件中 AI 引擎的接口吞吐率的方法。 |
使用定时器进行吞吐率测量 | 新增章节,用于描述使用定时器测量接口吞吐率的方法。 |
使用事件进行吞吐率测量 | 新增章节,用于描述使用事件测量接口吞吐率的方法。 |
使用事件追踪进行吞吐率测量 | 新增章节。 |
连接构造函数模板 | 新增章节,用于描述如何在计算图中指定模板化的连接语句。 |
使用内部函数进行设计分析和编程 | 添加有关已弃用 input_window 和 output_window 的注释,并注明在本附录的代码示例中出现时,改用 input_buffer 和 output_buffer 。 |
2022 年 10 月 19 日 2022.2 版 | |
文档标题 | 标题更改为AI 引擎内核与计算图编程指南。 |
全文档更改 | 添加来自 AI 引擎工具和流程用户指南(UG1076) 的计算图编程内容。 |
矢量算术运算 | 更新“示例”语法。 |
舍入和饱和模式 | 将 truncate 更改为 saturate 。 |
类型强制转换和数据类型转换 | 更新转换函数(to_float() 和 to_fixed() )示例。 |
运算符重载 | 更新运算符代码示例。 |
数据重塑 | 更新以包含 aie::vector<int32,8> 。 |
矩阵乘法 | 更新版本章节。 |
基于窗口的访问 | 更新澄清内容。 |
基于串流的访问 | 在“多重速率处理”小节中添加串流连接。 |
相对约束 | 新增主题。 |
16x16 位上的 MAC | 更新澄清内容。 |
相对约束 | 新增主题。 |
graph 拓扑 | 新增章节。 |
其他约束 | 添加 async_repetition 约束。 |
2022 年 5 月 25 日 2022.1 版 | |
矢量数据类型 | 突出显示 AI 引擎原生支持的数据类型大小。 |
矢量寄存器 | 在 aie::vector 上添加 grow_replicate 函数。 |
循环 | 添加“循环平铺和展开”章节。 |
调度分隔符 | 添加有关调度分隔符编译指示的信息。 |
并行串流访问 | 添加有关并行访问两条输入和/或输出串流的信息。 |
内核代码剖析 | 添加有关使用 cycles() API 剖析内核代码的信息。 |
运行时参数规范 | 移除有关“AI 引擎到 AI 引擎运行时参数支持”的章节。 |
通过 AXI4-Stream Interconnect 进行数据通信 | 更新章节。 |
数据通信中的缓冲器对比串流 | 更新章节,以反映窗口多播支持。 |
使用 AI 引擎 API 的设计示例 | 新增章节。添加新的 FIR 滤波器和矩阵乘法设计示例。 |
更新、抽取和移位 | 添加有关在累加器上使用更新 API 的信息。 |
2021 年 11 月 10 日 2021.2 版 | |
标量处理单元 | 更新 AI 引擎 API。 |
AI 引擎存储器 | 添加有关堆和栈大小的信息。 |
AI 引擎 API | 新增章节。 |
标量和矢量编程简介 | 更新 AI 引擎 API。 |
AI 引擎 API 概述 | 新增章节。 |
矢量算术运算 | |
矢量缩减 | |
按位运算 | |
数据比较 | |
数据重塑 | |
迭代器 | |
运算符重载 | |
多通道乘法 - sliding_mul | |
矩阵乘法 - mmul | |
API 操作示例 | |
循环 | 更新信息。 |
浮点运算 | 更新 AI 引擎 API。 |
使用内部函数执行单内核编程 | 附录部分描述如何使用内部函数进行编程。 |
使用内部函数进行设计分析和编程 | 附录部分描述如何使用内部函数进行设计分析和编程。 |
2021 年 7 月 19 日 2021.1 版 | |
累加器寄存器 | 添加有关 print acc
value 和串流数据 API 的信息。 |
类型强制转换和数据类型转换 | 添加有关 AI 引擎浮点的注释。 |
初始化 | 添加有关 static 关键字的信息。 |
含虚拟资源注解的加载和存储 | 新增章节。 |
数据通信中的缓冲器对比串流 | 添加信息。 |
通过 GMIO 进行 DDR 存储器访问 | 移除 PL GMIO 的相关信息。 |
将算法映射到 AI 引擎 | 澄清描述。 |
内部函数编码 | 添加有关 (always_inline) 属性的信息。 |
2021 年 2 月 4 日 2020.2 版 | |
初始版本。 | 不适用 |