Come far funzionare OpenCL su driver 14.10 + Nvidia 331.89?


11

I driver proprietari 331.89 non mi danno OpenCL. (ho provato entrambi i test / gli aggiornamenti) per un po 'ho avuto la versione 304.123 che ha funzionato - tranne che volevo i driver attuali e ora non sono in grado di eseguire il downgrade.

Ad ogni modo, potrei effettuare il downgrade con una soluzione alternativa, ma vorrei che 331.89 funzionasse.

Ho usato "darktable -d opencl" come test alos ha aggiunto il link simbolico a darktable, ma questo non aiuta con 331.89

Risposte:


11

Anch'io sono stato confuso da questo problema imbarazzante fino a quando non ho trovato una serie di post sul forum su Virtual Lighttable in cui i partecipanti eseguono il debug. Si scopre che i driver NVIDIA necessitano di una regola modprobe personalizzata che non è installata di default con nessuno dei due nvidia-331o con i driver opencl. Queste regole sono fornite nel nvidia-modprobepacchetto.

Ecco un elenco di tutti i pacchetti necessari per far funzionare OpenCL su Ubuntu 14.10 con i driver NVIDIA:

sudo apt-get install nvidia-331 nvidia-331-uvm nvidia-opencl-dev nvidia-modprobe

EDIT: Nel caso in cui qualcuno dovesse riscontrare un problema simile su Ubuntu 15.04 e sui driver NVIDIA 346.59, il comando per risolvere il problema è quasi identico:

sudo apt-get install nvidia-346 nvidia-346-uvm nvidia-opencl-dev nvidia-modprobe

Su Linux Mint ho riscontrato questo errore durante l'esecuzione del deviceQueryprogramma di test CUDA:optirun --bridge primus ./deviceQuery ./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) cudaGetDeviceCount returned 38 -> no CUDA-capable device is detected Result = FAIL
user3728501

2

Ubuntu 15.10

sudo apt-get install nvidia-352 nvidia-352-dev nvidia-prime nvidia-modprobe nvidia-opencl-dev
sudo ln -s /usr/include/nvidia-352/GL /usr/local/include
sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/local/lib/libOpenCL.so

Quindi compilare con:

gcc -o main main.c -lOpenCL

E usa l'intestazione come:

#include <CL/cl.h>

Appunti:

Consiglio vivamente di aggiornare alla 15.10 per farlo funzionare: non ero mai riuscito prima.

Testato su:

  • Lenovo ThinkPad T430 con NVIDIA NVS 5400M
  • Lenovo ThinkPad W540 con NVIDIA Quadro K1100M

0

Per Ubuntu 14.04 nvidia-modprobe ha incasinato il mio sistema. Ma mi sono reso conto che il nvidia-331-uvm non è attivato dall'inizio (dio sa perché). Quindi attiviamolo:

$ sudo modprobe nvidia-331-uvm
$ sudo mknod -m 666 /dev/nvidia-uvm c 249 0

E poi:

$ sudo clinfo

Quindi sarai in grado di usare opencl anche come utente non root. Perché è così è spiegato nella mailing list di Virtual Lighttable .

Quindi, ho finalmente aggiunto le righe successive nel mio /etc/rc.localfile:

# begin opencl config
modprobe nvidia-331-uvm
mknod -m 666 /dev/nvidia-uvm c 249 0
clinfo
# end opencl config 

Quindi tutto funziona senza problemi;)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.