PDA

View Full Version : NVIDIA promuove la GPU Computing in ambito universitario


Redazione di Hardware Upg
06-11-2008, 10:10
Link alla notizia: http://www.hwupgrade.it/news/skvideo/nvidia-promuove-la-gpu-computing-in-ambito-universitario_27073.html

Con il Fellowship Program NVIDIA supporta direttamente iniziative di ricerca in ambito universitario incentrate sulla programmazione parallela delle GPU

Click sul link per visualizzare la notizia.

Aloisiux
06-11-2008, 10:35
Probabilmente, presto AMD tornerà ad affannarsi per stare dietro al dominio NVIDIA…

Un vero peccato…

sirus
06-11-2008, 10:40
Ho partecipato alla "lezione" che David Kirk ha tenuto al Politecnico di Milano, tuttavia non mi pare che la sua proposta di avviare un corso dedicato al GPGPU sia stata accolta, almeno per il momento.

lowenz
06-11-2008, 10:40
MA VIENI! Grande PoliMI, e io che lo proponevo nel 2004!

calabar
06-11-2008, 11:00
Nvidia fa di tutto per diffondere il suo "standard" (come del resto lo ha proposto ad ati in passato), perchè sa che altrimenti verrà presto abbandonato in favore di quelli open.
Il tempo dirà se ha fatto bene o se è stato uno spreco di risorse, per quanto dubito lo sia del tutto, per lo meno in termini di ritorno pubblicitario.

demon77
06-11-2008, 11:07
Io vedo CUDA con grande favore.. spero si diffondano presto tantissime applicazioni in grado di fare uso della GPU..

Adesso mi piacerebbe un sacco un bel codec X264 per Virtualdub in grado di sfruttare la GPU!! :D
Peccato che nessuno lo abbia ancora fatto..

zanardi84
06-11-2008, 11:10
E SFRUTTIAMOLE STE GPU!!!!

Peccato che AMD sia ferma o quasi al palo.

lowenz
06-11-2008, 11:17
Da quel che mi dicono dalla regia :O :D ci sono già 10 tesi al PoliMI sul GPU Computing.....e se per caso poi si allacciassero agli applicativi più classicamente da informatici quelli di telecomunicazioni e biomedica (bioimmagini ad esempio) il gioco è fatto :)

