J’essaie de configurer manuellement OpenCl sans pour autant réussir à voir des changements…
Je suis sur Windows 10 1803 64 bits avec Darktable 2.4.4. Et pour la partie matériel j’ai un Intel i5 6300-HQ et un GPU Nvidia 950M.
Malgré la documentation pour définir les paramètres d’OpenCl en manuel mon PC continue toujours d’utiliser presque uniquement le CPU. Pourtant lorsque je démarre Darktable j’ai bien mon GPU Nvidia qui se met en marche sans être utilisé !
Je me demande donc si je fais des erreurs lors de la configuration ou bien que Darktable juge mon CPU plus rapide que le GPU.
Merci d’avance à tous ceux qui essayeront de m’aider
Une autre commande possible est « darktable-cltest ». Elle me ressort aucune erreur, tous les modules se chargent correctement et ma configuration de priorité des cartes est elle aussi reconnu.
Eh bien soit il n’est pas utilisé ou soit pas très bien utilisé : en chargeant pleins de modules demandant des ressources pour faire des tests, je m’aperçois que c’est presque toujours le processeur qui est utilisé, le GPU intégré est un peu demandé et le GPU Nvidia n’est pratiquement pas utilisé. De plus, activer ou désactiver OpenCl dans les réglages ne change pas la durée des temps de traitement.
Après, est-ce qu’en activant OpenCl on remarque un réel gain sur les temps de calculs ou bien cela reste assez négligeable ?
ton processeur a 4 cœurs. Ta carte graphique en a 640. Techniquement ça devrait diviser le temps de traitement par au moins 2.
Il se peut qu’une mauvaise config de l’OpenCL (notamment l’utilisation de la mémoire) entraîne une exécution par défaut sur le CPU (quelque chose du genre « fallback on CPU » dans la sortie de debug).
J’ai pourtant essayé de faire attention à toutes les options de configuration et il ne devrait pas y avoir de problème.
Pour faire un essai j’ai installé Ubuntu 18.04 sur mon PC, configurer tout ce qu’il fallait pour OpenCl et encore une fois pas de gain de temps entre OpenCl activé ou non. J’avais lancé darktable avec l’option -d opencl et aucun problème n’était à constater, la carte graphique était bien choisie par darktable.
Je commence à me demander si le fait d’avoir une carte graphique pour PC portable (donc moins puissante) fait qu’il n’y a pas de différence entre utiliser OpenCl ou seulement utiliser le CPU.
Peux-tu poster ton fichier darktable.rc ? Et la sortie de darktable -d opencl ? Parce que typiquement, on attend une amélioration de 2 à 5 fois suivant les config. J’ai déjà eu ce type de problème, et j’y ai passé un temps infini, mais c’était les réglages qui posaient problème. Ce qui est long, c’est de tester chaque changement pour comprendre ce qui se passe.
En gros, ce que je soupçonne, c’est que dt demande plus de mémoire que ton GPU n’en dispose, et que du coup la charge de calcul passe sur le CPU. Mais c’est juste une intuition.
Après, est-ce qu’en activant OpenCl on remarque un réel gain sur les temps de calculs ou bien cela reste assez négligeable ?
C’est le jour et la nuit pour moi avec mes RAW de 36Mpix.
[hr]
Une possibilité, as-tu installé Beignet? Si oui, supprime pour n’utiliser que OpenCL sur Nvidia.
Pour la suite je vais continuer à utiliser Ubuntu 18.04 car avec la version Windows je n’ai pas l’option -d opencl.
Donc sous Ubuntu je n’ai que la carte Nvidia qui est disponible, elle est donc reconnu avec le numéro 0 pour OpenCl. De plus tous les modules sont correctement chargés.
Au niveau de la configuration les paramètres de base ont l’air d’être suffisant car c’est bien le GPU qui est choisi lors du traitement de l’image principal (en ayant abaissé ou non la mémoire minimale requise). A la fermeture de darktable, les logs indiquent que tous les événements ont réussis sur le GPU.