Stephane JOLY

GNU/Linux Home Pages


J'ai souhaité activé OpenCl avec un GPU Nvidia pour accélérer le fonctionnement des logiciels Darktable et gimp dev, cependant, cela n'est pas si simple quand on ne sait pas comment faire !

Pour ma part, j'utilise le pilote propriétaire pour cette carte :
VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 760] (rev a1)

Il faut juste installer et activer OpenCL et quelques autres outils  :

# pacman -S opencl-nvidia libclc ocl-icd

Après redémarrage de xorg, rien ne semble avoir changé

$ ls -l /dev/nvidia*

crw-rw-rw- 1 root root 195,   0  4 févr. 14:15 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255  4 févr. 14:15 /dev/nvidiactl
crw-rw-rw- 1 root root 195, 254  4 févr. 14:15 /dev/nvidia-modeset


Et pourtant, si vous lancer Darktable dans un terminal :

$ darktable -d opencl


Le résultat suivant devrait apparaître :

[opencl_init] opencl related configuration options:
[opencl_init]
[opencl_init] opencl: 1
[opencl_init] opencl_library: ''
[opencl_init] opencl_memory_requirement: 768
[opencl_init] opencl_memory_headroom: 300
[opencl_init] opencl_device_priority: '*/!0,*/*/*'
[opencl_init] opencl_mandatory_timeout: 200
[opencl_init] opencl_size_roundup: 16
[opencl_init] opencl_async_pixelpipe: 0
[opencl_init] opencl_synch_cache: 0
[opencl_init] opencl_number_event_handles: 25
[opencl_init] opencl_micro_nap: 1000
[opencl_init] opencl_use_pinned_memory: 0
[opencl_init] opencl_use_cpu_devices: 0
[opencl_init] opencl_avoid_atomics: 0
[opencl_init]
[opencl_init] found opencl runtime library 'libOpenCL'
[opencl_init] opencl library 'libOpenCL' found on your system and loaded
[opencl_init] found 1 platform
[opencl_init] found 1 device
[opencl_init] device 0 `GeForce GTX 760' has sm_20 support.
[opencl_init] device 0 `GeForce GTX 760' supports image sizes of 16384 x 16384
[opencl_init] device 0 `GeForce GTX 760' allows GPU memory allocations of up to 499MB
[opencl_init] device 0: GeForce GTX 760



Deux nouveaux fichiers spéciaux (device) ont étés crées lorsque vous aurez lancé Gimp ou Darktable avec OpenCl d'activé :

$ ls -l /dev/nvidia*


crw-rw-rw- 1 root root 195,   0  4 févr. 14:15 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255  4 févr. 14:15 /dev/nvidiactl
crw-rw-rw- 1 root root 195, 254  4 févr. 14:15 /dev/nvidia-modeset
crw-rw-rw- 1 root root 242,   0  4 févr. 14:16 /dev/nvidia-uvm
crw-rw-rw- 1 root root 242,   1  4 févr. 14:16 /dev/nvidia-uvm-tools


En fait, les applications ayant recourt à OpenCl chargent le module nvidia-uvm qui crée ces fichiers spéciaux.

Après quelques tests, cela accélère considérablement mes deux logiciels préférés sur certains calculs ! :)

Voilà, j'espère que cela aura permis de solutionner votre problème !

Classé dans : Non classé

Mots clés : linux, darktable, archlinux, gimp, opencl, GPGPU, accelération


Écrire un commentaire

Capcha
Entrez le code de l'image