Я пытаюсь вызвать два ядра, как показано нижеCuda неудачного запуска ядра
for (t=0; t<=time_total; t++)
{
//kernel calls
kernel1<<<noOfBlocks,noOfThreadsPerBlock>>>(** SOME PARAMETERS **);
checkCudaError(cudaThreadSynchronize());
kernel2<<<noOfBlocks,noOfThreadsPerBlock>>>(** SOME PARAMETERS **);
checkCudaError(cudaThreadSynchronize());
}
А структура второго ядра является
var[index+0]=**SOME CALCULATION**
var[index+1]=**SOME CALCULATION**
var[index+2]=**SOME CALCULATION**
Теперь, когда я выполняю этот код, checkCudaError не сообщает что-либо, и код выполнен с выдачей какого-либо результата, но визуальная студия дает следующее исключение
First-chance exception at 0x7640c41f in **.exe: Microsoft C++ exception: cudaError_enum at memory location 0x0039f9c4..
First-chance exception at 0x7640c41f in **.exe: Microsoft C++ exception: cudaError_enum at memory location 0x0039f9c4..
И когда я проверяю на Nsight он говорит ядро 2, имеющий следующую ошибку
CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES
Теперь проблема заключается в том, что переменная массива в ядре 2 дает некоторые строки исправить некоторые копии других значений строк и некоторые из них мусор.
Кроме того, когда я делаю это
var[index+0]=3
var[index+1]=3
var[index+2]=3
Все значения вар установлены 3
его лучше дать весь код .., чтобы мы могли скомпилировать, запустить и проверить проблему .. –
Извините, я не могу создать код здесь .. Я просто хотел узнать, что вызывает исключения, и если есть ошибка запуска ядра, что именно это означает? – amitdonanand
Я проголосовал, чтобы закрыть это. Если вы не предоставите необходимую информацию для других здесь, чтобы помочь вам, я не понимаю, как вы можете ожидать, что кто-нибудь предоставит вам ответ. – talonmies