Перейти к содержимому

No cuda driver found как исправить

  • автор:

О проблемах, приводящих к появлению ошибки определения CUDA-устройств

Иногда при попытке запустить программу, использующую многопотоковые вычисления (например, майнер), появляется сообщение об отсутствии CUDA-устройств, например:

CUDA device not found

Подобная проблема может возникнуть и на новых, и на старых видеокартах, причем в разных операционных системах, включая Linux-подобные.

Как избавиться от ошибки CUDA device not found?

Перед поиском причин ошибки CUDA device not found нужно убедиться, что видеокарта, установленная на компьютере, поддерживается программой, которая выдает ошибку.

Иногда может возникнуть ситуация, когда пользователь пытается запустить новый майнер на устаревшей (с точки зрения разработчика) видеокарте. В этом случае проблему можно решить компиляцией майнера под нужную версию CUDA (при наличии исходного кода), либо использовать другой, совместимый майнер.

В дистрибутивах Windows и в OS с Linux-ядром проблема с определением CUDA-устройтсв обычно успешно решается с помощью повторной установки нужных драйверов, желательно с полной очисткой от предыдущих. Дополнительно можно вручную инсталлировать CUDA Toolkit, соответствующий установленной версии драйверов или новее.

Тем не менее, в некоторых, особенно тяжелых случаях такие манипуляции не помогают и система упорно отказывается признавать наличие видеокарты, способной производить compute-вычисления.

Пример отображения информации в программе GPU-Z на компьютере с видеокартой Nvidia GT710 (ОС Windows 8.1, драйвера успешно установлены), но CUDA-устройства пребывают в состоянии невидимости:

Для решения проблемы можно предпринять следующие шаги:

  • проверить в диспетчере устройств установку драйверов для всех устройств (отсутствие восклицательных знаков или ошибок);
  • запуск программы осуществлять от имени администратора (не из гостевого аккаунта);
  • поставить совместимые драйвера более новой версии после очистки от предыдущих с помощью программы DDU (Display Driver Uninstaller);
  • на компьютер дополнительно установить другой видеоакселератор и поставить драйвер;
  • установить видеокарту в другой слот PCI-E материнской платы или райзер;
  • включить видимость CUDA-устройства с помощью переменной окружения CUDA_VISIBLE_DEVICES (об этом ниже по тексту);
  • отключить функцию PCI Express Native Control Feature. Для этого нужно выполнить из-под админа консольную команду:

перезагрузить систему и заново установить драйвера

  • произвести переустановку операционной системы.

Иногда перечисленные ухищрения не срабатывают и, хотя видеокарта Nvidia успешно определяется операционной системой, видна в диспетчере задач Windows, она не работает как CUDA-устройство.

При загрузке этого же компьютера с операционной системой на Linux-ядре (xubuntu 18.04), видеокарта успешно работает, производя многопотоковые вычисления при майнинге.

Исходя из успешной работы видеокарты в ОС Linux, можно сделать предположение, что она исправна и на компьютере используются правильные настройки BIOS. Вероятно, решение проблемы с невидимостью CUDA связано с конфигурацией конкретного дистрибутива Windows.

Как решить проблему с определением CUDA-устройств в операционной системе Windows?

Множество проблем при работе в Windows возникает из-за использования сборок, в которых была произведена «доработка напильником», осуществлено «выпиливание» ненужных компонентов и/или чрезмерная очистка от ненужных файлов.

В связи с этим, в большинстве случаев самым простым и логичным решением является использование официального дистрибутива Windows, в котором не производились изменения сторонними лицами.

Иногда, даже в случае использования официальной операционной системы Windows,но Embedded-версии, проблемы остаются. В этом случае также стоит перейти на полноценную сборку от Microsoft.

Если есть время и желание, то можно попытаться исправить ситуацию, найдя и устранив причину, по которой конкретная операционная система отказывается видеть cuda-функционал видеокарт, управляемых ею

Для этого нужно понять, как реализуются CUDA-функции на компьютере.

Как производятся многопотоковые вычисления на видеокартах Nvidia?

