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

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

7.22. カーネルのインクリメンタル・コンパイル (-incremental)

OpenCLデザインに加える変更をインクリメンタルにコンパイルするには、-incremental インテル® FPGA SDK for OpenCL™オフライン・コンパイラー・コマンド・オプションをaocコマンドに含めます。

複数のカーネルを持つ大規模なシステムにおいて単一のカーネルのみ変更する場合、 インテル® FPGA SDK for OpenCL™オフライン・コンパイラーでは、前回のコンパイル結果を再利用し、変更したカーネルのみを合成、配置、ルーティングすることができます。このインクリメンタル・コンパイル・フィーチャーは、コンパイル時間の大幅な短縮につながります。

重要: インクリメンタル・コンパイル・フィーチャーは、内部でのOpenCLデザインの開発目的に限り有効にしてください。最高の回路パフォーマンスを確立するため、最終デザインではフルコンパイルを実行してください。

インクリメンタル・コンパイル・フロー例

aoc-incremental<your_kernel_filename>.cl

/*****Update kernels in your OpenCL design*****/

aoc-incremental-fast-compile<your_kernel_filename>.cl
  1. aoc -incremental <your_kernel_filename>.clコマンドを呼び出し、インクリメンタル・モードが有効になっている状態で、初期セットアップのコンパイルをクリーンなディレクトリーに行います。
    注: セットアップをコンパイルする際は、-incrementalフラグを必ず有効にしてください。

    このセットアップのコンパイルは、以前のコンパイル結果を再利用しません。セットアップをコンパイルする際は、-fast-compileオフライン・コンパイラー・コマンド・オプションをaocコマンドに含めないでください。このオプションを含めると、今後のインクリメンタル・コンパイル時にエラーが発生する可能性が高くなります。

    ヒント: インテルでは、コンパイルの時間が問題にならない場合は必ず、セットアップのコンパイルを新しく実行し、今後のインクリメンタル・コンパイル時にコンパイルが失敗する可能性を低下させることを推奨しています。連続して多くのインクリメンタル・コンパイルを実行すると、コンパイルが失敗する可能性が高くなります。また、ハードウェアのパフォーマンスおよび、生成された.aocxファイルの効率も低下します。
  2. ご自身のOpenCLデザインのカーネルを修正します。
    デザインには複数の.clファイルを含めることが可能です。
  3. デザインのインクリメンタル・コンパイルを実行します。最適なコンパイル速度を得るために、-fast-compileフラグもaocコマンドに含めます。
    aoc -incremental -fast-compile <your_kernel_filename>.cl
  4. report.htmlファイルのIncremental compileセクションで、オフライン・コンパイラーが検出した変更を確認してください。
    report.htmlファイルは、 <your_kernel_filename>/reportsディレクトリーにあります。