Я пишу программу, которая требует следующего запуска ядра:
dim3 blocks(16,16,16); //grid dimensions
dim3 threads(32,32); //block dimensions
get_gaussian_responses<<<blocks,threads>>>(pDeviceIntegral,itgStepSize,pScaleSpace);
Я забыл освободить массив pScaleSpace в конце программы, а затем запустил программу через профилировщик CUDA, которыйзапускает его 15 раз подряд, занимая много памяти / вызывая большую фрагментацию.Теперь, когда я запускаю программу, ядро даже не запускается.Если я посмотрю на список вызовов функций, записанных профилировщиком, ядра там нет.Я понимаю, что это довольно глупая ошибка, но я не знаю, что я могу сделать в этот момент, чтобы снова запустить программу.Я перезагрузил компьютер, но это не помогло.Если я уменьшу размеры ядра, оно будет работать нормально, но текущие размеры будут в пределах допустимого максимума для моей карты.
Max threads per block: 1024
Max grid dimensions: 65535,65535,65535
Любые предложения приветствуются, заранее спасибо!