レイテンシ情報には、バイナリ コンテナーの各 CU の実行プロファイルが示されます。このデータを解析する際は、すべての値が CU 境界からカスタム ロジックを介してされていることに注意してください。グローバル メモリへのデータ転送に関連するインシステム レイテンシは、これらの値の一部としてはレポートされません。また、FPGA ファブリックでターゲットとなる CU のみのこのレイテンシがレポートされます。次に、レイテンシ レポートの例を示します。
Latency Information (clock cycles)
Compute Unit Kernel Name Module Name Start Interval Best Case Avg Case Worst Case
------------ ----------- ----------- -------------- --------- -------- ----------
mmult_1 mmult mmult 826 ~ 829 825 827 828
レイテンシ レポートは、次のフィールドに分けられます。
- 開始間隔
- ベスト ケース レイテンシ
- 平均ケース レイテン
- ワースト ケース レイテンシ
開始間隔は、特定のカーネルにおける CU の実行間の時間を定義します。
ベスト、平均、ワースト ケース レイテンシは、CU がそのカーネルの 1 つの ND Range データ タイルの結果を生成するのにかかる時間を示します。カーネルにデータが依存する計算ループがない場合、レイテンシは同じになります。ループのデータ依存実行があると、データごとにレイテンシが変わります。これらはレイテンシ レポートに含まれます。
間隔およびレイテンシの数は、次のいずれかまたは複数の条件の場合、カーネルに対して「undef」 (未定義) とレポートされます。
-
OpenCL カーネルに明示的な
reqd_work_group_size(x,y,z)
がない - カーネルに可変境界のループがある
注記: レイテンシ情報は、ループの変換とそのモデルの並列処理の解析に基づいた見積もりを反映します。パイプライン処理およびデータフローなどの高度な変更があると、実際のスループット数がかなり変わります。このため、レイテンシは run 間の相対的なガイドとしてのみ使用してください。