Mparlav
06-11-2008, 11:21
Questo articolo dimostra come a volte basta un investimento tutto sommato minimo (1.6M in 6 anni sono spiccioli per un'azienda di questo tipo), per dare un supporto organico alla ricerca.
E nel frattempo Nvidia si fa' pubblicità.

Da questo punto di vista Ati, che per per prima ha introdotto il gpu computing, è stata sempre latitante. Va' bene guardare al bilancio, ma imho, esagerano. Hanno avuto questo atteggiamento anche in passato quando di soldi ne avevano ben di più.

Per fare un'esempio banale: Ati ha introdotto per prima il supporto per il Folding@home, ma adesso non fa' nulla per sviluppare il client.
Nvidia l'ha introdotto solo a luglio ed il risultato oggi è questo:
http://www.hardwaresecrets.com/article/640/5

ma ci vuole tanto a mandare un paio di programmatori a Stanford per dare supporto per quel client?

No dico, un minimo d'orgoglio.

giovannifg
06-11-2008, 11:32
Scusate l'ignoranza, ma qualcuno potrebbe con calma e ordine elencare i vantaggi di far eseguire certe operazioni alla GPU anzinchè alla CPU? E quali sono esattamente queste operazioni? A quanto ho capituo, il transcoding di video è sicuramente una di queste... ma le altre?

Mparlav
06-11-2008, 11:33
Oltre a Badaboom e Adobe Premiere CS4, è appena uscito TMPGEnc 4.0 XPress versione 4.6.2.266 con supporto CUDA 2.0.

alla pagina del produttore ci sono i test prestazionali vs cpu.

Verrà fornito in bundle con le MSI (a qualcuno potrebbe piacere di più del classico "giochino" ;-)

!fazz
06-11-2008, 11:34
Scusate l'ignoranza, ma qualcuno potrebbe con calma e ordine elencare i vantaggi di far eseguire certe operazioni alla GPU anzinchè alla CPU? E quali sono esattamente queste operazioni? A quanto ho capituo, il transcoding di video è sicuramente una di queste... ma le altre?

calcoli vettoriali e in virgola mobile in ambienti dove è possibile una parallelizzazione spinta

giovannifg
06-11-2008, 11:42
calcoli vettoriali e in virgola mobile in ambienti dove è possibile una parallelizzazione spinta

Grazie per la risposta! E questo non è possibile con le CPU? Insomma, a livello costruttivo, quali sarebbero le differenze principali? Perchè una GPU è più indicata per questo tipo di calcoli rispetto ad una CPU?:confused:

Mparlav
06-11-2008, 11:43
x giovannifg: un'articolo su CUDA dove troverai parecchie delucidazioni:
http://www.digit-life.com/articles3/video/cuda-1-p1.html

demon77
06-11-2008, 11:44
Scusate l'ignoranza, ma qualcuno potrebbe con calma e ordine elencare i vantaggi di far eseguire certe operazioni alla GPU anzinchè alla CPU? E quali sono esattamente queste operazioni? A quanto ho capituo, il transcoding di video è sicuramente una di queste... ma le altre?

Vediamo.. te lo spiego un po' semplicisticamente ma dovrebbe rendere l'idea..

La GPU e la CPU sono profondamente differenti a livello di struttura, per questa ragione la CPU è performante un po' in ogni ambito mentre invece la GPU è inservibile in determinate situazioni e potentissima in altre (mooooolto più della migliore CPU)
Diciamo che la potenza di una GPU è simile a quella di un TIR: ha un sacco di cavalli ma li tira fuori in modo diversissimo da una CPU che è come una Ferrari..

Per tal motivo determinati calcoli che consentono una esecuzione fortemente parallela vengono svolti da una GPU molto più in fretta di quanto una CPU non possa fare!

polkaris
06-11-2008, 11:47
Scusate l'ignoranza, ma qualcuno potrebbe con calma e ordine elencare i vantaggi di far eseguire certe operazioni alla GPU anzinchè alla CPU? E quali sono esattamente queste operazioni? A quanto ho capituo, il transcoding di video è sicuramente una di queste... ma le altre?

Questo tipo qua ha già sviluppato una applicazione delle GPUs davvero notevole:

http://fastra.ua.ac.be/en/index.html

II ARROWS
06-11-2008, 12:06
Tutti a dire che nVidia ha fatto ed ATi nulla...

Allora mi spiegate come mai Folding@Home va solo su schede video ATi?
L'unica differenza tra le due, è che nVidia sta facendo una quantità incredibile di pubblicità non seguita da applicazioni pratiche.

wlog
06-11-2008, 12:08
Nvidia fa di tutto per diffondere il suo "standard" (come del resto lo ha proposto ad ati in passato), perchè sa che altrimenti verrà presto abbandonato in favore di quelli open.
Il tempo dirà se ha fatto bene o se è stato uno spreco di risorse, per quanto dubito lo sia del tutto, per lo meno in termini di ritorno pubblicitario.

quoto al 100%

Mparlav
06-11-2008, 12:19
II ARROWS: Folding@home funziona anche sulle schede Nvidia, e per ora anche meglio.
Leggi il link già riportato.

E le applicazioni pratiche, sono già citate nella news.

gabi.2437
06-11-2008, 12:46
Tutti a dire che nVidia ha fatto ed ATi nulla...

Allora mi spiegate come mai Folding@Home va solo su schede video ATi?
L'unica differenza tra le due, è che nVidia sta facendo una quantità incredibile di pubblicità non seguita da applicazioni pratiche.

Si spiega col fatto che sei rimasto PARECCHIO indietro, folding@home supporta nvidia da parecchi mesi, e pure in modo più efficiente (purtroppo... ma avremo la rivincita presto :O )

ATI deve svegliarsi, ha CAL, che è come CUDA, ci butta su un pò di marketing e combatte CUDA... perchè tanto a efficienza di codice siamo lì lì quindi non c'è un "meglio"

Ma certo che finchè CUDA di qua e CUDA di là, hai voglia che ATI non la caga nessuno......

Poi, la CPU fa TUTTO quello che una GPU può fare, il succo è la velocità, la GPU può fare solo alcune cose, ma quelle poche cose che fa le fa MOLTO velocemente (decine o centinaia di volte più veloce)

nexor
06-11-2008, 13:31
Ma Apple per snow leopard (o come si chiama), che dovrebbe usare le gpu per alcune operazioni, si sa che linguaggio stia usando?
Non credo si pieghino a usare cuda se li costringe a legarsi ad nvidia, perciò magari stanno usando soluzioni alternative che si potrebbero espandere a linux e poi altrove come è successo in passato, possibile?

Marco71
06-11-2008, 13:32
...dal numero di transistor disponibili/deputati in questo caso al calcolo in virgola mobile/calcolo vettoriale precipuo degli ambienti di supercomputing.
Una c.p.u general purpose come quelle che equipaggiano gli odierni (diciamo in ambito x86 a partire dall'8080 in poi...anche se la prima c.p.u con I.S.A x86 fu l'8086 e la sua variante con bus dati ad 8 bit 8088) nostri personal computer dovendo essere un "uomo per tutte le stagioni" possiede al suo interno un numero ridotto di unità f.p.u, s.i.m.d (queste molto spesso funzionano utilizzando un microcodice con relativo sequencer invece di una implementazione hard-wired che farebbe aumentare il numero di transistor (M.O.S) a dismisura).
Questo ante-Nehalem...se con Nehalem Intel riproporrà un paradigma già sperimentato con l'80860 (e suoi derivati) di nuovo la c.p.u tornerà ad essere e caratterizzarsi per ciò che esprime il suo acronimo: central processing unit...
Personalmente io sono (problemi tecnologici a parte) per la massima integrazione possibile...come per l'unità (o le unità) centrali a rete neurale con elementi non specializzati tipici dell'universo "Terminator" per intenderci ove sono possibili elaborazioni di ogni tipo e su qualsiasi dominio: grafico, di calcolo balistico, di elaborazione di dati provenienti da sensori, di calcolo numerico puro ecc. ecc.
Ovviamente la fame di dati da elaborare presuppone che la c.p.u o g.p.u che sia, non abbia uno dei limiti delle architetture di computer secondo Von Neumann e cioè la velocità, ampiezza di banda da e verso i banchi di memoria centrale...che sarebbe auspicabile poter un giorno integrae pure essi in una c.p.u...
Un Intel i800 con memoria interna (a questo punto non "cache" come intesa oggi) di qualche PiB, qualche centinaia di migliaia di unità di processo general purpose connesse secondo un ipercubo a dimensioni (fate voi quante) potrebbe divenire una ottima "piattaforma" per un "calcolatore universale" che probabilmente potrebbe superare il test di Turing.
Il sistema C.U.D.A di NVidia Corp. mi "intrippa" non poco...slurp...
Peccato che A.M.D ancora latiti in questo settore...per B.O.I .N.C sarebbe una vera rivoluzione...in Seti@home si potrebbe finalmente fare uso della trasformata di Karhunen-Loève in luogo dell'ubiquo utilizzo che si fa invece della trasformata discreta con algoritmi di F.F.T.
Grazie.

Marco71.

!fazz
06-11-2008, 13:38
Ma Apple per snow leopard (o come si chiama), che dovrebbe usare le gpu per alcune operazioni, si sa che linguaggio stia usando?
Non credo si pieghino a usare cuda se li costringe a legarsi ad nvidia, perciò magari stanno usando soluzioni alternative che si potrebbero espandere a linux e poi altrove come è successo in passato, possibile?

un suo linguaggio: openCL

nexor
06-11-2008, 13:57
un suo linguaggio: openCL

Ok, grazie!
Vedo su Wikipedia che lo supporta anche AMD, e su linux già ci si muove... quindi forza openCL e abbasso CUDA! :ciapet:

Comunque sia spero che il gpgpu prenda piede presto.

!fazz
06-11-2008, 13:59
Ok, grazie!
Vedo su Wikipedia che lo supporta anche AMD, e su linux già ci si muove... quindi forza openCL e abbasso CUDA! :ciapet:

Comunque sia spero che il gpgpu prenda piede presto.

io aspetto snow leopard, lascio passare un paio di mesi e abbandono tiger se il gpgpu fà quel che promette

II ARROWS
06-11-2008, 14:12
Ero rimasto che qualche mese fa annunciavano il lavoro sulle schede nVidia, non avevo letto nulla sulla disponibilità del programma funzionante.

E poi, dire che va meglio dipende sempre dalle schede che usi. Se prendi una 280 e la metti a confronto con una X1900 è normale. Se lo fai da 280 contro HD4870x2 è un altro.

oclla
06-11-2008, 14:20
Bello. Mooolto molto bello.
Mi piacerebbe finire a lavorare sulle schedozze video.. anche se mettere le mani su veri supercomputer è stato entusiasmante.. :sofico:

Da quel che mi dicono dalla regia :O :D ci sono già 10 tesi al PoliMI sul GPU Computing.....e se per caso poi si allacciassero agli applicativi più classicamente da informatici quelli di telecomunicazioni e biomedica (bioimmagini ad esempio) il gioco è fatto :)

