Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
support opencl
#1
bonjour,

J'essaie de voir si je peux faire ce qu'il faut pour que Darktable utilise OpenCL.

system Fedora26, machine Dell latitude 5480
lspci ->

00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)
02:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 930MX] (rev a2)

Je n'ai pas installé le driver de nvidia: quand j'essaie il gueule apres Nouveau, et ensuite quand je vais sur la toile,
je tombe sur l'histoire d'optimus, bumblebee, puis PRIME Avant de mettre le souc sur mon installation, je voulais voir
si les progres de fedora n'avait pas déjà fait ce qu'il faut.

j'ai quand même tapé dnf install mesa-libOpenCL.x86_64, et dnf install opencl-headers.noarch

clinfo trouve 3 platforms:
 Platform Name                                   Intel Gen OCL Driver
Number of devices                                 1
  Device Name                                     Intel® HD Graphics Kabylake Halo GT2
  Device Vendor                                   Intel
  Device Vendor ID                                0x8086
  Device Version                                  OpenCL 2.0 beignet 1.3
  Driver Version                                  1.3
  Device OpenCL C Version                         OpenCL C 2.0 beignet 1.3
  Device Type                                     GPU
  Device Available                                Yes
......
 Platform Name                                   Clover
Number of devices                                 1
  Device Name                                     NV118
  Device Vendor                                   NVIDIA
  Device Vendor ID                                0x10de
  Device Version                                  OpenCL 1.1 Mesa 17.2.4
  Driver Version                                  17.2.4
  Device OpenCL C Version                         OpenCL C 1.1
  Device Type                                     GPU
....
 Platform Name                                   Portable Computing Language
Number of devices                                 1
  Device Name                                     pthread-Intel® Core™ i7-7820HQ CPU @ 2.90GHz
  Device Vendor                                   GenuineIntel
  Device Vendor ID                                0x8086
  Device Version                                  OpenCL 2.0 pocl HSTR: pthread-x86_64-unknown-linux-gnu-haswell
  Driver Version                                  0.14
  Device OpenCL C Version                         OpenCL C 2.0
  Device Type                                     CPU, Default
  Device Available                                Yes
  Device Profile                                  FULL_PROFILE

Je suis un peu surprise de trouver ca,
1/ je ne savais pas que la carte HD intel pouvait faire de l'opencl, j'ai executé un code test calcul
ca marche mais je ne peux plus bouger la souris, ca manque un peu d'interet.
2/ NVIDIA Geforce 930MX , le machine mesa a l'air de fair ele job, mais ca ne marche pas
3/ Core™ i7-7820HQ CPU @ 2.90GHz, ca m'a l'air un peu debile ?

Je m'apprete à virer les icd, de 1 et 3, mais je n'arrive pas a trouver les requirements de Darktable,
sur les versions/implementations d'OpenCL et les cartes graphiques supportées.

Quelqu'un a-t-il l'exprerience sur ce genre de machine ?


Merci

Clo
Fedora 39, EOS 7D2, TG6 - DT master, hyper simple à installer 3 lignes de commandes.
https://www.flickr.com/photos/130141985@N04/
Répondre
#2
C'est le bazar dans ton post, donc probablement dans ta tête.

1 - ton laptop possède manifestement un système Nvidia Optimus à 2 cartes graphiques : une puce intégrée sur le processeur Intel (peu gourmande en énergie, peu performante) et une vraie carte Nvidia dédiée.
2 - pour faire fonctionner OpenCL, tu as besoin impérativement du pilote propriétaire Nvidia, qui doit blacklister le driver libre Nouveau quand tu l'installes (il empêche le noyau de le charger au démarrage).
3 - pour bénéficier de l'allumage à la demande de la carte graphique Nvidia, tu as besoin de bbswitch-dkms (module du noyau Linux) et d'une interface qui permet de le contrôler (soit nvidia-prime, soit bumblebee-nvidia avec le backend virtualgl ou primus). nvidia-prime charge la carte graphique pour toutes la session (tout l'environnement graphique du bureau), bumblebee charge la carte graphique seulement pour les applications sélectionnées (qu'on lance avec la commande "optirun darktable", par exemple), dans un serveur graphique virtuel, ce qui peut potentiellement entraîner une meilleure performance. Tu peux aussi choisir d'avoir la carte graphique Nvidia allumée tout le temps par défaut (si la batterie n'est pas un problème), auquel cas le pilote Nvidia suffit (pas besoin de bbswitch et de ses interfaces).

