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

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

3.9. Work-ItemID依存の後方分岐の回避

Intel® FPGA SDK for OpenCL™オフライン・コンパイラーは、特定の機能ユニットがいつアクティブになるかを示す単一のビットに条件文を畳ませます。オフライン・コンパイラーは、ループ構造に関係しない単純な制御フローを完全に排除し、フラットな制御構造とより効率的なハードウェアの使用をもたらします。オフライン・コンパイラーは、条件文などの前方分岐を効率的に含むカーネルを効率的にコンパイルします。

パフォーマンスを低下させるため、Work-ItemIDに依存する後方分岐(ループ内で発生する分岐)をカーネルに含めないでください。

例えば、次のコードは、そのようなget_global_id又はget_local_idなどのWork-ItemIDを含む分岐示します。

for (size_t i = 0; i < get_global_id(0); i++)
{
	  // statements
}