此效能標竿示範了 OpenCL™在 Intel 上執行 1D 高速 Fourier 轉檔 (1D FFT)® FPGAs。效能標竿可處理高達 1,600 萬個複雜的單精確度浮點值,並支援瞬息萬變的資料大小。
用於處理如此大型資料集的演算法有六個階段。舉例來說,假設我們要處理 100 萬點:
- 將 1M 點視為 1K x 1K 矩陣,從外部記憶體讀取,然後快速轉接。
- 在所有行 (轉置矩陣) 上執行 1K 1D FFT。
- 透過調整雜亂因素來乘以產生的值。
- 將矩陣轉接並寫入外部記憶體中的暫存緩衝區。
- 在所有行上執行 1K 1D FFT。
- 將矩陣轉換並寫入外部記憶體。
整個系統由三個由通道連接的核心組成。主機兩次汏取三個核心,以執行完整的運算。第一個會執行上方 1-4 個步驟,第二個會執行步驟 5-6。這基本上是一個 2D FFT 核心,具有額外的轉位和旋轉乘法。
代碼可輕鬆參數化,以支援不同的 FFT 大小以及不同的效能需求。
FFT 效能
核心的效能取決於平行處理的點數、使用的資料配置,以及外部記憶體的數量與速度。在具有兩個 DDR3-1600s 的 BittWare S5-PCIe-HQ D8 上進行下列測量。測量在 1M 點 FFT 上平行測量 8 個點,4M FFT 平行測量 4 個點。
MSPS 是「每秒數百萬個樣本」。
特徵
- 單一工作專案核心
- 核心通道
- 優化矩陣轉換
下載
設計範例提供 OpenCL 裝置 (.cl) 和主機應用程式的原始碼。若要編譯主機應用程式,Linux* 套件包含一個 Makefile,而 Windows 套件包含 Microsoft Visual Studio 2010 專案。
此範例提供下列下載專案:
此設計的使用受 硬體參考設計授權合約的條款與細則管轄,並受其約束。
軟硬體需求
此設計範例需要下列工具:
- Intel® FPGA軟體 v17.1 或更高版本
- Intel FPGA適用于 OpenCL v17.1 或更高版本的 SDK
- 在 Linux:GNU 製造與 gcc 上
- Windows:Microsoft Visual Studio 2010
若要下載 Intel 設計工具,請造訪 OpenCL 下載 頁面。此設計範例僅支援 Linux 作業系統
OpenCL 和 OpenCL 圖志是 Apple Inc. 的商標,經 Khronos 許可使用。
* 產品以已發佈的 Khronos 規格為基礎,並且已通過 Khronos 符合性測試程式。目前的符合狀態可在 www.khronos.org/conformance找到。