Les requis de DT pour l'OpenCL sont dans le manuel (comme d'habitude) : https://www.darktable.org/usermanual/fr/...ystem.html

Activer l'OpenCL sur processeur Intel est possible mais n'apporte rien en terme de performances, voire les dégrade. L'intérêt de l'OpenCL est de pouvoir envoyer du calcul arbitraire sur carte graphique, qui contient 140 à 600 cœurs et embarque une architecture spéciale, différente de celle des processeurs, donc requérant une logique de programmation différente. Le code de darktable (sans OpenCL) est déjà optimisé pour les processeurs 2 à 8 cœurs, pas besoin d'ajouter une couche intermédiaire pour ça. L'intérêt de la compatibilité Intel/OpenCL sort du cadre de ce que fait darktable. D'ailleurs, par défaut, darktable est configuré pour ne pas utiliser les périphériques OpenCL non GPU quand ils sont présents.

En principe, sous Ubuntu/Debian, il est possible d'avoir Nouveau et Nvidia installés simultanément, c'est au niveau des fichiers de configuration que Nouveau est blacklisté lors de la configuration du paquet Nvidia. Ceci dit, je n'ai pas d'expérience sous Fedora, donc je ne sais pas comment réagit le gestionnaire de paquets.

Enfin, je ne suis pas spécialiste, mais il me semble que Mesa est l'implémentation libre d'OpenGL, soit une librairie de rendu 3D, donc rien à voir avec ce qu'on cherche à faire ici (darktable fait du calcul matriciel).
Aurélien, photographe portraitiste, spécialiste calcul.
Développeur de filmique, égaliseur de tons, balance couleur, etc.
darktable est mon métier, pensez à m'aider :
[Image: 2FAd4rc]
Répondre
#3
(29-01-18, 02:19)aurelienpierre a écrit : C'est le bazar dans ton post, donc probablement dans ta tête.

Oui, et je te remercie pour les informations, j'ai déjà installé ce qu'il fallait pour OpenCL sur plusieurs machines, je mélange un peu.
J'ai donc commencé par le driver NVIDIA, je lutte un peu, je vous tiendrai au courant, quand j'ai réussi.

Merci
Fedora 39, EOS 7D2, TG6 - DT master, hyper simple à installer 3 lignes de commandes.
https://www.flickr.com/photos/130141985@N04/
Répondre
#4
Il faut nvidia-opencl-icd, nvidia-modprobe nvidia-opencl-common libnvidia-ptxjitcompiler pour l'OpenCL. Avec cela tu devrais tirer les dépendances et avoir une installation qui marche. (clinfo et darktable-cltest sont tes amisSmile
--
Pascal - GNU/Debian (sid) - version darktable git/master
http://photos.obry.net
Répondre
#5
(29-01-18, 22:06)pascal a écrit : Il faut nvidia-opencl-icd, nvidia-modprobe nvidia-opencl-common libnvidia-ptxjitcompiler pour l'OpenCL. Avec cela tu devrais tirer les dépendances et avoir une installation qui marche. (clinfo et darktable-cltest sont tes amisSmile

