修订历史 - 2023.2 简体中文

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

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

下表列出了本文档的修订历史。

章节 修订综述
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_bufferoutput_window 更新为 output_buffer
矢量数据类型 在“受支持的矢量类型和大小”表中添加 uint16 和 uint32。
输入和输出缓冲器 添加介绍输入和输出缓冲器的章节。这些缓冲器用于替代窗口,窗口在 2023.1 中已弃用。
标量和矢量编程简介 在整章中将代码示例更新为使用缓冲器。
AI 引擎 API 概述 添加 aie::print_matrix
迭代器 添加 aie::begin_restrict_vectoraie::cbegin_restrict_vector
使用 AI 引擎 API 的设计示例 更新 2023.1 版相关内容,并更新为使用缓冲器。
建议的工程目录结构 添加有关仅允许通过 adf::source 将单个源文件指定为内核源文件的指导信息。
串流数据 API 更新 2023.1 版本。
读取并递增输入串流写入并递增输出串流 添加有关如何指示串流结束的注释,并提供命令示例。
包拆分与合并连接 新增章节。
多播支持 添加注释,指出编译器支持对多播连接进行多速率处理。
条件端口 添加章节,用于描述编译器允许在模板函数上使用条件端口的功能特性。
计算图对象阵列 添加章节,用于描述如何有条件例化计算图对象阵列。
graph 编程模型 更新代码片段,并更新整章中的截屏。
硬件中的数据吞吐率估算 新增章节,用于描述测量硬件中 AI 引擎的接口吞吐率的方法。
使用定时器进行吞吐率测量 新增章节,用于描述使用定时器测量接口吞吐率的方法。
使用事件进行吞吐率测量 新增章节,用于描述使用事件测量接口吞吐率的方法。
使用事件追踪进行吞吐率测量 新增章节。
连接构造函数模板 新增章节,用于描述如何在计算图中指定模板化的连接语句。
使用内部函数进行设计分析和编程 添加有关已弃用 input_windowoutput_window 的注释,并注明在本附录的代码示例中出现时,改用 input_bufferoutput_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 版
初始版本。 不适用