I’ve a strage error. I use the “cudaMemcpy2D” function as follow :
cudaMemcpy2D(A, pA, B, pB, width_in_bytes, height, cudaMemcpyHostToDevice);
As I know that B is an host float*, I have pB=width_in_bytes=N*sizeof(float).
So, when I use an array ( B ) of width N=65536, there is no problem.
But when I use N=65537 (actually > 65536), I have an “invalid pitch argument” error.
So, I have pA = 131072 and pB = 262148 (65537*sizeof(float)).
The memory allocation doesn’t cause an error.
I there a problem with pitch>2^16?
Can I copy a 2D section larger than 2^16 float?
Or more simply, what is the problem?