per esempio... (http://freemachines.blogspot.com/2008/05/fastra.html)

Scusate l'ignoranza, ma qualcuno potrebbe con calma e ordine elencare i vantaggi di far eseguire certe operazioni alla GPU anzinchè alla CPU? E quali sono esattamente queste operazioni? A quanto ho capituo, il transcoding di video è sicuramente una di queste... ma le altre?
Grazie per la risposta! E questo non è possibile con le CPU? Insomma, a livello costruttivo, quali sarebbero le differenze principali? Perchè una GPU è più indicata per questo tipo di calcoli rispetto ad una CPU?:confused:

Estremamente concentrato:
Un processore ha una (anche due) unità di calcolo, una scheda video ne ha centinaia. (112 la mia per esempio.. 240 la gtx280).

Quando si tratta di fare tante tante operazioni (simili), una vga ne fa appunto centinaia alla volta :)

SwatMaster
06-11-2008, 14:38
Mhmh... And where's Ati? :stordita:

wlog
06-11-2008, 15:28
Ok, grazie!
Vedo su Wikipedia che lo supporta anche AMD, e su linux già ci si muove... quindi forza openCL e abbasso CUDA! :ciapet:

Comunque sia spero che il gpgpu prenda piede presto.

il problema è che opencl non è ancora maturo e adatto alla produzione di codice :(

Mercuri0
06-11-2008, 15:32
Chi porta soldi è sempre ben accetto. Venghino venghino che abbiamo bisogno! :D

Ma Apple per snow leopard (o come si chiama), che dovrebbe usare le gpu per alcune operazioni, si sa che linguaggio stia usando?
Non credo si pieghino a usare cuda se li costringe a legarsi ad nvidia, perciò magari stanno usando soluzioni alternative che si potrebbero espandere a linux e poi altrove come è successo in passato, possibile?

Apple sta per lanciare un linguaggio chiamato OpenCL che sarà supportato da AMD & nVidia. E direi pure lntel.

La cosa molto figa, è che Apple (bontà sua!) ha proposto OpenCL come standard al Khronos Group, un'organizzazione a cui partecipano tutti (i tre di sopra più tanti altri tra hardwaristi e softwaristi. C'è anche Blizzard, per dire), e che tra le altre cose gestisce anche OpenGL.

