gpu_device

In un post precedente  è stata descritta  la classe gpu_platform, interfaccia c++ verso le platform  OpenCL; la gpu_platform incapsula un insieme di istanze della classe gpu_device, ciascuna interfaccia di uno dei device OpenCL presenti.

Tutti i device appartenenti alla stessa piattaforma condividono lo stesso context, e possono utilizzare gli stessi oggetti di memoria (gpu_buffer, gpu_image e classi derivate, come la gpu_screener, gpu_vector ecc).

Come le istanze valide delle   classi gpu_platform e gpu_context, anche quelle di gpu_device sono definite in fase di inizializzazione del namespace OPCL; Le istanze sono ottenibili attraverso la classe GPU. Di seguito è riportato un esempio di codice per ottenere l’istanza di un particolare device:

Il device di default

Se non è necessario utilizzare più device, è sufficiente ricorrere alla funzione  GPU::GetDefaultDevice ( ) per ottenere un gpu_device valido;  la funzione effettua automaticamente tutte le inizializzazioni preliminari e rimanda il device di default sulla piattaforma di default;

Le funzioni e metodi di questa classe sono usate internamente dalle altre classi del namespace OPCL, e difficilmente saranno utilizzate direttamente nella progettazione dei programmi che fanno uso di OpenCL; pertanto questa breve esposizione non propone la spiegazione delle funzioni, ma solo una informazione preliminare che sarà ripresa in prossimi articoli, nei quali si esporranno esempi di codice OpenCL e le relative interfacce c++ verso le GPU;

 

 

 

%d bloggers like this:
Skip to toolbar