CUDA Нет совместимой ошибки устройства в Ubuntu 11.10/12.04

Я уже некоторое время пытаюсь настроить среду Ubuntu на своем ноутбуке для программирования CUDA. В настоящее время я загружаю Windows 8 и Ubuntu 12.04 с двойной загрузкой и хочу установить CUDA 5 на Ubuntu.

В ноутбуке установлена ​​графическая карта GeForce GT 640M (полные характеристики см. ниже). Это карта Оптимус.

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

Я перепробовал множество руководств всех форм и размеров, в том числе это учебник. Процесс установки показывает установку драйвера устройства и установку Toolkit, а также сбой образцов, но когда я иду тестировать простую программу Vector Add CUDA в NSight, возникает ошибка «Нет совместимого устройства CUDA».

Ubuntu Details также по-прежнему показывает «Неизвестно» для графики.

Предложения?

Характеристики ноутбука: Acer V3-771G Intel Core i7 2670QM nVidia GeForce GT 640M 2 ГБ — Optimus 16 ГБ DDR3-1600 RAM 120 ГБ SSD + 500 ГБ HDD + 32 ГБ кэш-памяти SSD


person medge    schedule 07.11.2012    source источник


Ответы (4)


Поскольку это устройство Optimus, необходимо выполнить некоторые дополнительные действия, чтобы использовать графический процессор nvidia. Хотя в этом нет необходимости, я предлагаю вам использовать программу-обертку шмеля, потому что это самое простое решение.

После того, как вы установили оболочку шмеля, вы можете запускать свои программы с помощью optirun programname или запускать оболочку с активированной картой nvidia: optirun bash --login

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

Если вы не заботитесь о времени автономной работы и просто хотите, чтобы CUDA всегда была включена без переноса команд, вы можете загрузить модуль ядра nvidia, а затем создать необходимые узлы устройств вручную:

mknod /dev/nvidia0 c 195 0
mknod /dev/nvidiactl c 195 255

(Этот расширенный метод позволяет запускать программы cuda из консоли без запуска Xorg, например, при подключении SSH к машине без работающего X-сервера.)

См. также https://askubuntu.com/questions/131506/how-can-i-get-nvidia-cuda-or-opencl-working-on-a-laptop-with-nvidia-discrete-car для более подробное обсуждение.

person Joakim Nohlgård    schedule 07.11.2012
comment
Эврика! Следуя инструкциям по предоставленной вами ссылке, удаление драйверов nvidia и установка Bumblebee позволили мне идентифицировать графическое оборудование. (Подробности Ubuntu говорят, что Intel Sandy Bridge Mobile) выдача команды optirun nsight позволила nsight найти GPU! Большое спасибо! - person medge; 08.11.2012
comment
День спасен. Хотел бы я найти ваш ответ быстрее! - person alap; 05.10.2013

Попробуйте выполнить команду sudo apt-get install mesa-utils.

Посмотрите, распознается ли графика, а затем попробуйте установить cuda.

Если не распознается с первой командой, попробуйте:

sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current
person dreamcrash    schedule 07.11.2012

Сначала установите следующие библиотеки и инструменты:

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

Затем мы внесем в черный список некоторые модули (драйверы), в терминале введите:

sudo gedit /etc/modprobe.d/blacklist.conf

Добавьте следующее в конец файла (по одному на строку):

blacklist amd76x_edac
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

Сохраните файл и закройте редактор. Теперь мы хотим избавиться от любых рисидуалов nvidia в терминале:

sudo apt-get remove --purge nvidia*

Далее вам нужно перезагрузить компьютер (sudo reboot).

0) Нажмите Ctrl+Alt+F1 на экране входа в систему (вам не нужно входить в систему, нам все равно придется перезапустить позже), затем войдите в систему.

1) sudo service lightdm stop

2) cd Downloads

3) chmod +x devdriver*.run (имя файла вашего драйвера)

4) sudo ./devdriver*.run

Возможно, вам придется запустить программу установки драйверов один раз, перезагрузиться (она удалит новые драйверы) и повторить шаги снова. Следуйте инструкциям установщика, и все будет в порядке, когда он спросит вас; да, вам нужны 32-битные библиотеки, и вы ДЕЙСТВИТЕЛЬНО хотите изменить файл xorg.conf.

После завершения установки перезапустите (sudo reboot). Вы закончили:]

Чтобы установить SDK и Toolkit, выполните шаги 3 и 4 с загруженными файлами. (.run)

person Fr34K    schedule 07.11.2012
comment
Это почти точные шаги, описанные в ссылке на учебник, которую я предоставил, в которой описывается, что я уже пробовал. Хотя спасибо за ответ :] - person medge; 08.11.2012

Теоретически драйверы, включенные в CUDA 5.5, должны изначально поддерживать Optimus (а также отладку одного графического процессора для ноутбуков без Optimus). Я еще не пробовал, потому что жду ноутбук Compute 3.5 Optimus, чтобы он поддерживал рекурсию ядра и HyperQ. Теоретически HP Envy 15t-j000 имеет версию GK208 GT 740m, но я бы предпочел форм-фактор ультрабука, такой как грядущий Acer S3-392 с GT 735m. Ребята из NVIDIA из GTC заверили меня, что Optimus должен работать с CUDA 5.5 RC. Я нашел это «Руководство по началу работы с CUDA для Linux», выпущенное в этом месяце, в котором представлены некоторые флаги для правильной установки драйверов Optimus:

http://www.google.com/url?q=http://developer.download.nvidia.com/compute/cuda/5_5/rc/docs/CUDA_Getting_Started_Linux.pdf

Также больше информации о чипах GK208 и Compute 3.5 в ноутбуках:

https://devtalk.nvidia.com/default/topic/546357/sounds-like-gk208-laptops-cards-will-support-most-sm_35-features/

Кому-нибудь повезло с ноутбуками CUDA 5.5 и Optimus под Linux?

person Rob    schedule 26.07.2013