4

グローバルデバイスメモリのバッファからプロセッシングコアのローカルメモリにデータをコピーしたいのですが、ひねりがあります。

私はasync_work_group_copyについて知っています、そしてそれは素晴らしいです(というか、それは不格好で面倒ですが、機能しています)。ただし、私のデータは連続していません。つまり、コピーしたい 2 つの連続する Y バイトごとに X バイトが存在する可能性があります。

明らかに、役に立たないデータをすべてコピーするつもりはありません。また、ローカル メモリに収まらない可能性もあります。代わりに何ができますか?コピーを行うために実際のカーネルコードを書くことを避けたい、例えば

threadId = get_local_id(0);
if (threadId < length) {
    unsigned offset = threadId * stride;
    localData[threadId] = globalData[offset];
}
4

1 に答える 1