Сброс GPU и драйвера после ошибки CUDA
Иногда ошибки в моих программах CUDA приводят к разрыву графики рабочего стола (в Windows). Как правило, экран остается несколько читаемым, но при изменении графики, например при перетаскивании окна, появляется много полузасуточных цветных пикселей и небольших блоков.
Я попытался использовать reset графический процессор и драйвер, изменив разрешение рабочего стола, но это не помогает. Единственное исправление, которое я нашел, - перезагрузить компьютер.
Есть ли там программа или какой-то трюк, который я могу использовать, чтобы получить драйвер и графический процессор до reset без перезагрузки?
Фон:
У меня были карты 1.0, 1.1, 1.3 и 2.0, но теперь у меня есть только 1.1 и 2.0. Я видел проблему на 1.0 и 1.1. Я уверен, что видел его на 1.3. Я не уверен в 2.0. Была ли добавлена защита памяти примерно 1,3? Я почти уверен, что это произошло не из-за неустойчивого оборудования, поскольку проблемы, похоже, были вызваны ошибками в моем коде и исчезли, когда исправлены ошибки. При запуске готового кода карты были стабильными. Я написал этот вопрос, увидев его на своей 1,1-карточке, но он исчез после исправления ошибки, и теперь у меня нет кода, который его воспроизводит. Может быть, я должен попытаться написать случайные местоположения на карточке 1.1 и посмотреть, что-нибудь случится...
Ответы
Ответ 1
Edit:
Если вы используете аппаратное обеспечение Tesla на Linux и можете запускать nvidia-smi, вы можете reset использовать графический процессор с помощью
nvidia-smi -r
или
nvidia-smi --gpu-reset
Вот вывод man
для этого переключателя:
Сбрасывает состояние GPU. Может использоваться для очистки двухбитовых ошибок ECC или восстановленный GPU. Требуется -i переключиться на целевое устройство. Доступно только для Linux.
В противном случае...
Способ действительно reset для перезагрузки оборудования.
То, что вы описываете, не должно происходить. Я рекомендую тестировать различные аппаратные средства и сообщать нам, если это все еще происходит.
Ответ 2
У меня есть GeForce GTX 260 по сравнению с NVDIA GPU SDK 4.2, и я испытываю некоторые проблемы.
Иногда у меня возникают ошибки в программах. Это заставляет экран отображать случайные цветные пиксели, описанные в этом сообщении.
Как указано здесь, если я изменяю разрешение, они не исчезают. Более того, если я только изменяю COLOR DEPTH с 32 до 16 бит, случайные цветные пиксели исчезают, но возврат к 32 битам (без перезагрузки) заставляет их появляться снова.
Последняя ошибка, вызвавшая это поведение, заключалась в использовании памяти __constant__, но передача ее как указателя:
test<<<grid, threadsPerBlock>>>( cuda_malloc_data, cuda_constant_data );
Если я не передаю cudb_constant_data
, тогда нет ошибки (и, следовательно, случайные цветные пиксели не отображаются).
Ответ 3
В reset графический стек в Windows нажмите Win + Ctrl + Shift + B.
Ответ 4
Поскольку такая же проблема возникает иногда в Unix, и Google перенаправил меня в эту ветку, я надеюсь, что это поможет кому-то еще..
При выгрузке и перезагрузке ubuntu модуль ядра nvidia решил эту проблему для меня:
sudo rmmod nvidia_uvm
sudo modprobe nvidia_uvm
Ответ 5
- в "Диспетчере устройств" на вкладке "Адаптеры дисплея" найдите драйвер
- отключить его
- нажмите win + ctrl +shift + B (монитор будет мигать)
- включить драйвер
вот и ты.