使用数据流“规范形式”连接计算函数 - 2022.1 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文

在分解计算函数时,适用与顶层函数内的连接相同的规则。以建立前馈连接为目标,并为每个连接变量设置单个生产者和使用者。如果变量必须由多个函数使用,则应明确复制它。

将数据块从一个计算块移动到另一个计算块时,开发者可以选择使用阵列或 hls::stream 对象。

使用阵列所需代码更改更少,在分解过程中,这通常是取得进展的最快方法。但是,使用 hls::stream 对象可能会导致设计使用的存储器资源减少并缩短时延。它还有助于开发者了解数据如何在内核中移动,在最优化吞吐量时这始终是需要掌握的重要信息。

使用 hls::stream 对象通常很有用,但将阵列转换为串流的最佳时机由开发者决定。某些开发者会早早进行转换,某些开发者则在最后进行转换,将其作为最终的最优化步骤。此操作也可以使用 pragma HLS dataflow 来完成。

在此阶段,维护内核架构的图形表示对于推理数据相依性、数据移动、控制流和并发度非常有用。