Il supporto di OpenCL su Linux è legato solo alla volontà di AMD e nVidia di scrivere i driver, che di certo non mancherà.

Su Windows è uguale, non c'è nessun problema tecnico ma al massimo politico.

edit: in effetti, mi sento di essere grato ad Apple, per questa volta.

edit2: Blizzard ha le mani in pasta nel gruppo che decide le specifiche dell'OpenGL, e i suoi programmatori vanno in giro a fare conferenze su come si programma la grafica dei giochi. Non si direbbe, eh?

Simpaticissime le risposte quando il loro uomo posta sui forum di OpenGL. "Si, si, grazie Rob ma adesso fila a lavorare a Diablo 3"

Mercuri0
06-11-2008, 15:41
Scusate l'ignoranza, ma qualcuno potrebbe con calma e ordine elencare i vantaggi di far eseguire certe operazioni alla GPU anzinchè alla CPU? E quali sono esattamente queste operazioni? A quanto ho capituo, il transcoding di video è sicuramente una di queste... ma le altre?
In campo scientifico troverà di certo interessanti applicazioni, sopratutto per quei conti che tipicamente durano ore o giorni.

In campo desktop, "boh". Si parla di trascodifica video, editing immagini (su questo ho molte speranze), forse editing video, e se tutto va bene rendering 3D.

Del resto quali sono le altre applicazioni Desktop per cui serve potenza di calcolo al giorno d'oggi? (per l'editing audio ormai abbiamo CPU da buttare)

Però siamo ancora ai primissimi passi, e bisogna aspettare che il "fumo" si diradi per vedere dove sarà davvero utile la GPU, e dove conviene un buon procio.

Ci sta inoltre che le GPU future saranno ancora più flessibili, proprio per facilitare queste applicazioni.

^^lee
06-11-2008, 16:21
...dal numero di transistor disponibili/deputati in questo caso al calcolo in virgola mobile/calcolo vettoriale precipuo degli ambienti di supercomputing.
Una c.p.u general purpose come quelle che equipaggiano gli odierni (diciamo in ambito x86 a partire dall'8080 in poi...anche se la prima c.p.u con I.S.A x86 fu l'8086 e la sua variante con bus dati ad 8 bit 8088) nostri personal computer dovendo essere un "uomo per tutte le stagioni" possiede al suo interno un numero ridotto di unità f.p.u, s.i.m.d (queste molto spesso funzionano utilizzando un microcodice con relativo sequencer invece di una implementazione hard-wired che farebbe aumentare il numero di transistor (M.O.S) a dismisura).
Questo ante-Nehalem...se con Nehalem Intel riproporrà un paradigma già sperimentato con l'80860 (e suoi derivati) di nuovo la c.p.u tornerà ad essere e caratterizzarsi per ciò che esprime il suo acronimo: central processing unit...
Personalmente io sono (problemi tecnologici a parte) per la massima integrazione possibile...come per l'unità (o le unità) centrali a rete neurale con elementi non specializzati tipici dell'universo "Terminator" per intenderci ove sono possibili elaborazioni di ogni tipo e su qualsiasi dominio: grafico, di calcolo balistico, di elaborazione di dati provenienti da sensori, di calcolo numerico puro ecc. ecc.
Ovviamente la fame di dati da elaborare presuppone che la c.p.u o g.p.u che sia, non abbia uno dei limiti delle architetture di computer secondo Von Neumann e cioè la velocità, ampiezza di banda da e verso i banchi di memoria centrale...che sarebbe auspicabile poter un giorno integrae pure essi in una c.p.u...
Un Intel i800 con memoria interna (a questo punto non "cache" come intesa oggi) di qualche PiB, qualche centinaia di migliaia di unità di processo general purpose connesse secondo un ipercubo a dimensioni (fate voi quante) potrebbe divenire una ottima "piattaforma" per un "calcolatore universale" che probabilmente potrebbe superare il test di Turing.
Il sistema C.U.D.A di NVidia Corp. mi "intrippa" non poco...slurp...
Peccato che A.M.D ancora latiti in questo settore...per B.O.I .N.C sarebbe una vera rivoluzione...in Seti@home si potrebbe finalmente fare uso della trasformata di Karhunen-Loève in luogo dell'ubiquo utilizzo che si fa invece della trasformata discreta con algoritmi di F.F.T.
Grazie.

Marco71.


ahem....eh????

