本人常年写OpenCL,最开始是写CUDA入门的,现在回归CUDA,但没有找到相关的资料说明,cuda runtime kernel当中是否可以直接进行float4的读写和计算。举个例子,OpenCL的float4 add kernel:
__kernel void Add(__global float4* a, __global float4* b, __global float4*c){
int tid = get_global_id(0);
c[tid] = a[tid] + b[tid]
}//OpenCL中是合法的,或者说将入参指针变为__global float* 并在相应读写时使用vload4()\vstore4()的等价操作。
但是CUDA有类似的支持吗?比如:
__global__ void Add(float4* a, float4* b, float4*c){
int i = threadIdx.x;
c = a + b;
}//貌似我试了下,这样子是不合法的,那请问有没有什么和OpenCL等价的方法呢??? 谢谢各位!