私が理解していることから、推奨されるワーク グループ サイズは、コンピューティング デバイスの SIMD 幅にほぼ依存します (NVidia の場合、これはワープ サイズであり、AMD では用語は Wavefront です)。
論理的には、好ましいワークグループのサイズは、カーネルに依存するのではなく、デバイスに依存すると想定することになります。ただし、このプロパティを照会するには、CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE を使用して特定のカーネルに対して相対的に行う必要があります。基になるハードウェア デバイスの SIMD 幅の倍数ではない値を選択すると、ハードウェアが完全にロードされず、パフォーマンスが低下します。また、どのカーネルが実行されているかに関係なく選択する必要があります。
私の質問は、なぜそうではないのですか?確かに、この設計上の決定は完全に恣意的なものではありませんでした。根本的な実装上の制限はありますか?または、このプロパティが実際にカーネル プロパティであるべき場合はありますか?