Иногда при попытке запустить программу, использующую многопотоковые вычисления, такой как майнер, появляется сообщение об отсутствии CUDA-устройств, например:
CUDA device not found или No CUDA driver found.
Подобная проблема может возникнуть на новых и старых видеокартах. Также она может быть в разных операционных системах.
Решение проблемы
Прежде всего надо убедиться, что видеокарта, установленная на компьютере, поддерживается программой, которая выдает ошибку, а также что видеокарта правильно установлена и корректно работает.
Также следуют убедиться, что что майнер поддерживает данную версию видеокарты.
После этого нужно проверить драйвера видеокарт. Часто проблема возникает из-за того, что используется устаревшая версия драйвера, которая не поддерживается видеокартой.
Для решения этой проблемы нужно удалить предыдущие версии драйверов и установить новые. Можно, конечно, обновить драйвера, но часто это не помогает и приходится драйвера все заново переустанавливать.
Устанавливать драйвера следует только с официального сайта разработчика видеокарт в зависимости от вашей модели видеокарты.
Дополнительно можно вручную установить CUDA Toolkit, соответствующий установленной версии драйверов или новее.
Тем не менее, в некоторых, особенно тяжелых случаях такие действия не помогают и система упорно отказывается признавать наличие видеокарты, способной производить compute-вычисления.
Следующие шаги могут помочь решить данную проблему:
- проверить в диспетчере устройств правильность установки драйверов для всех устройств и отсутствие восклицательных знаков или ошибок;
- запустить программу от имени администратора;
- установить новые драйвера последней версии с официального сайта разработчика после полной очистки от предыдущих драйверов с помощью программы DDU (Display Driver Uninstaller);
- на компьютер дополнительно установить другой видеоакселератор и поставить драйвер;
- установить видеокарту в другой слот PCI-E материнской платы или райзер;
- включить видимость CUDA-устройства с помощью переменной окружения CUDA_VISIBLE_DEVICES;
- отключить функцию PCI Express Native Control Feature. Для этого нужно выполнить от имени админа консольную команду:
bcdedit /set {current} pciexpress forcedisable
перезагрузить систему и заново установить драйвера
- произвести переустановку операционной системы.
Если после указанных мер ошибка остается, то скорее всего проблема в самой операционной системы, которая возможно установлена некорректно или используется ее пиратская версия.
Множество проблем при работе в Windows возникает из-за использования сборок, в которых была осуществлена «ручная доработка», произведено удаление ненужных компонентов и/или чрезмерная очистка от ненужных файлов для оптимизации работы компьютера.
В данном случае, часто самым простым и логичным решением является использование официального дистрибутива Windows, в котором не производились изменения сторонними лицами.
Иногда, в случае использования официальной операционной системы Windows,но Embedded-версии, проблемы остаются. В этом случае стоит перейти на полноценную сборку от Microsoft.