yossarian
06-11-2008, 17:50
...dal numero di transistor disponibili/deputati in questo caso al calcolo in virgola mobile/calcolo vettoriale precipuo degli ambienti di supercomputing.
Una c.p.u general purpose come quelle che equipaggiano gli odierni (diciamo in ambito x86 a partire dall'8080 in poi...anche se la prima c.p.u con I.S.A x86 fu l'8086 e la sua variante con bus dati ad 8 bit 8088) nostri personal computer dovendo essere un "uomo per tutte le stagioni" possiede al suo interno un numero ridotto di unità f.p.u, s.i.m.d (queste molto spesso funzionano utilizzando un microcodice con relativo sequencer invece di una implementazione hard-wired che farebbe aumentare il numero di transistor (M.O.S) a dismisura).
Questo ante-Nehalem...se con Nehalem Intel riproporrà un paradigma già sperimentato con l'80860 (e suoi derivati) di nuovo la c.p.u tornerà ad essere e caratterizzarsi per ciò che esprime il suo acronimo: central processing unit...
Personalmente io sono (problemi tecnologici a parte) per la massima integrazione possibile...come per l'unità (o le unità) centrali a rete neurale con elementi non specializzati tipici dell'universo "Terminator" per intenderci ove sono possibili elaborazioni di ogni tipo e su qualsiasi dominio: grafico, di calcolo balistico, di elaborazione di dati provenienti da sensori, di calcolo numerico puro ecc. ecc.
Ovviamente la fame di dati da elaborare presuppone che la c.p.u o g.p.u che sia, non abbia uno dei limiti delle architetture di computer secondo Von Neumann e cioè la velocità, ampiezza di banda da e verso i banchi di memoria centrale...che sarebbe auspicabile poter un giorno integrae pure essi in una c.p.u...
Un Intel i800 con memoria interna (a questo punto non "cache" come intesa oggi) di qualche PiB, qualche centinaia di migliaia di unità di processo general purpose connesse secondo un ipercubo a dimensioni (fate voi quante) potrebbe divenire una ottima "piattaforma" per un "calcolatore universale" che probabilmente potrebbe superare il test di Turing.
Il sistema C.U.D.A di NVidia Corp. mi "intrippa" non poco...slurp...
Peccato che A.M.D ancora latiti in questo settore...per B.O.I .N.C sarebbe una vera rivoluzione...in Seti@home si potrebbe finalmente fare uso della trasformata di Karhunen-Loève in luogo dell'ubiquo utilizzo che si fa invece della trasformata discreta con algoritmi di F.F.T.
Grazie.

Marco71.


ahem....eh????

hai la signature irregolare

yossarian
06-11-2008, 17:57
Si spiega col fatto che sei rimasto PARECCHIO indietro, folding@home supporta nvidia da parecchi mesi, e pure in modo più efficiente (purtroppo... ma avremo la rivincita presto :O )

ATI deve svegliarsi, ha CAL, che è come CUDA, ci butta su un pò di marketing e combatte CUDA... perchè tanto a efficienza di codice siamo lì lì quindi non c'è un "meglio"

Ma certo che finchè CUDA di qua e CUDA di là, hai voglia che ATI non la caga nessuno......

Poi, la CPU fa TUTTO quello che una GPU può fare, il succo è la velocità, la GPU può fare solo alcune cose, ma quelle poche cose che fa le fa MOLTO velocemente (decine o centinaia di volte più veloce)

CAL e CUDA sono cose differenti: CAL è simil assembly CUDA è C-like. L'equivalente di CUDA è brooks (open, sviluppato da stanford) o brooks+ (proprietario, basato su brooks e sviluppato in collaborazione con stanford). Brooks è l'interfaccia di alto livello tra programmatore e CAL. Chi ha buone conoscenze dell'architettura della gpu può utilizzare direttamente CAL (che diventa, in questo caso, uno strumento molto più potente di quanto non siano i linguaggi C-like)


Chi porta soldi è sempre ben accetto. Venghino venghino che abbiamo bisogno! :D



Apple sta per lanciare un linguaggio chiamato OpenCL che sarà supportato da AMD & nVidia. E direi pure lntel.

La cosa molto figa, è che Apple (bontà sua!) ha proposto OpenCL come standard al Khronos Group, un'organizzazione a cui partecipano tutti (i tre di sopra più tanti altri tra hardwaristi e softwaristi. C'è anche Blizzard, per dire), e che tra le altre cose gestisce anche OpenGL.

Il supporto di OpenCL su Linux è legato solo alla volontà di AMD e nVidia di scrivere i driver, che di certo non mancherà.

Su Windows è uguale, non c'è nessun problema tecnico ma al massimo politico.

edit: in effetti, mi sento di essere grato ad Apple, per questa volta.

edit2: Blizzard ha le mani in pasta nel gruppo che decide le specifiche dell'OpenGL, e i suoi programmatori vanno in giro a fare conferenze su come si programma la grafica dei giochi. Non si direbbe, eh?

Simpaticissime le risposte quando il loro uomo posta sui forum di OpenGL. "Si, si, grazie Rob ma adesso fila a lavorare a Diablo 3"

c'è anche ID; e pure Epic :D

yossarian
06-11-2008, 18:07
...dal numero di transistor disponibili/deputati in questo caso al calcolo in virgola mobile/calcolo vettoriale precipuo degli ambienti di supercomputing.
Una c.p.u general purpose come quelle che equipaggiano gli odierni (diciamo in ambito x86 a partire dall'8080 in poi...anche se la prima c.p.u con I.S.A x86 fu l'8086 e la sua variante con bus dati ad 8 bit 8088) nostri personal computer dovendo essere un "uomo per tutte le stagioni" possiede al suo interno un numero ridotto di unità f.p.u, s.i.m.d (queste molto spesso funzionano utilizzando un microcodice con relativo sequencer invece di una implementazione hard-wired che farebbe aumentare il numero di transistor (M.O.S) a dismisura).
Questo ante-Nehalem...se con Nehalem Intel riproporrà un paradigma già sperimentato con l'80860 (e suoi derivati) di nuovo la c.p.u tornerà ad essere e caratterizzarsi per ciò che esprime il suo acronimo: central processing unit...