nvidia-opencl-dev et opencl-headers aussi il me semble.
Aurélien, photographe portraitiste, spécialiste calcul.
Développeur de filmique, égaliseur de tons, balance couleur, etc.
darktable est mon métier, pensez à m'aider :
[Image: 2FAd4rc]
Répondre
#6
(29-01-18, 22:13)aurelienpierre a écrit :
(29-01-18, 22:06)pascal a écrit : Il faut nvidia-opencl-icd, nvidia-modprobe nvidia-opencl-common libnvidia-ptxjitcompiler pour l'OpenCL. Avec cela tu devrais tirer les dépendances et avoir une installation qui marche. (clinfo et darktable-cltest sont tes amisSmile

nvidia-opencl-dev et opencl-headers aussi il me semble.

Ces trucs s'installent quand on installe le driver de NVDIA ? Ce ne sont pas des pakages ?
Fedora 39, EOS 7D2, TG6 - DT master, hyper simple à installer 3 lignes de commandes.
https://www.flickr.com/photos/130141985@N04/
Répondre
#7
ce sont des packages, et il me semble qu'ils ne sont pas installés par défaut par le driver Nvidia
Aurélien, photographe portraitiste, spécialiste calcul.
Développeur de filmique, égaliseur de tons, balance couleur, etc.
darktable est mon métier, pensez à m'aider :
[Image: 2FAd4rc]
Répondre
#8
(29-01-18, 23:23)aurelienpierre a écrit : ce sont des packages, et il me semble qu'ils ne sont pas installés par défaut par le driver Nvidia

Bonsoir/bonjour,

J'ai fini par y arriver, j'ai donc 2 cartes graphiques, celle integrée , et la nvidia à coté.

Avec les conseils plus haut:
- je n'ai pas besoin d'économiser la batterie, je me contente donc de faire l'installation avec ./NVIDIA .... .run

J'ai suivi les instructions la:
https://www.if-not-true-then-false.com/2...dia-guide/

soucis rencontrés:
- sous fedora, il faut retirer Nouveau( cf site if !1 0)
- par défault, l'installation met 3 trucs inutiles dans /etc/OpenCL/vendors/*icd, on doit les virer, ou désinstaller les paquets qui les ont mis
- mon dell etait installé avec un secure boot, l'installation du driver NVIDIA complique pour une histoire de signature, j'ai fait disable secureboot
- le truc Dkms ? qui permet de ne pas perdre le driver si update de noyau ne fonctionne pas, j'ai dit non à l'install.

Je n'ai pas installé tous les packages ci-dessus. Seulement ceux décrits sur le site if !1 0

J'ai réussi a démarré darktable, et activer l'utilisation d'opencl sur la carte nvidia , par contre je n'ai pas réussi à faire
d’opérations qui me démontre l'utilité de la chose. Mais bon il me reste à apprendre darktable.

Merci pour votre aide
Fedora 39, EOS 7D2, TG6 - DT master, hyper simple à installer 3 lignes de commandes.
https://www.flickr.com/photos/130141985@N04/
Répondre
#9
Ok, tant mieux si ça marche. Par contre sans le dkms, à chaque mise à jour de noyau, tu vas perdre ton interface graphique et il faudra réexecuter le .run en mode console. Tu sauras faire ?
Aurélien, photographe portraitiste, spécialiste calcul.
Développeur de filmique, égaliseur de tons, balance couleur, etc.
darktable est mon métier, pensez à m'aider :
[Image: 2FAd4rc]
Répondre
#10
(30-01-18, 22:07)aurelienpierre a écrit : Ok, tant mieux si ça marche. Par contre sans le dkms, à chaque mise à jour de noyau, tu vas perdre ton interface graphique et il faudra réexecuter le .run en mode console. Tu sauras faire ?

oui, je l'ai fait pour l'installer, et lors de ratée de l'installation. Merci.
Fedora 39, EOS 7D2, TG6 - DT master, hyper simple à installer 3 lignes de commandes.
https://www.flickr.com/photos/130141985@N04/
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 3 visiteur(s)