Работа программы на C++ AMP приводит к вылету видеодрайвера. Как исправить эту проблему?
Недавно начал работать с библиотекой AMP на C++. Сейчас столкнулся со следующей проблемой.
Любая программа, в которой время обработки цикла parallel_for_each больше нескольких секунд, приводит к вылету с необработанным исключением. Одновременно Windows сообщает о том, что "Видеодрайвер перестал отвечать и был восстановлен".
Также на данный момент выяснено, что именно вылет видеодрайвера приводит к остановке программы (после восстановления работу программы можно продолжить, и она может успеть досчитаться до следующего вылета).
Так происходит всегда, когда программа не успевает просчитаться за 2-3 секунды. Google по этому поводу мне ничего вразумительного не подсказал.
Увеличение времени перезагрузки драйвера или вообще отключение этой перезагрузки с помощью TDR Regisey Keys не помогло, программа так же вылетает или вообще окончательно зависает.
Итак, каким образом можно ограничить нагрузку на gpu и избавиться от постоянных вылетов?
Что подскажите, товарищи?
ОС Windows 8.1, Visual Studio C++ 2012. Проверено на десктопном акселераторе GForce GTX 460 и на нетбуке с Radeon HD 7340.