インテル® FPGA SDK for OpenCL™プロ・エディション: プログラミング・ガイド

ID 683846
日付 4/01/2019
Public
ドキュメント目次

2. インテル® FPGA SDK for OpenCL™オフライン・コンパイラーのカーネル・コンパイル・フロー

インテル® FPGA SDK for OpenCL™オフライン・コンパイラーでは、ご自身のFPGAプログラミング・イメージ・ファイル (.aocxファイル) を単一または複数のプロセスで作成可能です。 ご自身のカーネルの複雑さに応じて、推奨されるコンパイル方法が決まります。
図 3.  インテル® FPGA SDK for OpenCL™ のFPGAプログラミング・フロー


OpenCLカーネル・ソースファイル (.cl) は、FPGAで動作するOpenCLカーネルのソースコードを含みます。オフライン・コンパイラーは、1つもしくは複数のカーネルを一時ファイルにグループ化した後、この一時ファイルをコンパイルして以下のファイルとフォルダーを生成します。

  • 中間オブジェクト・ファイルである.aoco オブジェクト・ファイル。このファイルには、コンパイルの後半段階に向けての情報が含まれます。
  • ハードウェア・コンフィグレーション・ファイルである.aocxイメージファイル。このファイルは、ランタイムにFPGAをプログラミングするために必要な情報を含みます。
  • .aocxファイルの作成に必要なデータを含む作業フォルダーまたはサブディレクトリー。デフォルトの状態で作業ディレクトリーの名前は、ご自身の.clファイル名です。複数のカーネル・ソースファイルをコンパイルする場合、作業ディレクトリーの名前は、 aocコマンドラインの最後にリストした.clファイル名です。

.aocxファイルは、ホスト・アプリケーションがターゲットFPGAのプログラム・オブジェクトを作成するために使用するデータを含みます。プログラム・オブジェクトは、OpenCLランタイムAPIの概念です。ホスト・アプリケーションはまず、これらのプログラム・オブジェクトをメモリーにロードします。ホストランタイムはその後、これらのプログラム・オブジェクトを使用し、ホストプログラムのカーネル起動動作の要求に基づきターゲットFPGAをプログラムします。