Nvidia sta da tempo lavorando ad un sistema avanzato per l’elaborazione dei dati denominato GPCPU (General Purpose computation using GPU). Le schede grafiche di ultima generazione sono dotate di processori estremamente potenti, tanto che molti compiti tra i più disparati si potrebbero tranquillamente delegare ai processori delle schede video. Tali processori, infatti, sono programmabili, sfruttabili in architetture parallele e permettono di velocizzare l’esecuzione di varie operazioni in real-time.
La mancanza di uno standard di riferimento ha spinto Nvidia a creare da qualche tempo un kit di sviluppo software e un’architettura proprietaria denominata CUDA(Computer Unified Device Architecture), sfruttabile dagli sviluppatori accedendo a librerie C a hoc nelle quali sono presenti algoritmi e routine per l’interfacciamento con il processore della scheda video (GPU).
Le applicazioni che potrebbero beneficiare di questa tecnica sono tutte quelle che hanno a che fare con l’elaborazione di grandi quantità di dati: cluster di computer ad alte prestazioni, software di raytracing, applicazioni di scientific computing, operazioni su database di grandi dimensioni, cifratura dei dati, motori di simulazione fisica, elaborazioni audio/video e immagini.
Secondo varie indiscrezioni, Apple negli ultimi mesi si è molto interessata alle tecnologia CUDA e avrebbe sviluppato un’architettura avanzata che potrebbe essere presentata nel corso dell’imminente WWDC e in grado di fornire agli sviluppatori nuovi e potenti strumenti per l’elaborazione parallela.
Mac OS X già si avvantaggia automaticamente della presenza di CPU multi-core (sistema e software in grado di sfruttarle possono richiamare istruzioni simultanee), ma la possibilità di interagire con le GPU permetterebbe ai programmatori di sfruttare le performance 3D della schede video e utilizzare i processori degli shader per avanzate elaborazioni di matematica vettoriale, rivaleggiando con le più avanzate CPU ora presenti sul mercato.
[A cura di Mauro Notarianni]