OpenCL™ 高速フーリエ変換 FFT (1D)

お勧めの用途:

  • デバイス: 不明

  • Quartus®: バージョン 17.1

author-image

投稿者:

この例では、高速フーリエ変換 (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 で確認できます。