Для работы CUDA приложений на компьютере нужно иметь CUDA-видеокарту и драйвер дисплея NVIDIA, совместимый с CUDA Toolkit, использовавшийся при компиляции приложения (майнера):

Для обеспечения совместимости каждая версия CUDA toolkit поставляется с подходящим драйвером дисплея NVIDIA. Пакет с драйверами включает в себя user mode CUDA-драйвер (файл libcuda.so) и компоненты ядра, что позволяет обеспечить работу всех функций, поддерживаемых в конкретной версии CUDA Toolkit.

Программы, скомпилированные для более ранней версии CUDA должны успешно работать и с новыми драйверами. Приложение, скомпилированное с более поздней версией CUDA, чем та, что поддерживается драйверами, работать не будет.

Работа CUDA-программ осуществляется с помощью двух интерфейсов прикладного программирования (API):

  • высокого уровня (CUDA Runtime API);
  • низкого уровня (CUDA Driver API).

Майнер или другая программа, использующая мультипроцессоры Nvidia, работает на основе CUDA Runtime API, поверх низкого уровня CUDA-драйверов:

Вызовы runtime-кода программы транслируются в более простые инструкции, в свою очередь обрабатываемые низкоуровневым API-драйвером.

Для успешного запуска майнера или другой программы, требующей поддержки CUDA, нужно:

  • использовать драйвер, поддерживающий версию CUDA, равную или новее той, которая использовалась при компиляции;
  • обеспечить, чтобы версия CUDA runtime, установленной в системе была не старее версии CUDA-драйвера.

Если программа (майнер) скомпилирована для более новой версии CUDA, чем та, что поставляется в драйверах, то (иногда) можно повысить только версию CUDA runtime, не трогая драйверов (эта фишка доступна для версий CUDA новее 10.0):

Это длается с помощью специального «CUDA compat package» на NGC-Ready профессиональных видеокартах Nvidia, но, возможно, при «определенной сноровке», применимо и на других моделях.

Если после успешной установки драйверов программа (майнер) не видит графического ускорителя, выдавая ошибку No Nvidia CUDA GPU detected, скорее всего не срабатывает CUDA runtime (так как система видит видеокарту, то значит функция deviceQueryDrv, реализуемая драйвером API работает нормально). Возможно, проблема кроется в неправильном взаимодействии с NVML-библиотекой, которая выдает неверную информацию о неподдерживаемом GPU.

Как найти причину бага CUDA runtime, приводящего к ошибке no usable mining devices found?

Детектирование наличия CUDA-capable GPU производится через библиотеку cudart (файлы cudart.dll, cudart_static.lib, cudadevrt.lib.dll в Windows) с помощью функции cudaGetDeviceCount() из состава CUDA Runtime API.

Она выдает ошибку cudaErrorNoDevice если в системе отсутствуют совместимые устройства или используется неподходящий драйвер (ошибка cudaErrorInsufficientDriver).

В случае использования компьютеров с видеокартами Nvidia, поддерживающими разные версии CUDA, могут возникнуть проблемы, связанные с их совместимостью. В связи с этим рекомендуется делать сборку компьютеров (майнинг ригов) с одинаковыми видеокартами (на одной архитектуре), а также использовать драйвера, соответствующие видеокарте (ее Compute Capability).

Таблица соответствия драйверов, версии Compute Capability и архитектуры видеокарт Nvidia:

Для выяснения причины, по которой система прячет от прикладных программ CUDA устройства, нужно изучить всю доступную информацию об установленных видеокартах Nvidia, драйверах и т. д.

В Windows очень удобно для изучения информации о видеокарте использовать программы GPU-Z или Некоторую информацию о старых видеокартах nVIDIA Geforce, Quadro и Tesla в Windows, Linux и Mac OSX можно получить утилитой cuda-z. В большинстве систем можно использовать штатную консольную утилиту nvidia-smi. Она позволяет получать следующую информацию:

  • количество ECC ошибок за текущую сессию и за все время работы GPU;
  • загруженность GPU с точки зрения compute ресурсов и памяти;
  • активные compute процессы их названием/ID и выделенной им GPU памятью;
  • частота GPU и текущий уровень performance state (pstate);
  • температура и частота вращения вентиляторов видеокарты;
  • потребляемая мощность;
  • идентификационные данные о драйверах, графическом адаптере, включая его серийный номер, PCI device Ids, версия VBIOS и т.д.

