对数据并行度进行编码 - 2022.1 简体中文

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

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

需要指出的是,在 FPGA 上实现算法期间,为了充分利用计算并行度,综合工具需能够首先从源代码中识别计算并行度。为了反映源描述中的计算并行度和计算单元,主要使用的是循环和函数。但是即使如此,验证实现能否充分利用计算并行度仍至关重要,因为在某些情况下,Vitis 技术可能因源代码结构问题而无法应用所需的变换。

某些计算并行度可能一开始就未反映在源代码中,这是很常见的。在此情况下,需要在源代码中添加计算并行度。典型示例如下:内核可能基于单一输入值来运行,而 FPGA 实现则可能基于多个值来并行执行计算时更有效。如需了解此类并行建模的描述,请参阅 任务并行化

使用 OpenCL 矢量数据类型(如 int16)或 C/C++ 任意精度数据类型 ap_int<512> 可创建 512 位接口。这些矢量类型也可用作为在内核内部进行数据并行度建模的有效方法,使用 int16 的情况下最多将有 16 条数据路径并行运行。请参阅 GitHub 上赛灵思快速入门示例下的愿景类别中的中值滤波器示例,以了解有关使用矢量的推荐方法。