darktable page lede image
darktable page lede image

Come attivare OpenCL in darktable

10.2.3. Come attivare OpenCL in darktable

Per usare OpenCL in darktable dovrete assicurarvi che il vostro PC abbia una scheda grafica idonea con tutte le sue librerie al loro posto. Virtualmente tutte le schede video recenti di NVIDIA e AMD sono completamente compatibili con OpenCL. Il compilatore OpenCL solitamente viene fornito insieme ai drivers della scheda e viene usato come se fosse una libreria dinamica chiamata «libOpenCL.so». Questa libreria si deve trovare in una cartella dove il caricatore dinamico del vostro sistema sia in grado di trovarla.

Quando darktable viene avviato cerca e carica libOpenCL.so e - se vi riesce - verifica che la vostra scheda grafica sia compatibile. Affinché si possa beneficiare della GPU è anche necessaria una minima quantità di memoria (1GB+). Se anche questo requisito viene rispettato darktable inizia a configurare l'ambiente OpenCL: deve inizializzare un contesto di processamento, avviare una pipeline di calcolo, il codice sorgente di OpenCL (files con estensione .cl) deve essere letto e compilato e le routines incluse (chiamate kernel OpenCL) devono essere preparate per i moduli di darktable. Se tutto questo va a buon fine il sistema è pronto.

Per default OpenCL support is activated in darktable if all the above steps were successful. If you want to de-activate it you can do so in «core options» (Sezione 8.8, «Cpu / gpu / memory») by unchecking «cpu / gpu / memory». This configuration parameter also tells you if OpenCL initialization failed: it is greyed out in that case.

Potete attivare o disattivare il supporto ad OpenCL in qualsiasi istante e le modifiche avranno effetto immediatamente. In base al tipo di moduli che state utilizzando noterete un generale aumento delle prestazioni durante il lavoro interattivo e l'operazione di esportazione. La maggior parte dei moduli di darktable traggono vantaggio da OpenCL ma non tutti sono così esosi di risorse da evidenziarlo in modo evidente. Per sperimentare una grossa differenza a livello prestazionale provate i moduli ombre e alte luci, nitidezza, passa-basso, passa-alto oppure, ancora più estremi, equalizzatore e riduzione rumore (profilato).

Se vi interessa analizzare dei numeri potete avviare darktable dalla linea di comando con i parametri «-d opencl -d perf». Dopo ogni ciclo del flusso di sviluppo riceverete una descrizione dettagliata del tempo di esecuzione di ogni modulo più un profilo ancora più preciso con tutti i kernel OpenCL che sono stati utilizzati.

A parte la velocità non dovreste vedere nessuna differenza di risultato tra un'elaborazione fatta con la CPU e/o GPU. Tranne gli errori di arrotondamento i risultati saranno identici. Se, per qualche motivo, darktable non dovesse riuscire a portare a termine in modo corretto un calcolo con la GPU se ne accorgerà e, automaticamente ed in modo trasparente, lo eseguirà con la CPU.