Драйвер Cuda разбился

Я определил, что размер массива 13107200. Пытаюсь запустить ядро ​​с 25600 блоками и 512 потоками. В информации о системе указано, что Max_Grid_Dim_X = 2147483647 и Max_Block_Dim_X = 1024. Драйвер Nvidia продолжает падать во время работы программы. Как это исправить?

 __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);

person LittleHobbit    schedule 20.03.2014    source источник
comment
Какую операционную систему, версию CUDA и графический процессор вы используете? Когда вы говорите о сбое, что вы имеете в виду, точно?   -  person talonmies    schedule 20.03.2014
comment
Я использую Windows 8, Nvidia GeForce GT 740m (версия драйвера 320.57), Cuda версии 5.5.20. В трее вижу сообщение, что драйвер был остановлен и перезапущен. Массив содержит одинаковые данные в каждом элементе.   -  person LittleHobbit    schedule 20.03.2014
comment
Вы достигли предела сторожевого таймера драйвера Windows WDDM. Об этом уже есть много вопросов на Stack Overflow, например здесь и здесь и это лишь некоторые из них. Я голосую за то, чтобы закрыть это как дубликат   -  person talonmies    schedule 20.03.2014
comment
Вы пытались запустить свою программу с меньшим количеством блоков и с меньшим массивом? если это работает, это означает только то, что вы достигли предела своего графического процессора.   -  person user2076694    schedule 20.03.2014
comment
Это был лимит времени водителя. Поменял настройки, теперь работает отлично. Спасибо всем за поддержку.   -  person LittleHobbit    schedule 21.03.2014