mi sfugge questo passaggio: per quale motivo le cpu ante nehalem non sarebbe delle c.p.u.? Quali sono le caratteristiche di un processore che permettano di definirlo cpu? E comunque gli approcci di intel al calcolo parallelo sembrano andare in direzione opposta rispetto a quanto tu ha indicato: così è per l'architettura EPIC di Itanium e così per il terascale computing (larrabee)


Personalmente io sono (problemi tecnologici a parte) per la massima integrazione possibile...come per l'unità (o le unità) centrali a rete neurale con elementi non specializzati tipici dell'universo "Terminator" per intenderci ove sono possibili elaborazioni di ogni tipo e su qualsiasi dominio: grafico, di calcolo balistico, di elaborazione di dati provenienti da sensori, di calcolo numerico puro ecc. ecc.


preferisco la gnocca :D



Ovviamente la fame di dati da elaborare presuppone che la c.p.u o g.p.u che sia, non abbia uno dei limiti delle architetture di computer secondo Von Neumann e cioè la velocità, ampiezza di banda da e verso i banchi di memoria centrale...che sarebbe auspicabile poter un giorno integrae pure essi in una c.p.u...


intendi integrare l'intero frame buffer, oltre alle cache, i buffer e i registri (già presenti dentro una cpu)?



Un Intel i800 con memoria interna (a questo punto non "cache" come intesa oggi) di qualche PiB,

i spe del cell hanno memoria interna non cache; però hanno anche registri e buffer interni ed il ppe ha persino una memoria di tipo cached (chissà perchè :D ).


qualche centinaia di migliaia di unità di processo general purpose connesse secondo un ipercubo a dimensioni (fate voi quante) potrebbe divenire una ottima "piattaforma" per un "calcolatore universale" che probabilmente potrebbe superare il test di Turing.


e potrebbe occupare uno spazio pari alla basilica di san pietro, soprattutto se la tua idea è quella di intelligenza artificiale "forte" :D

Marco71
06-11-2008, 18:41
...parlo di "A.I strong"...e forse non occuperà un volume pari alla basilica di S. Pietro...
Forse grazie al D.A.R.P.A basterà il volume occupato da due cubi di Rubik affiancati (od anche meno).
Ho la firma irregolare ?
Grazie.

Marco71.

Mercuri0
06-11-2008, 18:44
c'è anche ID; e pure Epic :D
Sì ma Id ed Epic non fanno notizia, mentre Blizzard non è famosa per la "tecnologia grafica" dei suoi giochi.

Il mio piccolo OT era per osservare che non c'è bisogno di fare giochi con grandi requisiti hardware, per essere grandi programmatori di motori grafici. :)

yossarian
06-11-2008, 19:16
...parlo di "A.I strong"...e forse non occuperà un volume pari alla basilica di S. Pietro...
Forse grazie al D.A.R.P.A basterà il volume occupato da due cubi di Rubik affiancati (od anche meno).


quella della basilica era una battuta, ma hai idea di quanti transistor servano per simulare una rete neurale con connessioni point to point tra circa 100 miliardi di neuroni, considerando l'ipotesi di riuscire ad utilizzare un transistor a sinapsi?
E, in ogni caso, i detrattori dell'ipotesi dell'I.A. sono dell'avviso che neppure realizzando una rete neurale che simuli perfettamente la strutture del cervello se ne riuscirà a riprodurre il corretto funzionamento (quest'ultima cosa, ovviemente da dimostrare). In ogni caso, finora la letteratura scientifica riporta di simulazioni di sinapsi ma non di simulazine di rete neurale completa.


Ho la firma irregolare ?
Grazie.

Marco71.

non tu, ma lee (ho quotato lui)

Sono curioso di approfondire le tue idee sulla ram embedded nelle cpu.

gabi.2437
06-11-2008, 19:42
...dal numero di transistor disponibili/deputati in questo caso al calcolo in virgola mobile/calcolo vettoriale precipuo degli ambienti di supercomputing.
Una c.p.u general purpose come quelle che equipaggiano gli odierni (diciamo in ambito x86 a partire dall'8080 in poi...anche se la prima c.p.u con I.S.A x86 fu l'8086 e la sua variante con bus dati ad 8 bit 8088) nostri personal computer dovendo essere un "uomo per tutte le stagioni" possiede al suo interno un numero ridotto di unità f.p.u, s.i.m.d (queste molto spesso funzionano utilizzando un microcodice con relativo sequencer invece di una implementazione hard-wired che farebbe aumentare il numero di transistor (M.O.S) a dismisura).
Questo ante-Nehalem...se con Nehalem Intel riproporrà un paradigma già sperimentato con l'80860 (e suoi derivati) di nuovo la c.p.u tornerà ad essere e caratterizzarsi per ciò che esprime il suo acronimo: central processing unit...
Personalmente io sono (problemi tecnologici a parte) per la massima integrazione possibile...come per l'unità (o le unità) centrali a rete neurale con elementi non specializzati tipici dell'universo "Terminator" per intenderci ove sono possibili elaborazioni di ogni tipo e su qualsiasi dominio: grafico, di calcolo balistico, di elaborazione di dati provenienti da sensori, di calcolo numerico puro ecc. ecc.
Ovviamente la fame di dati da elaborare presuppone che la c.p.u o g.p.u che sia, non abbia uno dei limiti delle architetture di computer secondo Von Neumann e cioè la velocità, ampiezza di banda da e verso i banchi di memoria centrale...che sarebbe auspicabile poter un giorno integrae pure essi in una c.p.u...
Un Intel i800 con memoria interna (a questo punto non "cache" come intesa oggi) di qualche PiB, qualche centinaia di migliaia di unità di processo general purpose connesse secondo un ipercubo a dimensioni (fate voi quante) potrebbe divenire una ottima "piattaforma" per un "calcolatore universale" che probabilmente potrebbe superare il test di Turing.
Il sistema C.U.D.A di NVidia Corp. mi "intrippa" non poco...slurp...
Peccato che A.M.D ancora latiti in questo settore...per B.O.I .N.C sarebbe una vera rivoluzione...in Seti@home si potrebbe finalmente fare uso della trasformata di Karhunen-Loève in luogo dell'ubiquo utilizzo che si fa invece della trasformata discreta con algoritmi di F.F.T.
Grazie.

