パラメータは 2 のべき乗である必要clEnqueueNDRangeKernel
がありますか? global_work_size
そうでなく、2 の累乗でない場合、どのエラーが返されますか?
UPD 回答に基づく : グローバルおよびローカルの作業サイズは 2 の累乗であってはなりません。ワークグループのサイズと波面のサイズの関係は?:
- ウェーブフロント サイズが 64 で、local_work_size < 64 の場合 - 各ロック ステップで 64 個の作業項目が実行されますが、(64 - local_work_size) は「何もしない」work_items になります。
- 128 > local_work_size > 64 の場合 - 実行はどうなりますか? ロックステップでもウェーブフロント全体が実行され (64 個のワークアイテム)、1 つの local_work_size % 64 で実行されます。