Обычно утилита nvidia-smi.exe устанавливается в папку

где имя каталога nvdm* различается в зависимости от используемых драйверов/системы.

В старых ОС, например, в Windows 8.1 с драйверами 445.87, программа nvidia-smi находится в папке C:\Program Files\NVIDIA Corporation\NVSMI:

Запуск программы nvidia-smi.exe в Windows можно производить из ее каталога с помощью простейшего батника (для удобства пользователя можно использовать ярлык на рабочем столе):

При запуске такого bat-файла (без дополнительных ключей) можно получить информацию об установленных драйверах и поддерживаемой версией CUDA, например:

Как видно на приведенном в качестве примера рисунке, nvidia-smi видит видеокарту, драйвер и поддерживаемую версию CUDA, но в колонке Process name (она отвечает за compute-процессы) отображается надпись Not Supported. При этом игры на этой видеокарте работают (например, World of Tanks), а майнеры не видят CUDA-устройства (появляется ошибка no devices).

В этом случае, наверное, лучше перейти на другой, более послушный дистрибутив операционной системы.

Проблемы с видимостью устройств CUDA иногда могут возникнуть в случае неверной конфигурации переменных окружения.

Как управлять видимостью видеокарт Nvidia с помощью конфигурации окружения?

Видимостью CUDA устройств можно управлять с помощью переменной окружения CUDA_VISIBLE_DEVICES. Она позволяет исключить или включить в поле зрения прикладной программы видеокарты с помощью командной строки вида:

в которой перечисляются только видимые программой видеокарты.

Эту команду нужно использовать до запуска основной программы вместе с другими переменными окружения, например, в скрипте Linux, следующим образом:

В Windows эту команду можно использовать в батнике майнера следующим образом:

Вам также может понравиться

Что за зверь CPU Affinity и с чем его едят при майнинге

2 августа, 2020

Как отправить транзакцию при ошибке Error: Returned error: intrinsic gas too low

23 марта, 2020

Pytorch says that CUDA is not available (on Ubuntu)

I’m trying to run Pytorch on a laptop that I have. It’s an older model but it does have an Nvidia graphics card. I realize it is probably not going to be sufficient for real machine learning but I am trying to do it so I can learn the process of getting CUDA installed.

I have followed the steps on the installation guide for Ubuntu 18.04 (my specific distribution is Xubuntu).

My graphics card is a GeForce 845M, verified by lspci | grep nvidia :

I also have gcc 7.5 installed, verified by gcc —version

And I have the correct headers installed, verified by trying to install them with sudo apt-get install linux-headers-$(uname -r) :

I then followed the installation instructions using a local .deb for version 10.1.

Now, when I run nvidia-smi , I get:

and I run nvcc -V I get:

I then performed the post-installation instructions from section 6.1, and so as a result, echo $PATH looks like this:

echo $LD_LIBRARY_PATH looks like this:

and my /etc/udev/rules.d/40-vm-hotadd.rules file looks like this:

After all of this, I even compiled and ran the samples. ./deviceQuery returns:

and ./bandwidthTest returns:

But after all of this, this Python snippet (in a conda environment with all dependencies installed):

Does anybody have any idea about how to resolve this? I’ve tried to add /usr/local/cuda-10.1/bin to etc/environment like this:

And restarting the terminal, but that didn’t fix it. I really don’t know what else to try.

EDIT — Results of collect_env for @kHarshit

wfgeo's user avatar

7 Answers 7

PyTorch doesn’t use the system’s CUDA library. When you install PyTorch using the precompiled binaries using either pip or conda it is shipped with a copy of the specified version of the CUDA library which is installed locally. In fact, you don’t even need to install CUDA on your system to use PyTorch with CUDA support.

There are two scenarios which could have caused your issue.

You installed the CPU only version of PyTorch. In this case PyTorch wasn’t compiled with CUDA support so it didn’t support CUDA.

