Пишу программу на CUDA для решения одной NP-полной задачи. Собственно вопрос в чем - если программа выполняется менее чем за 2 сек все ок, если больше то драйвер видеокарты сбрасывает выполнение kernela как я понял. Нагуглил решение - отключил это в настройках теперь кернел работает долго, но комп при этом полностью виснет на время его выполнения, и если задача считается 10 мин то комп просто висит 10 мин. Как и что добавить в код чтобы кернел не вешал всю систему на время его выполнения?
Win7 x64 GeForce 410M
На stackoverflow этот вопрос достаточно хорошо раскрыт: How do you get around the maximum CUDA run-time. У меня, например, тоже сразу возникла идея разбить расчёт на некоторые итерации чтобы время от времени расчёты приостанавливались и снова возобновлялись. В любом случае, полезно видеть на экране прогресс расчётов
Сборка персонального компьютера от Artline: умный выбор для современных пользователей