Intel® FPGA SDK for OpenCL™: ベスト・プラクティス・ガイド

ID 683521
日付 12/08/2017
Public
ドキュメント目次

2.3. ループ情報のレビュー

High Level Design レポート ( <your_kernel_filename>/reports/report.html) ファイルには、デザインのすべてのループとそれらのアンロールステータスに関する情報が含まれています。このループ分析レポートは、 Intel® FPGA SDK for OpenCL™オフライン・コンパイラーカーネル のスループットを最大化できるかどうかを調べるのに役立ちます。

さらに、ループ分析レポートは、次のプラグマの 1 つもしくは 1 つ以上のループを展開する場所を判断するのにも役立ちます。
  • #pragma unroll

    #pragma unrollについて詳しくは、Intel FPGA SDK for OpenCL Programming Guideの「Unrolling a Loop」を参照してください。

  • #pragma loop_coalesce

    #pragma loop_coalesceについて詳しくは、Intel FPGA SDK for OpenCL Programming Guideの「Coalescing Nested Loops」を参照してください。

  • #pragma ii

    #pragma iiについて詳しくは、Intel FPGA SDK for OpenCL Programming Guideの「Specifying a loop initiation interval (II)」を参照してください。

  1. View reports > Loop Analysisをクリックします。
  2. Analysis ペインでShow fully unrolled loopsを選択し、デザイン内のすべてのループの情報を取得します。
  3. デザインのスループットを向上させるためのアクションを特定するには、下のフローチャートを参照します。

    要確認: II はループのイニシエーション・インターバルを指し、新しいループ反復処理までの開始時間を示します。II の値 = 1 が理想的であり、すなわち、 パイプラインはクロックサイクルごとに新しいループ反復処理が可能なため、パイプラインが最大の効率で機能していることを意味します。