You installed the CUDA 10.2 version of PyTorch. In this case the problem is that your graphics card currently uses the 418.87 drivers, which only support up to CUDA 10.1. The two potential fixes in this case would be to either install updated drivers (version >= 440.33 according to Table 2) or to install a version of PyTorch compiled against CUDA 10.1.

To determine the appropriate command to use when installing PyTorch you can use the handy widget in the "Install PyTorch" section at pytorch.org. Just select the appropriate operating system, package manager, and CUDA version then run the recommended command.

In your case one solution was to use

which explicitly specifies to conda that you want to install the version of PyTorch compiled against CUDA 10.1.

For more information about PyTorch CUDA compatibility with respect drivers and hardware see this answer.

Edit After you added the output of collect_env we can see that the problem was that you had the CUDA 10.2 version of PyTorch installed. Based on that an alternative solution would have been to update the graphics driver as elaborated in item 2 and the linked answer.

No cuda driver found как исправить

veranika55

Иногда при попытке запустить программу, использующую многопотоковые вычисления, такой как майнер, появляется сообщение об отсутствии 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 pciexpress forcedisable

перезагрузить систему и заново установить драйвера

  • произвести переустановку операционной системы.

Если после указанных мер ошибка остается, то скорее всего проблема в самой операционной системы, которая возможно установлена некорректно или используется ее пиратская версия.

Множество проблем при работе в Windows возникает из-за использования сборок, в которых была осуществлена «ручная доработка», произведено удаление ненужных компонентов и/или чрезмерная очистка от ненужных файлов для оптимизации работы компьютера.

В данном случае, часто самым простым и логичным решением является использование официального дистрибутива Windows, в котором не производились изменения сторонними лицами.

Иногда, в случае использования официальной операционной системы Windows,но Embedded-версии, проблемы остаются. В этом случае стоит перейти на полноценную сборку от Microsoft.

Включение ядер NVIDIA CUDA в программах

как включить cuda на видеокарте nvidia

Перед тем как активировать вычислительные мощности ядер CUDA, необходимо установить специальное программное обеспечение от компании-производителя.

  1. Перейдя по предложенной выше ссылке, выберите операционную систему – «Windows» (наш пример) или «Linux». как включить cuda на видеокарте nvidia-1
  2. Архитектура доступна только одна – «x86_64», она устанавливается автоматически. Дополнительно требуется указать конкретную версию Виндовс – поддерживаются как серверные, так и 10, и 11. как включить cuda на видеокарте nvidia-2

Этап 2: Включение CUDA

Включить рассматриваемую технологию разом для всех программ не получится – необходимо её выбирать либо перед началом работы, либо в процессе, либо перед непосредственно вычислением. Использование данного средства покажем на примере программы Adobe After Effects последней версии.

  1. Запустите Афтер Эффектс и выберите пункты «Файл»«Создать»«Создать проект». как включить cuda на видеокарте nvidia-9
  2. После создания проекта снова воспользуйтесь элементом «Файл», только на этот раз укажите «Настройки проекта». как включить cuda на видеокарте nvidia-10
  3. На вкладке «Рендеринг и эффекты видео» в меню «Использовать» должен быть пункт «Ускорение Mercury с использованием ГП (CUDA)» – выберите его и нажмите «ОК».

Драйвер cuda не найден amd

О проблемах, приводящих к появлению ошибки определения CUDA-устройств

Иногда при попытке запустить программу, использующую многопотоковые вычисления (например, майнер), появляется сообщение об отсутствии CUDA-устройств, например:

CUDA device not found

Подобная проблема может возникнуть и на новых, и на старых видеокартах, причем в разных операционных системах, включая Linux-подобные.

Как избавиться от ошибки CUDA device not found?

Перед поиском причин ошибки CUDA device not found нужно убедиться, что видеокарта, установленная на компьютере, поддерживается программой, которая выдает ошибку.

Иногда может возникнуть ситуация, когда пользователь пытается запустить новый майнер на устаревшей (с точки зрения разработчика) видеокарте. В этом случае проблему можно решить компиляцией майнера под нужную версию CUDA (при наличии исходного кода), либо использовать другой, совместимый майнер.

В дистрибутивах Windows и в OS с Linux-ядром проблема с определением CUDA-устройтсв обычно успешно решается с помощью повторной установки нужных драйверов, желательно с полной очисткой от предыдущих. Дополнительно можно вручную инсталлировать CUDA Toolkit, соответствующий установленной версии драйверов или новее.

Тем не менее, в некоторых, особенно тяжелых случаях такие манипуляции не помогают и система упорно отказывается признавать наличие видеокарты, способной производить compute-вычисления.

Пример отображения информации в программе GPU-Z на компьютере с видеокартой Nvidia GT710 (ОС Windows 8.1, драйвера успешно установлены), но CUDA-устройства пребывают в состоянии невидимости:

Для решения проблемы можно предпринять следующие шаги:

  • проверить в диспетчере устройств установку драйверов для всех устройств (отсутствие восклицательных знаков или ошибок);
  • запуск программы осуществлять от имени администратора (не из гостевого аккаунта);
  • поставить совместимые драйвера более новой версии после очистки от предыдущих с помощью программы DDU (Display Driver Uninstaller);
  • на компьютер дополнительно установить другой видеоакселератор и поставить драйвер;
  • установить видеокарту в другой слот PCI-E материнской платы или райзер;
  • включить видимость CUDA-устройства с помощью переменной окружения CUDA_VISIBLE_DEVICES (об этом ниже по тексту);
  • отключить функцию PCI Express Native Control Feature. Для этого нужно выполнить из-под админа консольную команду:

перезагрузить систему и заново установить драйвера

  • произвести переустановку операционной системы.

Иногда перечисленные ухищрения не срабатывают и, хотя видеокарта Nvidia успешно определяется операционной системой, видна в диспетчере задач Windows, она не работает как CUDA-устройство.

При загрузке этого же компьютера с операционной системой на Linux-ядре (xubuntu 18.04), видеокарта успешно работает, производя многопотоковые вычисления при майнинге.

Исходя из успешной работы видеокарты в ОС Linux, можно сделать предположение, что она исправна и на компьютере используются правильные настройки BIOS. Вероятно, решение проблемы с невидимостью CUDA связано с конфигурацией конкретного дистрибутива Windows.

Как решить проблему с определением CUDA-устройств в операционной системе Windows?

Множество проблем при работе в Windows возникает из-за использования сборок, в которых была произведена «доработка напильником», осуществлено «выпиливание» ненужных компонентов и/или чрезмерная очистка от ненужных файлов.

В связи с этим, в большинстве случаев самым простым и логичным решением является использование официального дистрибутива Windows, в котором не производились изменения сторонними лицами.

Иногда, даже в случае использования официальной операционной системы Windows,но Embedded-версии, проблемы остаются. В этом случае также стоит перейти на полноценную сборку от Microsoft.

Если есть время и желание, то можно попытаться исправить ситуацию, найдя и устранив причину, по которой конкретная операционная система отказывается видеть cuda-функционал видеокарт, управляемых ею

Для этого нужно понять, как реализуются CUDA-функции на компьютере.

Как производятся многопотоковые вычисления на видеокартах Nvidia?

Для работы CUDA приложений на компьютере нужно иметь CUDA-видеокарту и драйвер дисплея NVIDIA, совместимый с CUDA Toolkit, использовавшийся при компиляции приложения (майнера):

Для обеспечения совместимости каждая версия CUDA toolkit поставляется с подходящим драйвером дисплея NVIDIA. Пакет с драйверами включает в себя user mode CUDA-драйвер (файл libcuda.so) и компоненты ядра, что позволяет обеспечить работу всех функций, поддерживаемых в конкретной версии CUDA Toolkit.

Программы, скомпилированные для более ранней версии CUDA должны успешно работать и с новыми драйверами. Приложение, скомпилированное с более поздней версией CUDA, чем та, что поддерживается драйверами, работать не будет.

Работа CUDA-программ осуществляется с помощью двух интерфейсов прикладного программирования (API):

  • высокого уровня (CUDA Runtime API);
  • низкого уровня (CUDA Driver API).

Майнер или другая программа, использующая мультипроцессоры Nvidia, работает на основе CUDA Runtime API, поверх низкого уровня CUDA-драйверов:

Вызовы runtime-кода программы транслируются в более простые инструкции, в свою очередь обрабатываемые низкоуровневым API-драйвером.

Для успешного запуска майнера или другой программы, требующей поддержки CUDA, нужно:

  • использовать драйвер, поддерживающий версию CUDA, равную или новее той, которая использовалась при компиляции;
  • обеспечить, чтобы версия CUDA runtime, установленной в системе была не старее версии CUDA-драйвера.

Если программа (майнер) скомпилирована для более новой версии CUDA, чем та, что поставляется в драйверах, то (иногда) можно повысить только версию CUDA runtime, не трогая драйверов (эта фишка доступна для версий CUDA новее 10.0):

Это длается с помощью специального «CUDA compat package» на NGC-Ready профессиональных видеокартах Nvidia, но, возможно, при «определенной сноровке», применимо и на других моделях.

Если после успешной установки драйверов программа (майнер) не видит графического ускорителя, выдавая ошибку No Nvidia CUDA GPU detected, скорее всего не срабатывает CUDA runtime (так как система видит видеокарту, то значит функция deviceQueryDrv, реализуемая драйвером API работает нормально). Возможно, проблема кроется в неправильном взаимодействии с NVML-библиотекой, которая выдает неверную информацию о неподдерживаемом GPU.

Как найти причину бага CUDA runtime, приводящего к ошибке no usable mining devices found?

Детектирование наличия CUDA-capable GPU производится через библиотеку cudart (файлы cudart.dll, cudart_static.lib, cudadevrt.lib.dll в Windows) с помощью функции cudaGetDeviceCount() из состава CUDA Runtime API.

Она выдает ошибку cudaErrorNoDevice если в системе отсутствуют совместимые устройства или используется неподходящий драйвер (ошибка cudaErrorInsufficientDriver).

В случае использования компьютеров с видеокартами Nvidia, поддерживающими разные версии CUDA, могут возникнуть проблемы, связанные с их совместимостью. В связи с этим рекомендуется делать сборку компьютеров (майнинг ригов) с одинаковыми видеокартами (на одной архитектуре), а также использовать драйвера, соответствующие видеокарте (ее Compute Capability).

Таблица соответствия драйверов, версии Compute Capability и архитектуры видеокарт Nvidia:

Для выяснения причины, по которой система прячет от прикладных программ CUDA устройства, нужно изучить всю доступную информацию об установленных видеокартах Nvidia, драйверах и т. д.

В Windows очень удобно для изучения информации о видеокарте использовать программы GPU-Z или Некоторую информацию о старых видеокартах nVIDIA Geforce, Quadro и Tesla в Windows, Linux и Mac OSX можно получить утилитой cuda-z. В большинстве систем можно использовать штатную консольную утилиту nvidia-smi. Она позволяет получать следующую информацию:

  • количество ECC ошибок за текущую сессию и за все время работы GPU;
  • загруженность GPU с точки зрения compute ресурсов и памяти;
  • активные compute процессы их названием/ID и выделенной им GPU памятью;
  • частота GPU и текущий уровень performance state (pstate);
  • температура и частота вращения вентиляторов видеокарты;
  • потребляемая мощность;
  • идентификационные данные о драйверах, графическом адаптере, включая его серийный номер, PCI device Ids, версия VBIOS и т.д.

Обычно утилита nvidia-smi.exe устанавливается в папку

где имя каталога nvdm* различается в зависимости от используемых драйверов/системы.

В старых ОС, например, в Windows 8.1 с драйверами 445.87, программа nvidia-smi находится в папке C:\Program Files\NVIDIA Corporation\NVSMI:

Запуск программы nvidia-smi.exe в Windows можно производить из ее каталога с помощью простейшего батника (для удобства пользователя можно использовать ярлык на рабочем столе):

При запуске такого bat-файла (без дополнительных ключей) можно получить информацию об установленных драйверах и поддерживаемой версией CUDA, например:

Как видно на приведенном в качестве примера рисунке, nvidia-smi видит видеокарту, драйвер и поддерживаемую версию CUDA, но в колонке Process name (она отвечает за compute-процессы) отображается надпись Not Supported. При этом игры на этой видеокарте работают (например, World of Tanks), а майнеры не видят CUDA-устройства (появляется ошибка no devices).

