Domande e risposte con ArcSoft

Test - Schede video dedicate, processori e APU: scopriamo come si comporta l'hardware AMD con l'OpenCL.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Domande e risposte con ArcSoft

Total Media Theater di ArcSoft è uno dei software più conosciuti nella riproduzione di video su PC e la funzionalità SimHD all'interno dell'applicazione, che migliora i video con l'upscaling della risoluzione e altre funzioni, è stata tra le prime beneficiarie dell'accelerazione hardware via GPU. Kam Shek, direttore del marketing tecnico di ArcSoft, ha risposto ad alcune nostre domande sul passaggio dell'azienda all'accelerazione OpenCL.

Copyright 2006, Blender Foundation / Netherlands Media Art Institute / www.elephantsdream.org

Tom's Hardware: molte persone non apprezzano la spesa e il duro lavoro richiesto dai produttori di hardware per uniformarsi al software di prossima generazione. Ovviamente, i produttori di hardware grafico hanno interesse nella diffusione di OpenCL. Come si è tradotto questo interesse per ArcSoft?

Kam Shek: ci sono un paio di cose che abbiamo fatto nell'ottimizzazione del nostro software. Per AMD nello specifico abbiamo aggiunto il supporto per la logica di decodifica a funzione fissa UVD 3 che include l'accelerazione hardware per il profilo MPEG-4 ASP [Advanced Simple]. Abbiamo inoltre la nostra tecnologia SimHD, che è nel cuore del nostro upscaler. Abbiamo recentemente portato tutto questo in linguaggio OpenCL. In passato, abbiamo usato ATI Stream, ma circa sei mesi fa, abbiamo iniziato ad adottare il nuovo standard industriale, lavorando con le aziende su tutto ciò.

TH: Perché avete deciso di supportare OpenCL?

KS: Perché OpenCL offre un ambiente eterogeneo, il che significa che possiamo programmare su OpenCL senza pensare se quell'algoritmo funzioni poi su CPU o GPU. Il risultato è che possiamo avere un bilanciamento superiore delle risorse del sistema quando programmiamo il nostro algoritmo tra i due.

TH: Nel passaggio dagli approcci proprietari Stream e CUDA a OpenCL, quali vantaggi vedete nella nuova tecnologia rispetto alla vecchia?

KS: Uno dei più importanti è che OpenCL è uno standard aperto. ATI Stream era proprietario. Il secondo è che OpenCL ci permette di scalare meglio tra CPU e GPU. Permettetemi di spiegare un po' di più che cosa facciamo con SimHD. È qualcosa di più dell'upscaling e al suo interno ha più unità di calcolo. Una è per lo scaling ma poi c'è anche quella per la cancellazione del rumore (denoise), il deblocking, affinamento, illuminazione dinamica, etc.

Quindi alcuni degli algoritmi funzionano per natura meglio sulla CPU. Per esempio, se c'è uno switching, che avviene frequentemente con l'illuminazione dinamica, questo avviene con maggiore efficienza sulla CPU. Per quanto riguarda i calcoli in virgola mobile ad alta precisione, quelli sono gestiti meglio dalla GPU. Quindi abbiamo progettato il nostro algoritmo in modo che gestisse le informazioni per farle passare tra i diversi core, bilanciando il tutto di conseguenza.

TH: Avete un valore del rapporto di ottimizzazione tra CPU e GPU?

KS: Sul nostro sistema AMD l'uso della CPU cala di circa il 10% e quello della GPU aumenta di circa il 20%.

TH: Quindi aumenta l'uso della GPU del 20% e scarica la CPU di un 10% del carico?

KS: Direi dal 15% al 20%, sì, ma dovrei guardare per trovare il numero esatto.

TH: Ci sono delle considerazioni che devono essere fatte quando si programma per una APU rispetto a una GPU dedicata?

KS: Prima di eseguire l'algoritmo, facciamo una richiesta delle capacità della grafica. Se il core dedicato ha più stream processor disponibili, allora l'algoritmo funzionerà sfruttando tale risorsa. Ma in generale, è lo stesso. Non abbiamo bisogno di un binario diverso per la grafica discreta e la APU. Comunque, come ho detto, la GPU è migliore per molti calcoli in virgola mobile, ad alta precisione. La versione della CPU di questi algoritmi non offre una precisione così alta. L'algoritmo per la GPU è molto più complesso di quello per la CPU, quindi offre una migliore precisione.