Marco71.
Per BOINC c'è GPUGrid, che però per ora è limitato alle nvidia

!fazz
06-11-2008, 20:19
mi sfugge questo passaggio: per quale motivo le cpu ante nehalem non sarebbe delle c.p.u.? Quali sono le caratteristiche di un processore che permettano di definirlo cpu? E comunque gli approcci di intel al calcolo parallelo sembrano andare in direzione opposta rispetto a quanto tu ha indicato: così è per l'architettura EPIC di Itanium e così per il terascale computing (larrabee)



preferisco la gnocca :D



intendi integrare l'intero frame buffer, oltre alle cache, i buffer e i registri (già presenti dentro una cpu)?



i spe del cell hanno memoria interna non cache; però hanno anche registri e buffer interni ed il ppe ha persino una memoria di tipo cached (chissà perchè :D ).



e potrebbe occupare uno spazio pari alla basilica di san pietro, soprattutto se la tua idea è quella di intelligenza artificiale "forte" :D

yossirian, penso che intendeva che in nahalem si è assistito ad una diminuzione delle istruzioni gestire da microcodice ed un'aumento di quelle gestite da "circuiteria" dedicata rispetto ai core

Mirkolo
07-11-2008, 00:22
Bella cosa! Così come sarebbe bello un unico standard per tutti.

L'ultima volta che avevo preso in mano CUDA erano supportati solo i fp a 32bit, mentre ricordo che il CAL di ATI, pur essendo molto più complesso da usare e anche meno documentato, supportava già i fp a 64bit. Cosa che nel settore della ricerca non era proprio trascurabile. Non so se ora le cose sono cambiate..

yossarian
07-11-2008, 01:21
yossirian, penso che intendeva che in nahalem si è assistito ad una diminuzione delle istruzioni gestire da microcodice ed un'aumento di quelle gestite da "circuiteria" dedicata rispetto ai core

a parte che non mi pare di vedere rivoluzioni in questo senso rispetto all'architettura core2, però non capisco il nesso tra gestione di parti di codice in HW o SW e capacità di fungere da cpu. Anche i core2 sono cpu, come lo sono i P4 e via dicendo.
Per questo chiedevo spiegazioni a Marco.

Bella cosa! Così come sarebbe bello un unico standard per tutti.

L'ultima volta che avevo preso in mano CUDA erano supportati solo i fp a 32bit, mentre ricordo che il CAL di ATI, pur essendo molto più complesso da usare e anche meno documentato, supportava già i fp a 64bit. Cosa che nel settore della ricerca non era proprio trascurabile. Non so se ora le cose sono cambiate..

