OpenCL™ 2D 快速傅立叶变换设计示例

建议用于:

  • 设备:不详

  • Quartus:v17.1

author-image

作者

此示例演示了 2D 快速傅立叶变换 (FFT) 的开放计算语言 (OpenCL™) 实施。该示例处理 1,024x1,024 复杂单精度浮点值的二维矩阵。2D FFT 分解为应用于每一行的 1D FFT,然后是应用于每一列的 1D FFT。

此示例的核心内核执行 1D FFT 和矩阵转置。主机程序调用此 1D FFT 内核两次来完成二维变换。此示例中包含许多优化,包括比较两种不同的输出数据布局,其中一种数据布局的性能提高 60%。示例包中提供了其他详细信息。

2D FFT 性能

特性

  • 通道供应商扩展
  • 存储器访问模式优化
  • 多个同时内核
  • 一个工作条目和 NDRange 内核混合

下载

该设计示例提供 OpenCL 设备 (.cl) 和主机应用程序的源代码。为了编译主机应用程序,Linux 包包含一个 Makefile,Windows 包包含一个 Microsoft Visual Studio 2010 项目。

本示例提供以下下载:

该设计的使用受硬件参考设计许可协议中条款和条件的管理和约束。

软件和硬件要求

此设计示例需要以下工具:

  • 英特尔® FPGA 软件 v17.1 或更高版本
  • 英特尔® FPGA SDK for OpenCL 17.1 或更高版本
  • Linux:GNU Make 和 gcc
  • Windows:Microsoft Visual Studio 2010

要下载英特尔设计工具,请访问 OpenCL 下载页面。对底层操作系统的要求与英特尔 FPGA SDK for OpenCL 的要求相同。

OpenCL 和 OpenCL 标识是苹果公司的商标,需获得 Khronos 的许可方能使用。

*产品基于已发布的 Khronos 规范,并已通过 Khronos 一致性测试流程。最新的一致性状态信息可以在 www.khronos.org/conformance 上找到。