В этом случае, наверное, лучше перейти на другой, более послушный дистрибутив операционной системы.

Проблемы с видимостью устройств CUDA иногда могут возникнуть в случае неверной конфигурации переменных окружения.

Как управлять видимостью видеокарт Nvidia с помощью конфигурации окружения?

Видимостью CUDA устройств можно управлять с помощью переменной окружения CUDA_VISIBLE_DEVICES. Она позволяет исключить или включить в поле зрения прикладной программы видеокарты с помощью командной строки вида:

в которой перечисляются только видимые программой видеокарты.

Эту команду нужно использовать до запуска основной программы вместе с другими переменными окружения, например, в скрипте Linux, следующим образом:

В Windows эту команду можно использовать в батнике майнера следующим образом:

Графический драйвер amd не установлен или функционирует неправильно

Пользователи компьютеров с графическими картами от AMD могут однажды встретиться с сообщением «Графический драйвер amd не установлен или функционирует неправильно». Очень часто подобная ситуация возникает когда на компьютере представлены две графические карты – встроенная и дискретная, а также в ситуации, когда к определённой операционной системе на данную видеокарту не существует драйверов. В этой статье я расскажу, что за ошибка «Графический драйвер amd не установлен», опишу вызывающие её причины, а также поясню, как её исправить.

Сущность ошибки «Графический драйвер amd не установлен»

Как видно из самого текста ошибки, речь в данном случае идёт о дисфункции драйвера к графической карте AMD компьютера, при этом сама карта в диспетчере устройств «подсвечивается» восклицательным знаком, гласящим о проблемах в работе устройства.

Проблемы с драйвером

Обычно ошибка может возникнуть как внезапно, так и вполне закономерно, в ситуации, когда пользователь пробует установить к своей графической карте не соответствующий ей драйвер (например, предназначенный для другой операционной системы).

Также проблема «Графический драйвер amd не установлен или функционирует неправильно» может возникнуть в ситуации наличия на компьютере пользователя двух карт – встроенной и дискретной. При попытке обновить драйвера к своей дискретной карте пользователь и может встретиться с ошибкой.

Как исправить ошибку «Графический драйвер amd не установлен или функционирует неправильно»

Итак, чтобы избавиться от ошибки необходимо выполнить следующие шаги:

  • Деинсталлируйте драйвера к видеокарте АМД в безопасном режиме. Загрузитесь в безопасном режиме (англ. Safe mode), зайдите в Диспетчер устройств, выберите категорию «Видеоадаптеры». Нажмите правой клавишей на название вашей видеокарты от AMD, выберите «Свойства», перейдите к вкладке «Драйвер» и кликните на «Удалить». Перегрузите ваш компьютер, система сама поищет и установит нужный драйвер;
  • Если предыдущий совет не помог, тогда вновь удалите все драйвера ATI, а затем попробуйте самостоятельно установить свежий драйвер. Для полного удаления драйверов используйте такие инструменты как Driver Swepper или Display Driver Uninstaller, а для установки самых свежих драйверов может пригодиться утилита от AMD под названием AMD Driver Auto Detect или утилита DriverEasy;
  • Работайте только со стабильной и испытанной версией операционной системы, всяческие кастомные и совсем свежие сборки могут грешить ошибками, и не только описываемой в данной статье. Если у вас неизвестный кастомный вариант ОС, тогда стоит подумать над установкой на ПК более стабильной версии;
  • Используйте драйвера только под соответствующую ОС. Не надейтесь, что драйвер для видеокарты под OС Windows 7 будет стабильно работать на ОС Windows XP. В большинстве случаев драйвера в такой ситуации если и работают, то весьма некорректно;
  • При наличии у вас двух видеокарт (встроенной и дискретной) сначала удалите все драйвера к ним. Затем сначала установите драйвер на интегрированную видеокарту, потом отключите её в Диспетчере устройств, а затем установите и драйвер к дискретной карте (вручную, без автоматических программ). Перезагрузите ваш ПК, ошибка No AMD graphics driver is installed может быть решена;
  • Установите Microsoft Visual C++ 2005 SP1 Redistributable Patch. Если у вас в системе установлен Microsoft Visual Studio 2005, то инсталляция данного SP1 может исправить описываемую мной ошибку. После установки перезагрузите ПК;
  • Если у вас до сих пор драйвер работал стабильно, то выполните откат системы на предыдущую точку восстановления. Нажмите на кнопку «Пуск», в строке поиска наберите «Восстановление системы» и кликните на полученный результат сверху. Выберите точку восстановления, при которой проблем с драйвером не наблюдалось, и откатите систему на предыдущее состояние.

