CUDA, “spremere” la scheda video



Come tutti sapete fino a pochi anni fa la potenza di una macchina era dipendente “solamente” dalla frequenza di clock del suo processore. Questa però è cresciuto tanto da incontrare apparenti limiti fisici, spesso si è visto bypassabili.

Le soluzioni alternative implementate fino ad oggi hanno sempre coinvolto la CPU (moltiplicazione dei core, ampliamento dei bus, …) . Considerando comunque queste opzioni valide e migliorabili, da qualche tempo si è accompagnato a questo trend una nuova filosofia di pensiero: visto che la CPU è sempre sovraccarica, perchè non demandare le operazioni ad altre entità, ove la natura delle operazioni stesse lo consenta? Ed è verso questo obiettivo che lavorano tutti i giorni gli ingegneri delle maggiori case costruttrici di schede video.

In particolare, quelli di nVidia hanno messo a punto una soluzione che per certi versi apre infinite porte, tanto ai programmatori, quanto alle industrie. A questa è stato dato il nome di CUDA (Compute Unified Device Architecture) .

Tramite CUDA si vuole fornire a chiunque un linguaggio di programmazione basato sul C, specifico per una certa architettura di schede video, ovviamente della casa costruttrice di Santa Clara.

In questo modo si vuol permettere a chiunque di scrivere (o di scaricare da internet) il proprio codice, in modo da sfruttare al meglio le potenzialità della propria GPU. Gli ambienti dove utilizzare questa nuova tecnologia comprendono, oltre ai classici ambienti grafici quali giochi, fotoritocco, etc., anche i più svariati ambiti nei quali un calcolo parallelo fa salire le prestazioni esponenzialmente. Viene subito da pensare a quello scientifico, medico, ma anche economico e statistico.

Analizzando nel dettaglio il funzionamento di CUDA, si vede come alla solita fase di compilazione può seguire un passo di verifica del codice intermedio (PTX) , in modo da analizzarlo e modificarne eventuali colli di bottiglia. Da questo, poi, si passa al codice finale eseguibile.

La casa americana promette prestazioni da capogiro. Ciò che è certo è che è stata posizionata la pietra miliare di un campo di sviluppo di cui probabilmente sentiremo molto parlare.

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
  • Ma quali processori sfrutta? Della scheda video o del pc?

  • lucaf

    Sfrutta ovviamente il processore della scheda video, che ha capacità notevoli di calcolo vettoriale e parallelo. Per questo è applicabile con successo anche ad ambiti (scientifico, medico, statistico,…) diverso da quello grafico.

Pinterest