I would like to alloc an cudaArray with float4, so I use cudaMallocArray to alloc the cudaArray, and it’s ok, but when I use this float4 array, the compiler told me “error: expression must be a pointer to a complete object typeâ€
the code is like this:
[codebox]
cudaChannelFormatDesc channelDescFloat4 = cudaCreateChannelDesc<float4>();
cudaArray* location;
cudaMallocArray( &location, &channelDescFloat4, width, height );
location[1].x += 1.0f; //this line raise up error[/codebox]
besides, I want to know how to initialize the array with float4 var such as
[codebox]float4 init=make_float4(1.0f,2.0f,3.0f,4.0f);
cudaMemset(location,init, width*height);[/codebox]
is this ok?