2015-01-02 4 views
3

Я использую Visual Studio 2012 и получил несколько ядер, которые разбились при выполнении кода с помощью CUDA Debugging. Некоторые другие ядра, в которых выполняется одинаковый код без каких-либо проблем (на разных сгенерированных числах/данных). Я не знаю, сбой ядра при запуске программы без CUDA Debugging, поскольку я не получаю никаких ошибок.CUDA Размер стека при использовании отладки CUDA

Ошибка:

CUDA Debugger detected data stack overflow on 120 threads. 
First thread: 
blockIdx = {2,0,0} 
threadIdx = {1,0,0} 
StackPointer = 0x00ffe9d0 
StackLimit = 0x00ffea40 

Глядя в документации, которую я нашел, как увеличить размер стека (я также необходимо увеличить размер кучи):

//Increase memory limits 
size_t size_heap, size_stack; 
cudaDeviceSetLimit(cudaLimitMallocHeapSize,20000000*sizeof(double)); 
cudaDeviceSetLimit(cudaLimitStackSize,12928); 
cudaDeviceGetLimit(&size_heap, cudaLimitMallocHeapSize); 
cudaDeviceGetLimit(&size_stack, cudaLimitStackSize); 
printf("Heap size found to be %d; Stack size found to be %d\n",(int)size_heap,(int)size_stack); 

Размер стека по умолчанию был 6464 , поэтому я хотел удвоить его, чтобы увидеть, есть ли улучшения. Когда я запускал программу, используя стандартный отладчик окон, размер стека, возвращаемый cudaDeviceGetLimit(&size_stack, cudaLimitStackSize), был 12928, как ожидалось.

Однако, когда я запускаю программу, используя отладчик CUDA, он сообщает размер стека 1024, а не 12928. Почему?

+0

Протестировано на GeForce 520M и GeForce 840M, обе показали ту же проблему. – RemiDav

ответ

2

Кажется, это была просто ошибка, Я обновил до CUDA 7.0 Release Candidate и распределение стека теперь хорошо работает.

Если у вас была такая же проблема, уточните последние версии драйверов/инструментов. CUDA 7.0 RC доступен только для зарегистрированных разработчиков CUDA, вам необходимо зарегистрироваться на их веб-сайте.

+0

Я столкнулся с такой же проблемой при использовании Tesla 2075C & CUDA V 5.5, обновлен до CUDA V 7, решил проблему. – TripleS

Смежные вопросы