3

すべてのハードウェア/プラットフォームで OpenCL の最初のワーク グループにget_local_id(0)等しいと仮定できますか?get_global_id(0)

問題は、生成されたすべての作業項目0,1,2,3,4,5,6,7にグローバル空間で ID が与えられ、次に0,1,2,3 | 0,1,2,3ローカル空間で ID が与えられるかどうかです。

代わりに、ローカル空間、0,2,4,6 | 1,3,5,7. どこで | 2 つのワークグループと 8 つのワークアイテムのこの例では、2 つのワークグループを分割します。

4

1 に答える 1

8

これは、 OpenCL 1.2 仕様のセクション 3.2 (実行モデル) で説明されていますが、後のセクション 6.12.1 (ワークアイテム関数) では参照されていません。

global_id(d) = global_offset(d) + local_id(d) + group_id(d) * local_size(d)
global_size(d) = local_size(d) * num_groups(d)

global_offset が (0,0,0) の場合、仮定は正しいです。

于 2013-03-14T22:59:20.277 に答える