CUDA プログラミングでは、共有メモリを使用する場合、データをグローバル メモリから共有メモリに移動する必要があります。このようなデータの転送にはスレッドが使用されます。
グローバルメモリから共有メモリにデータをコピーするためにブロック内のすべてのスレッドを関与させない方がよいことを(オンラインリソースの)どこかで読みました。このような考え方は、すべてのスレッドが一緒に実行されるわけではないという点で理にかなっています。ワープ内のスレッドは一緒に実行されます。しかし、私の懸念は、すべてのワープが順番に実行されていないことです。たとえば、スレッドを含むブロックは 3 つのワープに分割されます: war p0 (0 ~ 31 スレッド)、warp 1 (32 ~ 63 スレッド)、warp 2 (64 ~ 95 スレッド)。warp 0 が最初に実行されるとは限りません (そうですか?)。
では、データをグローバル メモリから共有メモリにコピーするには、どのスレッドを使用すればよいでしょうか。