OpenCL で 2 次元のグローバル threadId を取得するにはどうすればよいですか? 1次元の式は次のとおりです。
int global_id = get_global_id(1) * get_global_size(0) + get_global_id(0);
しかし、私がこのように割り当てると:
size_t block_size[] = {2,2}
size_t grid_size[] = {35,20}
上記の式は失敗し、インデックスは 0 から 35*20 までしか与えられません。インデックスは 0 から 35*40*2*2 の範囲である必要があります。
このすべてがどのように機能するかを直感的に理解できる、優れたドキュメントや文章をお勧めできますか? ありがとう!