次のカーネルがあるとします。
__kernel void classify_data_points( __global float* data,
__local float* datasegment)
{
int gid0 = get_global_id(0);
int lid = get_local_id(0);
dataSegment[lid] = data[gid];
}
ご覧のとおり、グローバル メモリからローカル メモリにデータを取り込みたいと考えています。このアクションを一度に実行するために、ローカル メモリのサイズは重要ですか? つまり、dataSegment 配列のサイズは 64 バイトです。次に、この行 'dataSegment[lid] = data[gid]' によって、64 バイトのメモリ空間全体がグローバル メモリから取得したデータで満たされていると仮定できますか? (グローバル メモリには十分なデータがあります) または 512 バイト長のローカル メモリの場合、同じことが言えますか?