Newsgroup: it.comp.hardware.cpu
Titolo: GPU come altra CPU

Spero di non essere OT, ma vorrei chiedere se qualcuno conosce se è 
possibile, e se si come (se ci sono librerie disponibili, tipo 
d'approccio etc), utilizzare la GPU come un'altro processore di sistema, 
a cui dare in pasto una parte di calcoli che un ipotetico programma 
dovrebbe svolgere, in modo da sveltirne il funzionamento.
E la stessa domanda vorrei porla per la RAM della scheda video.
Se non uso la scheda per giocare, per applicazioni di grafica e simili, 
che ne posso fare? Posso sfruttare quella RAM come se fosse RAM di sistema?
Non intendo chiedere se ci sono programmi che funzionano in questo modo, 
ma se ciò è possibile dal punto di vista del programmatore.
Grazie
	Manuel

 ha scritto nel messaggio
news:kWXJh.24371$zG1.2...@twister2.libero.it...

Ciao, la NVIDIA ha sviluppato un'architettura
software/hardware chiamata CUDA
- Compute Unified Device Architecture -
che puo' essere utilizzata per lo sviluppo di
applicazioni scientifiche General Purpose GPU
- 
www.gpgpu.org
.

 - 
www.gpgpu.org
.
anche la ati ha fatto qualcosa di simile con le gpu serie X1000, ad es il 
client Folding@Home
č stato ottimizzato per correre su GPU, e pur essendo beta, velocizza 
l'elaborazione di 30x rispetto ad una cpu odierna!
http://folding.stanford.edu/FAQ-ATI.html
 

Manuel ha scritto:

Non credo, a meno che tu non sia uno sviluppatore e ricompilassi ogni 
singolo programma in stile gentoo, e a patto che tali librerie siano 
pubbliche.
-- 
Flavio
www.flapane.com

 ha scritto nel messaggio
news:kWXJh.24371$zG1.2...@twister2.libero.it...

Per quanto riguarda il primo aspetto è possibile... ad esempio ci sono già
dei software che sfruttano per i cacoli GP le unità di esecuzione delle GPU
recenti. Invece per il secondo quesito credo che la cosa non è fattibile...

 ma se ciò è possibile dal punto di vista del programmatore.
Forse si, forse no... Non ho mai bazzicato directx, ma penso che 
bisognerebbe vedere la memoria delle schede video come della memoria 
espansa, cioè più come memoria di stoccaggio di dati. Alla memoria della 
scheda video non puoi accedere direttamente come fai con la memoria di 
sistema, e non può essere utilizzata per eseguire codice dal processore 
centrale, per cui sei molto limitato nel suo uso. Inoltre ci sono 
diverse variabili che entrano in gioco, soprattutto perché fra il 
programma e la scheda video si frappongono le librerie dx e i driver 
video e in ogni caso saresti costretto a spostare dati di qua e di là 
ogni volta che ti dovessero servire.

 ogni volta che ti dovessero servire.
Esatto...alla fine (ammesso che la cosa sia fattibile) non ci sarebbe molta
differenza nell' usare la memoria video piuttosto che la memoria virtuale.

 un'architettura del genere :)
Grazie per risposte.
Non è che hai qualche link da suggerirmi su quelle "poche" cose che la 
GPU sa fare?
   Manuel


Grazie, ma funziona solo per la nuova GTX 8800, io ho la geForce go7600.
   Manuel

Manuel ha scritto:

Qui passo, penso che gironzolare un po' sul sito di nvidia e ati 
dovrebbe esserti utile. Se vogliono far funzionare la cosa devono per 
forza fornire dei devkit o degli sdk e sono gli unici che possono farlo.