Nvidia CUDA, Гибридная Графика, optirun vglrun, deviceQuery Разрешение отклонена

Введение

Я пытаюсь получить CUDA, работающий над моим гибридным графическим ноутбуком. Я использую (l) человечность 15.04.

В настоящее время я выполнял некоторые шаги в руководстве онлайн, которое я объясню ниже, и я могу работать optirun glxspheres64 без проблем. Однако, когда я работаю optirun ./deviceQuery Я получаю следующую ошибку:

/usr/bin/vglrun: 246: exec: ./deviceQuery: Permission denied

Кажется, нет никакой информации об этом онлайн.

Деталь

Руководство, за которым я следовал, здесь. Я не выполнял все шаги точно, поскольку это теперь довольно старо, и Nvidia изменили формат, в котором они поставляют их .run файлы.

Я сделал следующее: (Это является прямым из моего history команда.)

15  sudo apt-add-repository ppa:bumblebee/stable
16  sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
17  sudo apt-get update 
18  sudo apt-get install bumblebee
19  sudo apt-get install bumblebee bumblebee-nvidia 
20  sudo reboot

Затем войдите в tty1, остановите X-сервер и init 3.

21  cd Downloads/
22  chmod +x cuda_7.5.18_linux.run 
23  sudo ./cuda_7.5.18_linux.run

Установите пакет выполнения со всеми опциями по умолчанию, также установите версию 352 графического драйвера.

Затем настройте переменную ПУТИ.

25  export PATH=/usr/local/bin:$PATH
26  export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
27  sudo ldconfig

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

Затем некоторый материал, очевидно, требует OpenGL, таким образом:

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

Скомпилируйте образцы:

30  cd NVIDIA_CUDA-7.5_Samples/
31  make

Затем я попытался работать ./deviceQuery, который является в каталоге Utilities. Я получил ошибку, о которой я ранее видел прежде bumblebeed не выполнение.

Так:

34  sudo vim /etc/bumblebee/bumblebee.conf 

Измените строку с Driver= (который был пробелом) к Driver=nvidia, и также строка KernelDriver=nvidia-current кому: KernelDriver=nvidia.

Эта информация доступна здесь, см. (в настоящее время) второй ответ на вопрос.

Это все еще не работало, таким образом, я попытался после информации, данной в первом ответе быть выше связанного вопроса, и установил заголовки ядрa:

48  sudo apt-get install linux-headers-generic 
49  sudo reboot

Если я делаю:

54  sudo service bumblebeed status

Я теперь добираюсь:

● bumblebeed.service - Bumblebee C Daemon
   Loaded: loaded (/lib/systemd/system/bumblebeed.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2015-10-11 13:15:07 BST; 20min ago
 Main PID: 1502 (bumblebeed)
   CGroup: /system.slice/bumblebeed.service
           └─1502 /usr/sbin/bumblebeed

Oct 11 13:16:20 P151EMx bumblebeed[1502]: [  163.019954] [WARN][XORG]....
Oct 11 13:16:20 P151EMx bumblebeed[1502]: [  163.019987] [WARN][XORG]....
Oct 11 13:16:20 P151EMx bumblebeed[1502]: [  163.020055] [WARN][XORG]....
Oct 11 13:17:11 P151EMx bumblebeed[1502]: rmmod: ERROR: Module nvidia...d
Oct 11 13:17:11 P151EMx bumblebeed[1502]: modprobe: FATAL: Error runn...a
Oct 11 13:17:22 P151EMx bumblebeed[1502]: [  225.439546] [WARN][XORG]....
Oct 11 13:17:22 P151EMx bumblebeed[1502]: [  225.439578] [WARN][XORG]....
Oct 11 13:17:22 P151EMx bumblebeed[1502]: [  225.439606] [WARN][XORG]....
Oct 11 13:17:23 P151EMx bumblebeed[1502]: rmmod: ERROR: Module nvidia...d
Oct 11 13:17:23 P151EMx bumblebeed[1502]: modprobe: FATAL: Error runn...a
Hint: Some lines were ellipsized, use -l to show in full.

Но похоже, что у меня все еще есть некоторые проблемы здесь... Его "активное" теперь, тогда как это не запустилось бы прежде, но все еще все работает правильно. По некоторым причинам я не могу добраться -l опция работать для предоставления больше информации здесь.

Когда я работаю optirun ./deviceQuery Я получаю ошибку:

/usr/bin/vglrun: 246: exec: ./deviceQuery: Permission denied

Что я должен сделать теперь?

Обновления:

Править: Для любого после этого это могла бы быть идея не сделать этот шаг. Возможно, попытайтесь установить драйвер после CUDA для предотвращения этого шага? Кажется немного ненужным установить версию драйвера 352 и затем вернуться к 304 путем выполнения следующего:

Я заметил это по связанному вопросу, команде sudo apt-get install -reinstall nvidia-current был добавлен после установки заголовков ядрa.

Я выполнил эту команду, я думаю, что мой драйвер вернулся к версии 304. Перезагруженный, теперь

sudo service bumblebeed status

дает следующий вывод:

● bumblebeed.service - Bumblebee C Daemon
   Loaded: loaded (/lib/systemd/system/bumblebeed.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2015-10-11 13:46:53 BST; 38s ago
 Main PID: 659 (bumblebeed)
   CGroup: /system.slice/bumblebeed.service
           └─659 /usr/sbin/bumblebeed

Oct 11 13:46:53 edward-P151EMx systemd[1]: Started Bumblebee C Daemon.
Oct 11 13:46:53 edward-P151EMx systemd[1]: Starting Bumblebee C Daemon...
Oct 11 13:46:53 edward-P151EMx bumblebeed[659]: [   17.073332] [INFO]/usr/sb...d
Hint: Some lines were ellipsized, use -l to show in full.

Таким образом, это, кажется, фиксируется. Все еще не может работать ./deviceQuery однако, та же ошибка:

sudo optirun ./deviceQuery
/usr/bin/vglrun: 246: exec: ./deviceQuery: Permission denied

Помогите. L@l

glxspheres все еще работает между прочим:

optirun glxspheres64

Получение ~270 кадр/с?

1
задан 13 April 2017 в 15:23

1 ответ

Я перезапустил свой компьютер снова, и ура он работает.

optirun ./deviceQuery

прибыль

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 670MX"
  CUDA Driver Version / Runtime Version          7.5 / 7.5
  CUDA Capability Major/Minor version number:    3.0
  Total amount of global memory:                 3072 MBytes (3221028864 bytes)
  ( 5) Multiprocessors, (192) CUDA Cores/MP:     960 CUDA Cores
  GPU Max Clock rate:                            601 MHz (0.60 GHz)
  Memory Clock rate:                             1400 Mhz
  Memory Bus Width:                              192-bit
  L2 Cache Size:                                 393216 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.5, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 670MX
Result = PASS

Между прочим, я подозреваю последние шаги, которые я попробовал, на самом деле не требуются, следуя за информацией в вопросе выше, пробуют не выполнение последних шагов:

  • Переустановка водителя. Я не думаю, что это должно быть необходимо. Это также раздражающее, потому что это возвращается Вы к версии значительно старше водителя. Мне было бы интересно знать, смог ли кто-либо после информации в вопросе получить CUDA, работающий, не делая этого шага.

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

  • CUDA 7.5 (или CUDA 7)

на Linux, конкретно связанное с человечностью распределение;

  • человечность, xubuntu, lubuntu, помощник человечности, kubuntu,
  • и возможно также Linux чеканит 17, монетный двор Linux 17.1 и Linux чеканит 17.2 [однако, у меня ранее были проблемы с монетным двором Linux 17, и Linux чеканят 17,2 попыток установить CUDA]
  • , возможно, одно из debian распределений (я думаю, что мы находимся на debian 8 прямо сейчас, но возможно также debian 7 или debain 6)

Это - мое намерение проверить этот ответ со всеми этими распределениями, как много руководств там в сети для подготовки CUDA для Linux или для устаревших версий Linux, или для устаревших версий CUDA.

мне потребуется некоторое время, чтобы сделать это, но я попытаюсь сделать это скоро.

кроме того, я мог бы изменить этот ответ на общественную Wiki, если кто-либо хочет способствовать ему.

Продолжают проверять на обновления. Любые комментарии, сообщенные мне, комментируя ниже.

0
ответ дан 14 April 2017 в 01:23
  • 1
    [ комментарий № 2 2] Вас упомянул несколько аргументов в пользу PAM. Важные аргументы в пользу /etc/profile.d/*.sh / ~/.profile - то, что синтаксис более прост и что lightdm/gdm являются прощающими в случае ошибок (даже, синтаксические ошибки предотвращают Вас, чтобы войти в систему, но просто привести к предупреждающим сообщениям). – Gunnar Hjalmarsson 31 December 2016 в 13:20

Другие вопросы по тегам:

Похожие вопросы: