Activer OpenCL dans darktable

L’utilisation d’OpenCL dans darktable nécessite que votre PC soit équipé d’une carte graphique adaptée et que les bibliothèques requises soient installées. Les cartes graphiques modernes de NVIDIA, Intel ou AMD prennent en charge complètement OpenCL. Le compilateur OpenCL fait normalement partie du pilote graphique propriétaire ; il est utilisé sous la forme d’une bibliothèque dynamique appelée libOpenCL.so. Cette bibliothèque doit se trouver dans un répertoire qui puisse être trouvé par l’éditeur dynamique de liens de votre système.

Quand darktable démarre, il va d’abord essayer de trouver et de charger libOpenCL.so et, en cas de succès, vérifier que la carte graphique disponible prend en charge OpenCL. Une quantité de mémoire graphique suffisante (1 Go+) doit être disponible afin de tirer parti du GPU. Si ce contrôle réussit, darktable va essayer de configurer son environnement OpenCL : un contexte de traitement doit être initialisé, un pipeline de calcul doit être démarré. Les fichiers du code source d’OpenCL (d’extension .cl) doivent être lus et compilés et les routines incluses (noyaux d’OpenCL) doivent être préparées pour les modules de darktable. Une fois tout ceci effectué avec succès, la préparation est terminée.

Par défaut OpenCL est activé dans darktable si toutes les étapes ci-dessus se sont terminées avec succès. Si vous désirez le désactiver vous pouvez le faire dans l’onglet Préférences >Traitement > OpenCL. Ce paramètre de configuration vous indique aussi si l’initialisation d’OpenCL a échoué : il est grisé dans ce cas.

À tout moment vous pouvez activer et désactiver la prise en charge d’OpenCL sans que cela nécessite un redémarrage. En l’activant, selon le type de modules que vous utilisez, vous remarquerez une accélération générale lors du travail interactif et lors de l’exportation. La plupart des modules de darktable peuvent tirer parti d’OpenCL, mais tous les modules ne sont pas assez exigeants pour que vous constatiez une différence notable quand OpenCL est activé. Afin de ressentir une réelle différence, utilisez des modules comme Diffusion ou netteté, et [Réduction bruit (profil)](../.. /module-reference/processing-modules/denoise-profiled.md).

Si vous êtes intéressé par les valeurs de profilage, vous pouvez lancer darktable avec les paramètres de la ligne de commande -d opencl -d perf. Après chaque exécution du pipeline graphique, vous allez obtenir l’allocation détaillée du temps d’exécution de chaque module avec un profil encore plus fin pour tous les noyaux OpenCL utilisés.

En dehors de l’accélération, vous ne devriez voir aucune différence dans les résultats entre le traitement CPU et GPU. À l’exception de quelques erreurs d’arrondi, les résultats sont conçus pour être identiques. Si, pour une raison quelconque, darktable ne parvient pas à terminer correctement un calcul GPU, il détectera normalement l’échec et reviendra automatiquement (et de manière transparente) au traitement CPU.

translations