CUDA C++ でスレッドごとに 128 ビット データをロードする必要があります。この場合、最大のパフォーマンスと CPU のコードとの互換性のために使用する方がよいでしょうか? データにアクセスする次の例は、同等のパフォーマンスを発揮しますか?
1: 次の 2 つを使用します。
unsigned __int64 src1 = arr[threadIdx.x/2];
unsigned __int64 src2 = arr[threadIdx.x/2 + 1];
2: 使用:
struct T_src { unsigned __int64 src1, src2; };
T_src src = arr[threadIdx.x];
3: 特定のタイプの CUDA を使用する:
ulong2 src = arr[threadIdx.x];