Le future versioni dei programmi inclusi nella Creative Suite di Adobe richiederanno macOS 10.12 Sierra o versioni seguenti del sistema operativo. È una scelta precisa, dice Adobe nel suo blog, spiegando che sfruttando tecnologie intrinseche presenti da questa versione del sistema operativo del Mac in poi è possibile massimizzare le performance di applicazioni audio e video.
È ancora possibile eseguire applicazioni Adobe su macOS 10.12 e seguenti usando la tecnologia di accelerazione OpenCL ma Metal offre un miglioramento in termini di prestazioni misurabili dal 15% al 20% nel rendering e per questo Adobe raccomanda di usare i sistemi operativi più recenti.
OpenCL e CUDA sono i nomi di due framework software pensati per scopi simili: sfruttare al massimo le unità di elaborazione grafica (GPU) per accelerare alcune attività liberando il processore (CPU) da compiti oltre il rendering grafico, potenzialità offerte da architetture altamente parallelizzabili delle moderne GPU (GPGPU).
Tradizionalmente i dati possono passare dalla CPU alla GPU; quest’ultima può occuparsi del rendering dei dati ma non può ripassare le informazioni indietro. Un meccanismo bidirezionale tipo consente di migliorare enormemente l’efficienza nell’esecuzione di vari task legati alla manipolazione di immagini e video. Se l’applicazione che utilizziamo supporta tecnologie OpenCL o CUDA – e il nostro computer integra una GPU in grado di sfruttare queste tecnologie – è possibile ottenere grandi miglioramenti in termini di performance.
Differenze tra OpenCL e CUDA
OpenCL (Open Computing Language, tradotto in italiano “linguaggio di calcolo aperto”) è un framework originariamente proposto da Apple, successivamente ratificato dalla stessa assieme le principali aziende del settore (Intel, NVIDIA, AMD), e infine portato a compimento dal consorzio no-profit Khronos Group.
CUDA (acronimo di Compute Unified Device Architecture) è un’architettura hardware per l’elaborazione parallela creata da NVIDIA. Sfruttando specifici strumenti di sviluppo, i programmatori possono scrivere applicazioni capaci di eseguire calcolo parallelo sulle GPU delle schede video NVIDIA.
Semplificando: AMD supporta OpenCL e Nvidia supporta il suo framework proprietario. Quali applicazioni supportano l’uno e l’altro framework? Qui le cose diventano più complicate: alcune supportano OpenCL, altre CUDA, altre tutte e due, altre ancora nessuna delle due.
Metal 2
Metal è l’ultima versione di una tecnologia proprietaria che Apple propone per sfruttare le GPU. Mette a disposizione API perfezionate e prestazioni superiori che aiutano gli sviluppatori a rendere le proprie app ancora più scattanti. Introduce il supporto per l’apprendimento automatico usato nel riconoscimento vocale, nell’elaborazione del linguaggio naturale e nella computer vision e consente, tra le altre cose, di sfruttare GPU esterne (mediante box collegati alla porta Thunderbolt 3).
Adobe spiega che per usare la tecnologia CUDA di Nvidia (la versione 9.2) con le schede video esterne è necessario installare macOS 10.13.6 o versioni seguenti. Per sfruttare CUDA serve una scheda Nvidia con almeno 4GB di RAM e specifici driver Nvidia (i link sono presenti sul post di Adobe).