レイテンシ情報には、バイナリ コンテナーの各 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)
がない - カーネルに可変境界のループがある
注記: レイテンシ情報は、ループの変換とそのモデルの並列処理の解析に基づいた見積もりを反映します。パイプライン処理およびデータフローなどの高度な変換があると、実際のスループットが大きく変わります。このため、レイテンシは実行間の相対的な比較にのみ使用してください。