activando opencl en darktable
El uso de OpenCL en darktable requiere que su PC esté equipada con una tarjeta gráfica adecuada y que tenga instaladas las bibliotecas necesarias. La mayoría de las tarjetas gráficas modernas de NVIDIA y AMD vienen con soporte completo para OpenCL. El compilador OpenCL normalmente se envía como parte del controlador de gráficos propietario y se usa como una biblioteca dinámica llamada libOpenCL.so
. Esta biblioteca debe estar en una carpeta donde la pueda encontrar el enlazador dinámico de su sistema.
Cuando se inicie darktable, primero intentará encontrar y cargar libOpenCL.so
y, si tiene éxito, comprobará si la tarjeta gráfica disponible viene con soporte OpenCL. Debe haber una cantidad suficiente de memoria gráfica (1GB +) disponible para que darktable aproveche la GPU. Si esa verificación pasa, darktable intenta configurar su entorno OpenCL: se debe inicializar un contexto de procesamiento, se debe iniciar una canalización de cálculo, se deben leer y compilar los archivos de código fuente OpenCL (la extensión es .cl
) y las rutinas incluidas (Kernels OpenCL) deben estar preparados para los módulos de darktable. Si todo eso se completa con éxito, la preparación está completa.
De forma predeterminada, el soporte de OpenCL está activado en darktable si todos los pasos anteriores fueron exitosos. Si desea desactivarlo, puede hacerlo en preferencias> procesamiento> cpu / gpu / memoria. Este parámetro de configuración aparece atenuado si falla la inicialización de OpenCL.
Puede activar y desactivar la compatibilidad con OpenCL en cualquier momento sin necesidad de reiniciar. Dependiendo del tipo de módulos que esté utilizando, notará el efecto como una aceleración general durante el trabajo interactivo y la exportación. La mayoría de los módulos en darktable pueden aprovechar OpenCL, pero no todos los módulos son lo suficientemente exigentes como para marcar una diferencia notable. Para sentir una diferencia real, use módulos como sombras y luces, enfoque, paso bajo, paso alto o incluso más extremos ecualizador de constraste y reducción de ruido (perfilado).
Si está interesado en las estadísticas de creación de perfiles, puede iniciar darktable con los parámetros de la línea de comandos -d opencl -d perf
. Después de cada ejecución del pixelpipe, se le mostrarán detalles del tiempo de procesamiento de cada módulo más un perfil aún más detallado para todos los kernels OpenCL usados.
Aparte de la aceleración, no debería ver ninguna diferencia en los resultados entre el procesamiento de la CPU y la GPU. Excepto por algunos errores de redondeo, los resultados están diseñados para ser idénticos. Si, por alguna razón, darktable no completa correctamente un cálculo de GPU, normalmente detectará el error y automáticamente (y de forma transparente) recurrirá al procesamiento de la CPU.