Windows Crash It detects a infinit loop in a device

I’m using CUDA in Window. I have a kernel that use two dimensions (x,y). My variables are:

[codebox]int numBlocksX2 = ceil((float)nPointsX / BLOCK_SIZE_2);

int numBlocksY2 = ceil((float)nPointsY / BLOCK_SIZE_2);

if(numBlocksX2 > MAX_GRID || numBlocksY2 > MAX_GRID)

return false;

dim3 dimGrid2D(numBlocksX2, numBlocksY2);

dim3 dimBlock2D(BLOCK_SIZE_2, BLOCK_SIZE_2);[/codebox]


[codebox]#define POINTS_X 1000

#define POINTS_Y 1000

#define BLOCK_SIZE_2 16

#define MAX_GRID 65535[/codebox]

but when I increase the value of POINTS_X and POINTS_Y to 10000 Windows crash and I can watch the blue window with the error mesage about a problem with a peripherical (infinite loop detected)

This might be the watchdog kicking in. Try spawning less threads/blocks and measure the execution time while gradually increasing their number. Right now you are trying to launch about 400’000 blocks (with 10’000 points in each dimension). Depending on the complexity of your kernel, this might be quite a lot.

How can I know what is my watchdog time limit?

It’s about five seconds on WinXP.

Thank you