0

I defined, that array size is 13107200. I try to run kernel with 25600 blocks and 512 threads. In system info defined, that Max_Grid_Dim_X = 2147483647 and Max_Block_Dim_X = 1024. Nvidia driver keep crashing while the program runs. How to fix it?

 __global__ void aesEncrypt(node *data, int rounds)
 {
     int index = blockDim.x * blockIdx.x + threadIdx.x;
     addRoundKey(&data[index], 0);
     for(int i = 1; i <= rounds; i ++) {
         subBytes(&data[index]);
         shiftRows(&data[index]);
         if(i != rounds)
             mixColumns(&data[index]);
         addRoundKey(&data[index], i);
     }
 }

aesEncrypt<<<dim3(25600, 1, 1), dim3(512, 1, 1)>>>(gData, r);
LittleHobbit
  • 81
  • 2
  • 6
  • What operating system, CUDA version and GPU are you using? When you say crashing, what do you mean, *exactly*? – talonmies Mar 20 '14 at 09:52
  • I use Windows 8, Nvidia GeForce GT 740m (driver version 320.57), Cuda version 5.5.20. In tray i can see message, that driver was stopped and restarted. Array contains the same data in each element. – LittleHobbit Mar 20 '14 at 10:05
  • 1
    You are hitting the Windows WDDM driver watchdog timer limit. There are a lot of questions already about this on [SO], for example [here](http://stackoverflow.com/q/6913206/681865) and [here](http://stackoverflow.com/q/21971484/681865) to name but a few. I'm voting to close this as a duplicate – talonmies Mar 20 '14 at 10:33
  • Did you try to run your program with less blocks and with an array smaller? if it works, it only means that you reached the limit of your GPU. – user2076694 Mar 20 '14 at 12:56
  • It was driver time limit. I changed settings, now it works great. Thanks all for support. – LittleHobbit Mar 21 '14 at 13:17

0 Answers0