OpenCL™ 2D 高速フーリエ変換のデザイン例

お勧めの用途:

  • デバイス: 不明

  • Quartus: バージョン 17.1

author-image

投稿者:

この例では、2D 高速フーリエ変換 (FFT) の Open Computing Language (OpenCL) 実装を紹介します。この例では、1,024×1,024 複素単精度浮動小数点値の 2D マトリクスを処理します。2D FFT は、各行に適用される 1D FFT と、各列に適用される 1D FFT に分解されます。

この例のコアカーネルは、1D FFT とマトリクスの転置を実行します。ホストプログラムは、この 1D FFT カーネルを 2 回呼び出して 2D 変換を完了します。この例では、2 つの異なる出力データレイアウトを比較し、一方のデータレイアウトが 60% のパフォーマンス向上を実現するなど、多くの最適化が行われています。詳細については、サンプルパッケージをご覧ください。

2D FFT のパフォーマンス

機能

  • チャネルベンダーの拡張
  • メモリー・アクセス・パターンの最適化
  • 複数の同時カーネル
  • シングル・ワークアイテム・カーネルと NDRange カーネルの混合

ダウンロード

このデザイン例は、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 で確認できます。