cosa più che normale, visto che nVIDIA i 64 bit li ha introdotti solo con GT200 (30 alu dedicate all'interno dello shader core, una ogni semicluster di 8 alu fp32), mentre G8x/G9x non hanno la possibilità di eseguire calcoli in fp64; al contrario, le gpu ATi possono farlo da R600 in poi.

wlog
07-11-2008, 03:25
doppio

wlog
07-11-2008, 03:26
un transistor a sinapsi?

che è comunque troppo poco.

Andando a leggere la letteratura online, nel modello del cervello di un lombrico/topo, ogni neurone richiede circa 20 equazioni differenziali per una discreta approsimazione, e ogni equazione differenziale richiede dalle 2 alle 8 muladd (moltiplicazione+addizione, una unità di misura piu utile dei Gflops). Ogni neurone deve essere aggiornato ALMENO 80.000 volte al secondo. Ovviamente possiamo migliorare la precisione del modello aumentando a piacere i parametri.

A quanto ne so per ora sono riusciti ad arrivare a simulare 2000 neuroni impiegandoci 2 minuti per calcolare un minuto, ma l'ho letto su un libro pubblicato nel 2001, quindi probabilmente oggi saranno un po piu avanti.

p.s.: ah mi dimenticavo: stiamo parlando del sistema sensoriale. Ancora troppo complicata è la memoria e la "coscienza".

oclla
07-11-2008, 08:05
che è comunque troppo poco.

Andando a leggere la letteratura online, nel modello del cervello di un lombrico/topo, ogni neurone richiede circa 20 equazioni differenziali per una discreta approsimazione, e ogni equazione differenziale richiede dalle 2 alle 8 muladd (moltiplicazione+addizione, una unità di misura piu utile dei Gflops). Ogni neurone deve essere aggiornato ALMENO 80.000 volte al secondo. Ovviamente possiamo migliorare la precisione del modello aumentando a piacere i parametri.

A quanto ne so per ora sono riusciti ad arrivare a simulare 2000 neuroni impiegandoci 2 minuti per calcolare un minuto, ma l'ho letto su un libro pubblicato nel 2001, quindi probabilmente oggi saranno un po piu avanti.

p.s.: ah mi dimenticavo: stiamo parlando del sistema sensoriale. Ancora troppo complicata è la memoria e la "coscienza".

La coscienza non sarà mai simulabile ne riproducibile.
Al massimo un sistema in grado di apprendere ed evolvere auto modificandosi.. ma come dici tu, giustamente, siamo ancora lontanissimi.

checo
07-11-2008, 09:35
Questo ante-Nehalem...se con Nehalem Intel riproporrà un paradigma già sperimentato con l'80860 (e suoi derivati) di nuovo la c.p.u tornerà ad essere e caratterizzarsi per ciò che esprime il suo acronimo: central processing unit...
Personalmente io sono (problemi tecnologici a parte) per la massima integrazione possibile...come per l'unità (o le unità) centrali a rete neurale con elementi non specializzati tipici dell'universo "Terminator" per intenderci ove sono possibili elaborazioni di ogni tipo e su qualsiasi dominio: grafico, di calcolo balistico, di elaborazione di dati provenienti da sensori, di calcolo numerico puro ecc. ecc.
Ovviamente la fame di dati da elaborare presuppone che la c.p.u o g.p.u che sia, non abbia uno dei limiti delle architetture di computer secondo Von Neumann e cioè la velocità, ampiezza di banda da e verso i banchi di memoria centrale...che sarebbe auspicabile poter un giorno integrae pure essi in una c.p.u...
Un Intel i800 con memoria interna (a questo punto non "cache" come intesa oggi) di qualche PiB, qualche centinaia di migliaia di unità di processo general purpose connesse secondo un ipercubo a dimensioni (fate voi quante) potrebbe divenire una ottima "piattaforma" per un "calcolatore universale" che probabilmente potrebbe superare il test di Turing.
Il sistema C.U.D.A di NVidia Corp. mi "intrippa" non poco...slurp...
Peccato che A.M.D ancora latiti in questo settore...per B.O.I .N.C sarebbe una vera rivoluzione...in Seti@home si potrebbe finalmente fare uso della trasformata di Karhunen-Loève in luogo dell'ubiquo utilizzo che si fa invece della trasformata discreta con algoritmi di F.F.T.
Grazie.

Marco71.

ma le nuove cpu intel non credo tornino come gli 8086, con le istruzioni dell'isa tutte codificate hw, sarebbe improponibile.
poi ipercubi e balle varie mi sa da fanta cpu e non nel senso dell' aranciata :D

yossarian
07-11-2008, 12:05
che è comunque troppo poco.

Andando a leggere la letteratura online, nel modello del cervello di un lombrico/topo, ogni neurone richiede circa 20 equazioni differenziali per una discreta approsimazione, e ogni equazione differenziale richiede dalle 2 alle 8 muladd (moltiplicazione+addizione, una unità di misura piu utile dei Gflops). Ogni neurone deve essere aggiornato ALMENO 80.000 volte al secondo. Ovviamente possiamo migliorare la precisione del modello aumentando a piacere i parametri.

A quanto ne so per ora sono riusciti ad arrivare a simulare 2000 neuroni impiegandoci 2 minuti per calcolare un minuto, ma l'ho letto su un libro pubblicato nel 2001, quindi probabilmente oggi saranno un po piu avanti.



strano modo di chiamarle: è la prima volta che sento il termine muladd: il termine consueto di riferimento è MADD.
Al di là dei formalismi, una sinapsi è semplicemente la connessione tra due neuroni e non simuila il comportamento di un neurone; quindi i due dati non sono mutuamente escludentisi ma potrebbero integrarsi. Ovvero, per ogni neurone sono necessarie 20 equazioni che, approssimate con, diciamo 8 MADD l'una (caso peggiore) richiederebbero 160 MADD (adesso c'è da considerare se scalari o vettoriali e da valutarne la precisione di calcolo necessaria). Assumendo una precisione pari a fp32, siamo nellì'ordine delle centinaia di milioni di transistor, (ovvero, nell'ipotesi di 1 transistor a sinapsi, delle centinaia di milioni di sinapsi (l'ipercubo con connessioni point to point di cui parla Marco). Il calcolo non può essere più preciso se non si conosce il numero di registri necessario per ogni alu.



p.s.: ah mi dimenticavo: stiamo parlando del sistema sensoriale. Ancora troppo complicata è la memoria e la "coscienza".

è il motivo per cui i critici dell'ipotesi dell'intelligenza artificiale forte ritengono impossibile la simulazione delle funzioanlità del cervello, anche nel caso se ne riesca a riprodurre l'esatta struttura dal punto di vista elettrico.

comunque siamo abbondantemente OT :D