この例では、高速フーリエ変換 (FFT) の Open Computing Language (OpenCL™) 実装を紹介します。この例では、4096 個の複素単精度浮動小数点値を複数セット処理します。入力データは順序付けされており、出力データはビット反転の順序になっています。
この例では、クロックサイクルあたり 8 データポイントを処理できるシングル radix-4 FFT エンジンを使用します。最終アプリケーションと利用可能な FPGA リソースに応じ、OpenCL ボードで利用可能なメモリー帯域幅に合わせてこのエンジンのインスタンスを増やすことで、より高いパフォーマンスを得ることができます。
FFT エンジンは、シングル・ワークアイテム・カーネルとして実装されることで、遅延要素の表現に使用されるスライディング・ウィンドウのデザインパターンを効率的に実装できます。詳細については、サンプルパッケージをご覧ください。
FFT のパフォーマンス
機能
- スライディング・ウィンドウのデザインパターン
- 単一動作項目カーネル
ダウンロード
このデザイン例は、OpenCL™ デバイス (.cl) およびホスト・アプリケーション用のソースコードを提供します。ホスト・アプリケーションをコンパイルするため、Linux* パッケージには Makefile が含まれており、Windows* パッケージには Microsoft* Visual Studio* 2010 プロジェクトが含まれています。
以下のダウンロードは、この例のために提供されています。
このデザインの使用には、ハードウェア・リファレンス・デザイン・ライセンス契約の使用条件が適用されます。
ソフトウェア要件とハードウェア要件
このデザイン例には、以下のツールが必要です。
- インテル® FPGA ソフトウェア 17.1 以降
- インテル® FPGA SDK for OpenCL™ 17.1 以降
- Linux* の場合: GNU make および gcc
- Windows* の場合: Microsoft* Visual Studio* 2010
インテル® のデザインツールをダウンロードするには、OpenCL™ ダウンロードページをご覧ください。基盤となるオペレーティング・システムの要件は、インテル® FPGA SDK for OpenCL™ の要件と同じです。
OpenCL および OpenCL ロゴは Apple Inc. の商標であり、Khronos の許可を得て使用しています。
* 製品は Khronos 公開の仕様に基づいており、Khronos コンフォーマンス・テスト・プロセスに合格しています。現在のコンフォーマンス条件は、www.khronos.org/conformance で確認できます。