@pishust

Работа программы на 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.
  • Вопрос задан
  • 2375 просмотров
Решения вопроса 1
@pishust Автор вопроса
Решением этой проблемы стал только рефакторинг кода со сведением цикла до достаточно небольшого размера.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы