我需要在 CUDA C++ 中为每个线程加载 128 位数据。在这种情况下,最好使用 CPU 代码以获得最大性能和兼容性?请问下面的例子访问数据的性能是否相同?
1:使用两个:
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];