У меня есть приложение C ++ Cuda toolkit v9.2, которое прекрасно работает с -O
, но если я собираю с -g -G
, я получаю ошибку cuda 7 во время выполнения:
слишком много ресурсов запрошено для запуска
Я понимаю отсюда , что это значит:
превышено количество регистров, доступных на мультипроцессоре. Уменьшите количество потоков на блок для решения проблемы.
Я бы не стал сокращать количество потоков в блоке, поскольку он оптимизирован. Что я могу сделать, чтобы для отладочных сборок я использовал меньше регистров, больше в соответствии с оптимизированными? Как я могу отследить, откуда взялась дополнительная регистрация в моем приложении?