Заключение

Стоит отметить, что ошибка No AMD graphics driver is installed появляется достаточно часто именно на компьютерах с двумя видеокартами. В подобной ситуации достаточно удалить драйвера к ним, а затем выполнить поочерёдную установку свежих драйверов сначала для встроенной, а потом и для дискретной видеокарты. Если же этот способ не помог исправить ошибку «Графический драйвер amd не установлен или функционирует неправильно», стоит попробовать все предложенные мной варианты, все они доказали свою валидность и эффективность у разных категорий пользователей.

install cuda module fails to find cuda driver library

I’m trying to install Manuel Chakravarty’s accelerate module, but having some trouble with the cuda dependency.

I have installed both the CUDA developer driver and the CUDA toolkit from nvidia. To wit:

installing the cuda cabal module fails like this:

So I tried specifying the path:

But that fails the same way.

Any suggestions on what I should try next?

nont's user avatar

3 Answers 3

This error usually indicates that configure was not able to find the CUDA library objects. Specifically, you probably have to set LD_LIBRARY_PATH in addition to using —extra-include_dirs and —extra-lib-dirs . Try the following,

You didn’t specify which system you are using. If you are in a 64-bit Linux system, you may have to use /usr/local/cuda/lib64 instead of /usr/local/cuda/lib .

The answer didn’t work for me on Ubuntu 13.10 but the following did (seems to depend strongly on how the nvidia driver was installed, in my case via the nvidia-319 package)

of course YMMV and ideally the installer would be modified to look in places where the cuda libraries should be.

To build as libary

Right Click->Properties->Build->Setting-Build Artifact->Dropdown to choose Shared/Static library

Difference between Shared / Static library

Now to include this library, copy the library to the project you want it and put it in a libs folder at the same level as the src level. Note, I am assuming that you have a src folder.

On this project

in the -l area add name of library without the prefix lib and without the suffix .so

in the -L area add ../libs , remember its 2 dots since the current folder is src , not the root of the project �� YEAH, I tried ./libs for 1 hours before trying out ../libs

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

ethereum-mining / ethminer Public archive

No cuda driver found with AMD #903

No cuda driver found with AMD #903

Comments

2 rx 480s. Here is the error:

The text was updated successfully, but these errors were encountered:

I don’t think so. Just running ./ethminer by default gives this message

If you have a shell or bash script, try adding the arguments: -X —opencl-devices 0,1,2,3 .
You may need to alternate the numbers to the corresponding indices of the graphics cards.

Thanks, got it to work with that

How do I do it in Windows?
I have an AMD R7 360 and the same problem happens to me.

How do I do it in Windows?
I have an AMD R7 360 and the same problem happens to me.

I’m having that problem with r270! 😛 Anyone can help me? Windows 10 64 bits

¿Cómo lo hago en Windows?
Tengo una AMD R7 360 y me pasa el mismo problema.

¡Tengo ese problema con r270! : P ¿Alguien me puede ayudar? Windows 10 de 64 bits

Pudieron resolverlo? tengo el mismo problema

ethminer 0.19.0-alpha.0
Build: darwin/release/appleclang

Unrecognized platform Apple
CUDA Error : No CUDA driver found
Error: No usable mining devices found

AMD Radeon Pro 580X 8

¿Cómo lo hago en Windows?
Tengo una AMD R7 360 y me pasa el mismo problema.

¡Tengo ese problema con r270! : P ¿Alguien me puede ayudar? Windows 10 de 64 bits

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *