Can't run kernel in D3D with back buffer larger than 512x600! CUDA problem with D3D!

Hi everyone!

When developing my project, i discovered that my app can not run the kernel if back buffer is larger than 512x600! If i increase the size (512x601), the kernel dont run at all! I believe that this’s not kernel problem because it’s very simple:

__global__ void kernel(unsigned int* p)


unsigned int* idx = blockIdx.x*gridDim.x + threadIdx.x;

p[idx] = 0x7f7f7f7f;


I registered and mapped back buffer(pD3DDevice->GetBackBuffer()) with no error! And get correct result with the size smaller or equal with 512x600!


How are you calling the kernel? the maximum number of threads per block is 512.


I think there’s no problem here T_T!

I tested with vertex buffer and using texture too, it works normally! But these two have very bad performance T_T (compare with using Back buffer, 4 -> 6 time slower)!