Entra

View Full Version : IBM mostra blade server con Cell


Redazione di Hardware Upg
31-05-2005, 07:45
Link alla notizia: http://www.hwupgrade.it/news/cpu/14720.html

Al recente evento fieristico E3 IBM ha mostrato un prototipo di piattaforma blade server basata su cpu Cell.

Click sul link per visualizzare la notizia.

Precio
31-05-2005, 08:22
Cazzarola ... 400GFlops!!!!
E' MOSTRUOSO!!!!
Facendo una ricerca superveloce su google ho trovato le prestazioni di un CRAY XD1 formato da diversi telai.
"...ogni telaio è formato da 12 CPU AMD Opteron @ 2.2 GHz che possono effettuare fino a 53 GFLOPS..."

Motosauro
31-05-2005, 08:33
Sarebbe a dire che 1 cell viaggia come 12 opteron?

G-DannY
31-05-2005, 08:42
Che figata... Vuol dire che con le prossime console che fanno 1 teraflop avremo il doppio della potenza di questi server da millemila euro... :D

(ps per Motosauro: No, non va come 12 opteron, ma come circa 8*12opteron... :D)

R0b1
31-05-2005, 08:44
Ma no su un blade ci sono 4 cell su 2 board...quindi 4 cell vanno come 12 opteron :D

Motosauro
31-05-2005, 08:45
mmmhhhhh
se 8 cell fanno 400
e 12 amd fanno 53

il rapporto non è circa di 1 a 12 ?

Io purtroppo con l'aritmetica ci ho litigato in tenera età

DjLode
31-05-2005, 08:46
A parte che si parla di 4 processori su due schede :)
Si parla pure al condizionale, sono tutti capaci a sparare 2 numeri :) Poi la cosa va dimostrata...

R0b1
31-05-2005, 08:47
ah scusa, io pensavo che tu dicessi che 1 solo cell fa 400 gigaflops...vah che stavolta ci ho litigato anch'io :D

JohnPetrucci
31-05-2005, 09:01
Queste cpu sembrano impressionanti!
Ma vorrei vedere dei bench prima di credere sulla parola a IBM. ;)

*ReSta*
31-05-2005, 09:03
non ho capito: 4 processori su 2 board vuol dire 4 su ogni board o 4 in totale??

Another
31-05-2005, 09:03
ogni telaio è formato da 12 CPU AMD Opteron @ 2.2 GHz che possono effettuare fino a 53 GFLOPS

in italiano questo sembra significare che ogni Opteron fa 53 gflops

Genesio
31-05-2005, 09:27
Ma cos'è un flops? FLOating PointS?

DjLode
31-05-2005, 09:31
FLoating point OPeration per Second :)

http://www.webopedia.com/TERM/F/FLOPS.html

FAM
31-05-2005, 09:31
FLoating-point OPerations per second :)

Miliardi di operazioni in virgola mobile al secondo.

FAM
31-05-2005, 09:33
Abbiamo copia-incollato dallo stesso articolo :asd: :mano: :D

vink
31-05-2005, 09:38
Io non capisco perché non ci si mette d'accordo e si indicano le prestazioni delle CPU in GFlops.
È assurdo che non sappiamo la effettiva capacità di calcolo delle CPU che utilizziamo tutti i giorni. I vari bench alla fine dipendono sempre troppo dalla configurazione del sistema. Basta cambiare scheda video o MoBo per avere risultati diversi. I multipli dei Flops sono specifici della CPU. Sarebbe ora che venissero utilizzati comunemente.

Precio
31-05-2005, 09:40
x Motosauro e Another
forse mi sono spiegato male:
nella ricerca che ho fatto ho trovato questo dato :

CRAY XD1
12 CPU AMD Opteron @ 2.2 GHz elaborano 53 GFLOPS
...QUINDI...
1 CPU AMD Opteron @ 2.2 GHz elabora 4,42 GFLOPS

DjLode
31-05-2005, 09:41
Abbiamo copia-incollato dallo stesso articolo :asd: :mano: :D

Immagino il primo di Google :)

FAM
31-05-2005, 09:43
Immagino il primo di Google :)

E ricerca "gflop" ;)

DjLode
31-05-2005, 09:43
Io non capisco perché non ci si mette d'accordo e si indicano le prestazioni delle CPU in GFlops.
È assurdo che non sappiamo la effettiva capacità di calcolo delle CPU che utilizziamo tutti i giorni. I vari bench alla fine dipendono sempre troppo dalla configurazione del sistema. Basta cambiare scheda video o MoBo per avere risultati diversi. I multipli dei Flops sono specifici della CPU. Sarebbe ora che venissero utilizzati comunemente.

E quando sai che Cell ad esempio fa mille mila Flops e un P4 ne fa un decimo e ti ritrovi però a dover gestire un database (prima cosa che mi viene in mente) e scopri che il primo è inadatto e il secondo no? Dei Flops cosa te ne fai?
Troppe variabili in gioco per prendere un dato soltanto :)

k-Christian27
31-05-2005, 09:47
"non ho capito: 4 processori su 2 board vuol dire 4 su ogni board o 4 in totale??"

Ti sei risposto da solo :-) (se non lo avessi capito è la seconda che hai detto :-P )

Byexx..

luckye
31-05-2005, 09:48
Si ma calcolando che una procio cell ha 8 core e ne montano 4 per piastra fanno la bellezza di 32core.
Poi ricordiamo che il cell non è una general purpose ma è solo per calcoli vettoriali e virgola mobile.
Per intenderci windows girerebbe una schifezza mentra flussi video digitali ne spremerebbero al massimo le potenzialità.
Infatti non è una workstation grafica ma come server

benotto
31-05-2005, 09:48
Ma che cosa gira su Cell? Il normale software per PowerPC (Mac o Linux) o è un'architettura del tutto diversa e richiede software ad hoc?

k-Christian27
31-05-2005, 09:50
In Italiano significa che telaio è il soggetto, quindi non è un opteron a sviluppare 53gf ma il totale delle schede inserite nel telaio.

Byexx..

FAM
31-05-2005, 09:53
Ma che cosa gira su Cell? Il normale software per PowerPC (Mac o Linux) o è un'architettura del tutto diversa e richiede software ad hoc?

La seconda, anche se è imparentato con PPC :)

street
31-05-2005, 10:03
Si ma calcolando che una procio cell ha 8 core e ne montano 4 per piastra fanno la bellezza di 32core.
Poi ricordiamo che il cell non è una general purpose ma è solo per calcoli vettoriali e virgola mobile.
Per intenderci windows girerebbe una schifezza mentra flussi video digitali ne spremerebbero al massimo le potenzialità.
Infatti non è una workstation grafica ma come server

ma se il cell non se la cava bene coi database, che prestazioni può avere come server?

piffe
31-05-2005, 10:06
ogni telaio è formato da 12 CPU AMD Opteron @ 2.2 GHz che possono effettuare fino a 53 GFLOPS

in italiano questo sembra significare che ogni Opteron fa 53 gflops
In Italiano, come in qualsiasi altra lingua, non essendo specificato il temine "ciascuno", la frase risulta ambigua. :muro: :doh:
Essendo comunque il verbo al plurale, si riferisce chiaramente ai processori e non al telaio, come invece sostiene k-Christian27.

Ciauz!

thegood85
31-05-2005, 10:19
If operated at 3 GHz, Cell's theoretical performance reaches about 200 GFLOPS, which works out to about 400 GFLOPS per board,"


Sul link della news dice questo.. ovvero che un Cell a 3 Ghz fa circa 200 GFLOPS, che vuol dire 400 GFLOPS PER SCHEDA, x un totale di 800 GFlops su un server come quello.
Solo che in quello che hanno fatto vedere i proci andavano a 2.4-2.6 Ghz, non a 3Ghz!

DjLode
31-05-2005, 10:22
ma se il cell non se la cava bene coi database, che prestazioni può avere come server?

Ogni cell ha un core PPC a non ricordo che frequenza. Il mio era solo un esempio perchè non avendo sotto mano nessun benchmark o test, si va solo di congetture :)
Cmq non essendo una cpu general porpouse, diciamo che in uso generale non sarà questa grande scheggia. Con calcoli che trattano dati "vettorizzabili" se la cava egregiamente (ad esempio dati multimediali), con altri (da qui l'esempio del database) si ridimensiona di molto.

Crisidelm
31-05-2005, 10:23
*cough* "Theoretical" *cough*

^TiGeRShArK^
31-05-2005, 11:02
Io non capisco perché non ci si mette d'accordo e si indicano le prestazioni delle CPU in GFlops.
È assurdo che non sappiamo la effettiva capacità di calcolo delle CPU che utilizziamo tutti i giorni. I vari bench alla fine dipendono sempre troppo dalla configurazione del sistema. Basta cambiare scheda video o MoBo per avere risultati diversi. I multipli dei Flops sono specifici della CPU. Sarebbe ora che venissero utilizzati comunemente.
non ha assolutamente senso effettuare i test ke proponi tu.
I MIPS e i GFLOPS sono assolutamente inadatti a misurare le prestazioni di un processore.
Ti possono dire ke TEORICAMENTE un processore può elaborare quei dati nel caso migliore, ma in pratica la situazione è SEMPRE ben diversa.....
basta guardare ad esempio il P4. Teoricamente avrebbe un potenziale BEN maggiore rispetto all'A64, ma nella pratica non è ASSOLUTAMENTE così, anzi nel 90% dei casi è l'A64 ad essere superiore.
La potenza di un processore non si potrà mai misurare in termini assoluti perkè dipende intimamente dai vari campi applicativi in cui il processore è utilizzato.
E di certo un CELL non avrà 200 GFLOPS in un applicativo general purpose.

Dreadnought
31-05-2005, 11:18
Concordo con tigresqualo :)

Il cell è ottimo per fare tanti calcoli semplici tutti in una volta, tipo simulazioni fisiche, o altri campi in cui possono essere usati i supercomputer, ma per applicazioni general purpose non mi pare adatto.

Marco71
31-05-2005, 11:21
Io adesso non ho molto tempo e quindi faccio appelo al Dr. Di Mauro affinchè porti chiarezza in questa "confusione" di acronimi e significati che motli vedo, fanno ancora (confusione).
Poi vorrei sapere perchè non specificano mai le condizioni ed il tipo di benchmark utilizzato: f.l.o.p.s in sè vuol dire tanto/poco.

1) sono f.l.o.p.s. in singola o doppia precisione magari I.E.E.E 754/854...

2) sono f.l.o.p.s provenienti dal caro "vecchio" benchmark Whetstone...

3) sono f.l.o.p.s Linpack risultato di operazioni "vettoriali" per la soluzione di sistemi lineari...

4) sono f.l.o.p.s del tipo: "somma 1.234 ad 1.5667"...

Insomma non si può sempre "sparare ad alzo zero"...
Grazie.

Marco71.

Fx
31-05-2005, 11:25
ahhhhhhhhh aiutoooo

state ammazzando l'ABC dell'informaticaaaa :D


per prima cosa vorrei ricordare a tutti che dentro il vostro pc quasi sicuramente avete già più di 400 gflops, e anche di parecchio... una qualsiasi scheda video di fascia medio / alta presumibilmente ha quella capacità di calcolo.

pertanto, fermatevi prima di schizzare come schegge impazzite quando sentite un numero: per lo meno prima fatevi un'idea di cosa significa :D

vi dò due parametri:
a) il cell ha un'architettura del tutto particolare che lo rende estremamente performante per compiti estremamente specifici (come la GPU, d'altronde), mentre per compiti general purpose è veramente una chiavica (ha un solo core che si occupa di questo ed è pure molto semplice e poco efficiente)
b) ma anche rimanendo nell'ambito in cui il cell eccelle, ovvero il calcolo vettoriale, i valori che vengono dichiarati sono DI PICCO... anche se comunque nelle (poche) applicazioni specifiche che lo sfrutteranno a dovere mi aspetto che abbia valori notevoli anche in sustained, perchè è progettato apposta (ricordo che già c'erano processori dedicati al calcolo vettoriale, ne ricordo uno da 96 core, 50 gflops e 5 watt di consumo a 250 mhz, il quale si trova - singolo o doppio - su normalissime schede per pc - se ricordo bene ne puoi montare fino a 5 per un totale di 10 processori e 500 gflops)

scordatevi database, web server, file server, eccetera eccetera... il cell fa bene UNA cosa: il calcolo vettoriale. eccelle se:
- deve gestire stream dati (ad es. flussi multimediali, come dice l'articolo)
- deve macinare alcune tipologie di calcoli scientifici (ad es. per fare certi tipi di supercluster sarà il processore ideale)

per tutto il resto, ci sono altri processori.

in un altro topic qualcuno (intelligentemente) aveva fatto notare che il mostro POWER5 come gflops è anni luce dal cell, e probabilmente c'era qualcosa di strano se ibm mette in una console da 300 euro più gflops di un server high-end da mezzo milione di euro... e infatti la cosa non è così, perchè un singolo power5 nel 98% delle applicazioni andrà come 8 cell messi assieme (8 intendo 8, non 1 con 8 core), mentre nel restante 2% il cell farà faville.

stesso discorso per l'opteron... metti un server pieno di cell a fare da web server, mettici a fianco un server con degli opteron e poi ditemi... :D


ora, sui gflops c'è una confusione esagerata, non andiamo avanti ad alimentare ignoranza, ma facciamo informazione... spero di avervi dato un contributo utile a tal riguardo, se così è fatelo vostro...

Another
31-05-2005, 11:42
In Italiano significa che telaio è il soggetto, quindi non è un opteron a sviluppare 53gf ma il totale delle schede inserite nel telaio.

Byexx..

scusa, ma in quella frase ci sono 2 predicati e 2 soggetti :D

cmq in definitiva nn si capisce chi li fa i 53 gflops, se 1 procio o 1 telaio di n proci..

street
31-05-2005, 11:51
Ogni cell ha un core PPC a non ricordo che frequenza. Il mio era solo un esempio perchè non avendo sotto mano nessun benchmark o test, si va solo di congetture :)
Cmq non essendo una cpu general porpouse, diciamo che in uso generale non sarà questa grande scheggia. Con calcoli che trattano dati "vettorizzabili" se la cava egregiamente (ad esempio dati multimediali), con altri (da qui l'esempio del database) si ridimensiona di molto.

Appunto. Ora, io vado ad intuito ma un server immagino svolga soprattutto operazioni su database, non certo dati su calcoli vettoriali (in quel caso non credo che "server" sia la parola giusta).

Che operazioni sono le più comuni in un server?

DjLode
31-05-2005, 11:58
Appunto. Ora, io vado ad intuito ma un server immagino svolga soprattutto operazioni su database, non certo dati su calcoli vettoriali (in quel caso non credo che "server" sia la parola giusta).

Che operazioni sono le più comuni in un server?

Dipende, se fai un cluster con tante cpu e lo usi per fare calcoli particolari (calcoli distribuiti di qualunque genere) probabilmente se la cava molto bene.

Zorgolo
31-05-2005, 12:04
ahhhhhhhhh aiutoooo

per prima cosa vorrei ricordare a tutti che dentro il vostro pc quasi sicuramente avete già più di 400 gflops, e anche di parecchio... una qualsiasi scheda video di fascia medio / alta presumibilmente ha quella capacità di calcolo.



Andiamo piano prima di sparare numeri !!!
Una gpu tipo Geforce 6800 Ultra ha 16 pipes ogniuna esegue calcoli su un vettore di 4 float (precisione singola) e ad un'operazione per clock (400Mhz) siamo a uhm ... 16x4x400M = 25.6GFlop... ben distanti dai 400 ...
Se vuoi puoi anche aggiungere i 6 vertex processor ... portatno a uhm 22 i pipes teorici... ma in realtà i dati calcolati dalla vertex unit sono "temporanei" nel senso che bene o male non possono essere riutilizzati quindi è inutile tenerne conto!
Purtroppo non trovo più un documento interessante dove si parlava dell'elaborazione di dati video usando la GPU invece della cpu, all'epoca il confornto era fatto con Geforce4 4800 (circa 9.6Gflop se non ricordo male) vs Athlon XP 1800+ (circa 1.5Gflop ... qui probabilmente il calcolo è stato effettutato usando il 3Dnow che permette operazioni in floating point su vettori di 2 fp a singola precisione con un tempo di esecuzione di 2 cicli di clock .. quindi si ha un operazione per ciclo... e l'xp 1800+ lavorava a 1533Mhz quindi 1.533 gflop)

Per quanto riguarda gli opteron.. scordatevi pure i 53 Gflop per processore .. !
facnedo 2 conti .. visto che l'opteron usa SSE2 è in grado di eseguire operazioni su vettori di 4 fp singola precisione.
Ora se tale operazioni richiedessero 2 cicli di clock (sinceramente non lo so...) si potrebbe avere un teorico di 4.4 Gflop per proc (a 2.2 ghz)

Ciauz !

fek
31-05-2005, 12:22
Appunto. Ora, io vado ad intuito ma un server immagino svolga soprattutto operazioni su database, non certo dati su calcoli vettoriali (in quel caso non credo che "server" sia la parola giusta).

Che operazioni sono le più comuni in un server?

Credo che un comune file server non veda mai un floating point.

Se e' un server per calcoli scientifici ne vedra' pure troppi e li' il Cell potrebbe avere un ottimo uso, soprattutto con compilatori che parallelizzano automaticamente.

fek
31-05-2005, 12:29
Andiamo piano prima di sparare numeri !!!
Una gpu tipo Geforce 6800 Ultra ha 16 pipes ogniuna esegue calcoli su un vettore di 4 float (precisione singola) e ad un'operazione per clock (400Mhz) siamo a uhm ... 16x4x400M = 25.6GFlop... ben distanti dai 400 ...

Una pipeline esegue in un colpo di clock al massimo due istruzioni semplici su 4 fp32 anche in configurazione 1+1+1+1, ovvero un massimo di 8 istruzioni su dati diversi, piu' una normalizzazione fp16 (3 mul e 2 add), piu' un texture fetch con relativo filtro bilineare o trilineare (al piu' sono 4 add e 1 mul). Alla fine della pipeline ha un certo numero di ROP, non ricordo quali ma ipotizziamo 8, che effettuano l'alpha blending fp16 (2 mul e 1 add).

Sono a occhio circa 20 flop per pipeline per 16 pipeline a 400M. Per quanto questo valore possa avere senso (poco), sono nell'ordine dei 100Mflops solo nella fragment pipeline, a cui va aggiunto tutto il resto dei calcoli che e' in grado di fare una GPU.

Banus
31-05-2005, 12:35
Credo che un comune file server non veda mai un floating point.
Però su GPGPU ho trovato degli articoli sull'uso delle unità shader per operazioni su database e la cosa mi ha lasciato così :eek:
http://gamma.cs.unc.edu/DB/

Se leggete la news originale, è specificato che i 400 Gflops sono per scheda, quindi 200 per chip, e sono teorici. Comunque scordatevi di aggredire la Top500 con questi piccoli mostri, il LINPACK fa uso di float a 64 bit, e su questi purtoppo il Cell è piuttosto scarso :p

fek
31-05-2005, 12:36
Però su GPGPU ho trovato degli articoli sull'uso delle unità shader per operazioni su database e la cosa mi ha lasciato così :eek:
http://gamma.cs.unc.edu/DB/

E no, anche i database nella GPU no :(

sirus
31-05-2005, 12:50
quindi quando dicevano che il cell della PS3 faceva 1 teraflop era una cagata enorme...infatti si parla di 200 gigaflop :(

Fx
31-05-2005, 13:11
no, il teraflop della xbox 360 e i 2 teraflop della ps3 fanno la somma di tutto quanto, gpu compresa... la gpu della xbox 360 è accreditata di c.ca 900 gflops (per quanto - come dice fek - possano avere senso questi numeri) e quella della ps3 a quant'ho capito di quasi il doppio

Fx
31-05-2005, 13:13
Però su GPGPU ho trovato degli articoli sull'uso delle unità shader per operazioni su database e la cosa mi ha lasciato così :eek:
http://gamma.cs.unc.edu/DB/

non riesco ad aprire il link ma il fatto che si riesca a fare non vuol dire che lo faccia efficientemente :D l'uso della GPU per il general purpose è possibile, ma con ovvi risultati

Zorgolo
31-05-2005, 13:27
Una pipeline esegue in un colpo di clock al massimo due istruzioni semplici su 4 fp32 anche in configurazione 1+1+1+1, ovvero un massimo di 8 istruzioni su dati diversi, piu' una normalizzazione fp16 (3 mul e 2 add), piu' un texture fetch con relativo filtro bilineare o trilineare (al piu' sono 4 add e 1 mul). Alla fine della pipeline ha un certo numero di ROP, non ricordo quali ma ipotizziamo 8, che effettuano l'alpha blending fp16 (2 mul e 1 add).

Sono a occhio circa 20 flop per pipeline per 16 pipeline a 400M. Per quanto questo valore possa avere senso (poco), sono nell'ordine dei 100Mflops solo nella fragment pipeline, a cui va aggiunto tutto il resto dei calcoli che e' in grado di fare una GPU.

Non sapevo della questione delle 2 operazioni per ciclo, tuttavia come anche tu ammetti non è motlo corretto tenere conto del bilinear/trilinear filtering o del blending ... almeno per fare un confronto di questo tipo imho. e Cmq .. siamo ben distanti dai 400 Gflop :P

Mazzulatore
31-05-2005, 13:39
mmmhhhhh
se 8 cell fanno 400
e 12 amd fanno 53

il rapporto non è circa di 1 a 12 ?

Io purtroppo con l'aritmetica ci ho litigato in tenera età
Come un famoso fisico... :sofico:

Dreadnought
31-05-2005, 13:41
x zorgolo: Intendeva 100Gflop :)

fek
31-05-2005, 14:02
Non sapevo della questione delle 2 operazioni per ciclo, tuttavia come anche tu ammetti non è motlo corretto tenere conto del bilinear/trilinear filtering o del blending ... almeno per fare un confronto di questo tipo imho. e Cmq .. siamo ben distanti dai 400 Gflop :P

Se vuoi la potenza totale devi tenere conto di tutto. Se vuoi dare un significato a quel numero, allora e' come parlare del sesso degl'angeli :)

penguindark
31-05-2005, 17:32
Forse per tutti è meglio che parliamo a ragion veduta :)
Per maggiori informazioni e struttura del CELL seguire il link scritto sotto, cmq si tratta "solo" di un doppio G5 dual core con 8 DSP programmabili con 256 Kbyte di cache e ring-bus per l'intero gruppo di PPE e SPE.
Quindi è "MOLTO" potente nominalmente, usato per compiti "normali" non credo che sarà cosi spaventoso :cool: , la struttura mi ricorda un pò i vecchi transputer della inmos.
Cmq gran bella bestia!!! ;)

link: link alle specifiche del CELL (http://www.research.scea.com/research/html/CellGDC05/index.html)

Ciao a tutti

nonikname
31-05-2005, 18:18
Ogni motherboard ha 2 Cell , relativa ram XDR e south bridge .. e a 3Ghz , i due cell , arrivano a 200 GFlops
In P.P. (parole povere / poche parole) , questo blade IBM è composto da 2 board x un totale di 4 Cell...

Immagine Motherboard : http://techon.nikkeibp.co.jp/english/NEWS_EN/20050525/105050/IBMCELLboard1500.jpg

Immagine Blade + heat sinks and cooler fans :
http://techon.nikkeibp.co.jp/english/NEWS_EN/20050525/105050/IBMcellserver1500.jpg

Info :
http://techon.nikkeibp.co.jp/english/NEWS_EN/20050525/105050/

Cmq , questi Cell con il giusto software e/o sistema operativo , hanno un potenziale enorme : se IBM riuscisse/volesse integrare in un ipotetico Chipset (o addirittura nello stesso core) un Cell affiancato ad un Power PC opportunamente modificato , IBM prima e Apple poi potrebbero fare piazza pulita in una fascia di mercato importante come quella delle Workstation grafiche e nel campo della simulazione scientifica in generale ...
Mi sa che IBM , Sony , nVIDIA e compagnia bella , mirano proprio alle grosse case di Effetti speciali del cinema d'oltre oceano per prendere i soliti 2 piccioni : profitti da capogiro e pubblicità assicurata..

Mi ri-sa che ho sconfinato dal Fanta-Hardware ai Fanta-Desideri inconsci... Doh!!

P.S.
Resta comunque assodato che un opteron , anche se molto meno potente sul calcolo FP e vettoriale , rimane LA CPU più "flessibile" mai progettata ...

joe4th
31-05-2005, 20:46
Quindi un singolo Cell a quanto va? 50Gflops. Ma sono Gflops
veri (cioe' con floating point a 64bit) o Gflops taroccati
(es. con l'unita in virgola mobile a 24 o 32bit)?
Se un Opteron e' sui 5Gflops questo e' 10 volte piu' veloce
ed e' chiaro che surclasserebbe qualunque processore generico
attuale...Opteron, P4, Itanium, etc.

joe4th
31-05-2005, 21:14
Tra l'altro volevo fare una supposizione.
Supponiamo che i 50 GFlops (o 100 o 200 o 1000 o quelli
che sono) di Cell non siano, come tra l'altro si sospetta,
per floating point a 64bit bensì, come nelle GPU, a 24 o 32bit.
Non pensate che, visto che praticamente e' supportato da
Linux, possa essere usato all'interno di schede grafiche PCI-E
(sostituendo quindi la GPU Nvidia o ATI)
e quindi per esempio si potrebbero avere delle librerie
Mesa/OpenGL totalmente "opensource" ottimizzate
per Cell?

fek
31-05-2005, 23:11
Tra l'altro volevo fare una supposizione.
Supponiamo che i 50 GFlops (o 100 o 200 o 1000 o quelli
che sono) di Cell non siano, come tra l'altro si sospetta,
per floating point a 64bit bensì, come nelle GPU, a 24 o 32bit.
Non pensate che, visto che praticamente e' supportato da
Linux, possa essere usato all'interno di schede grafiche PCI-E
(sostituendo quindi la GPU Nvidia o ATI)
e quindi per esempio si potrebbero avere delle librerie
Mesa/OpenGL totalmente "opensource" ottimizzate
per Cell?

Teoricamente e' possibile. Se vuoi andare a 2fps :)

Fx
31-05-2005, 23:59
penguindark: ma io vorrei sapere tra tutti come vi nasce la convinzione che il g5 sia nella cpu dell'xbox 360 o nel cell... il g5 è un powerpc, la cpu dell'xbox 360 ha 3 core powerpc, il cell ha una SPE powerpc e una serie di PPE... ma il fatto che siano della stessa famiglia mica vuol dire che sono la stessa cosa! l'8086 è un x86, l'opteron dual core, il pentium 3, il k6-II pure... ma mica sono la stessa cosa! oltre al fatto che comunque la SPE del cell ha due thread hardware, non due core fisici (come dire che il pentium 4 con hyperthreading sono due pentium 4... è un po' diverso no?)

joe4th: :muro: il bello è che ti sei risposto da solo quando hai detto:

Se un Opteron e' sui 5Gflops questo e' 10 volte piu' veloce
ed e' chiaro che surclasserebbe qualunque processore generico
attuale...Opteron, P4, Itanium, etc.

se è un processore generico, non è dedicato a fare le operazioni vettoriali, e quindi non sarà così bravo come un processore concepito, progettato e nato per fare quello (come il cell). è lapalissiano.

questo se rovesciamo l'assunto significa che l'opteron sarà 10 volte più veloce (dico per dire) del cell a eseguire istruzioni di tipo general purpose. comunque mi sembra di ripetermi, ti inviterei a leggere uno dei miei ultimi post.

per quanto riguarda il discorso del cell che dovrebbe sostituire la scheda grafica, beh lo può fare perfettamente anche un qualsiasi processore general purpose, ad es. sia su directx che su opengl puoi disattivare in qualsiasi momento il rendering via hardware e farlo eseguire alla cpu: è quasi altrettanto stupido farlo fare al cell, dato che la GPU (la scheda video) è specifica per quel tipo di compito e il cell e la cpu no.

non è difficile:
hardware più specifico -> meno flessibile -> più bravo a fare le cose specifiche a cui è dedicato
hardware più generico -> più flessibile -> meno bravo a eseguire compiti specifici

gli x86 sono il top per quanto riguarda il general purpose
le gpu sono il top per quanto riguarda il il rendering 3d in tempo reale
il cell è il top (presumibilmente) per quanto riguarda il calcolo vettoriale

e così via... =)

Zorgolo
01-06-2005, 10:28
Teoricamente e' possibile. Se vuoi andare a 2fps :)
MAh... secondo me invece potrebbe andare piuttosto bene. La banda con la memoria è di 25GB/s ... che non è proprio male, le operazioni dedicate che mancano (come texture fetching con bilinear/trilinear filtering, stencil buffer, depth buffer bla bla bla...) possono essere eseguite in modo non troppo complesso con un numero di istruzioni veramente limitate, le 8 unità SPE lavorano su vettori a 4 fp32, sicuramente mancherà di alcune funzionalità "ottimizzate" per il 3d, ma anche in quei casi penso che il problema si potrebbe aggirare con un calo di performance minime. Ovviamente dovrei avere l'instruction set del cell sotto mano per poter essere sicuro, ma cosi' a prima vista direi che probabilmente usato per puro 3d non dovrebbe essere proprio malaccio !


le gpu sono il top per quanto riguarda il il rendering 3d in tempo reale
il cell è il top (presumibilmente) per quanto riguarda il calcolo vettoriale
il 99.9% della grafica 3d è calcolo vettoriale :D
Poi ovviamente una GPU è super ottimizzata per quello, l'alpha blending è sempre quello ,2 mul e un add e quindi sarà super ottimizzato, come hanno super ottimizzato il trilinear filtering (tanto che in alcuni casi non è proprio + un trilinear filtering reale).

penguindark
01-06-2005, 12:31
Per Fx: mi scuso ma ho approssimato a G5 per indicare la "generazione" di PowerPC a cui appartiene il PPE di un chip CELL, cmq per le specifiche del PPE questa slide è sicuramente più chiara ed indicherà meglio ciò che io ho semplificato con al sigla sicuramente sbagliata per diversi motivi "G5".
link (http://www.research.scea.com/research/html/CellGDC05/12.html)
Ciao
Dario :cool:

P.S. come mai nessuno ha visto prima questo documento??? è fuori dal 22 marzo scorso... lo ho trovato solo io??? :mbe:

joe4th
01-06-2005, 12:46
Teoricamente e' possibile. Se vuoi andare a 2fps :)

A 2 fps (o forse 4 o 5) ci vado gia' adesso con gli
Opteron (perlomeno Tuxracer e' quasi giocabile).

Ma allora se Cell non puo' essere usato per sostituire una
CPU e nemmeno una GPU, a che cacchio serve?

SirJo
01-06-2005, 12:54
"Dodici processori AMD Opteron @ 2.2 GHz possono effettuare fino a 53 GFLOPS (miliardi d'operazioni in virgola mobile) per telaio. Un intero armadio (12 telai) può fornire 691 GFLOPS"

joe4th
01-06-2005, 12:59
per quanto riguarda il discorso del cell che dovrebbe sostituire la scheda grafica, beh lo può fare perfettamente anche un qualsiasi processore general purpose, ad es. sia su directx che su opengl puoi disattivare in qualsiasi momento il rendering via hardware e farlo eseguire alla cpu: è quasi altrettanto stupido farlo fare al cell, dato che la GPU (la scheda video) è specifica per quel tipo di compito e il cell e la cpu no.


Lo so benissimo che gia' attualmente e' possibile usare
le OpenGL via software. Basta usare le Mesa 3d, ma chiaramente
la CPU e' troppo lenta per fare alcunche' (e pure mi
ricordo che c'era un gioco della Loki di 4 o 5 anni fa,
quando la piu' veloce GPU era la Voodoo, che usava
una libreria OpenGL semplificata dove si ottenevano
rate recenti a 640x480 con processore PII/450).

Il mio intervento riguardava la possibilita' di avere
driver OpenSource che sfruttino l'accelerazione
3D eventualmente possibile in Cell in maniera
decente, sperando che IBM sia piu' magnanima
di Nvidia: Finche' Nvidia non aprira' i suoi driver e le sue
librerie Linux, per me e' come se non esistessero...
Ora se Cell non ha nulla da 'nvidiare' a una GPU
ATI o NVidia, allora perche' i produttori di schede
video non potrebberlo prenderlo in considerazione
per delle schede video alternative?


gli x86 sono il top per quanto riguarda il general purpose
le gpu sono il top per quanto riguarda il il rendering 3d in tempo reale
il cell è il top (presumibilmente) per quanto riguarda il calcolo vettoriale


Se non ha il supporto del FP IEEE 754 (e da qui risulterebbe che
e' molto semplificata: http://www.research.ibm.com/cell/)
l'unico calcolo vettoriale che potrebbe fare e' appunto
quello necessario agli algoritmi di Rendering 3D in tempo reale:
perche' dovrebbero essere molto differenti i calcoli vettoriali
svolti da una GPU NVidia o ATI (NV40, R480, etc.)
da quelli svolti da Cell?

fek
01-06-2005, 14:36
A 2 fps (o forse 4 o 5) ci vado gia' adesso con gli
Opteron (perlomeno Tuxracer e' quasi giocabile).

Ma allora se Cell non puo' essere usato per sostituire una
CPU e nemmeno una GPU, a che cacchio serve?

Per fare il DSP intelligente :)

Il progetto iniziale per la PS3 prevedeva di usare Cell come GPU. Poi si sono giustamente rivolti a NVIDIA per avere una versione custom delle sue GPU.

Ora se Cell non ha nulla da 'nvidiare' a una GPU
ATI o NVidia, allora perche' i produttori di schede
video non potrebberlo prenderlo in considerazione
per delle schede video alternative?

Perche' Cell ha molto da invidiare ad una GPU. Un NV40 e' uno, forse due ordini di grandezza piu' performante nel produrre grafica 3d. E costa meno.

joe4th
01-06-2005, 14:49
Per fare il DSP intelligente :)

Il progetto iniziale per la PS3 prevedeva di usare Cell come GPU. Poi si sono giustamente rivolti a NVIDIA per avere una versione custom delle sue GPU.

Perche' Cell ha molto da invidiare ad una GPU. Un NV40 e' uno, forse due ordini di grandezza piu' performante nel produrre grafica 3d. E costa meno.

Che costi meno e' irrilevante se poi la GPU non so come
usarla perche' si tengono i driver chiusi. Quanto al fatto
che siamo 1 o 2 ordini di grandezza inferiori a NV40, beh
forse vuol dire che siamo a livello di una Radeon 9500?
Sarebbero pur sempre prestazioni di tutto rispetto soprattutto
se fossero raggiunte con driver free.

A quel punto mi chiedo allora a che serve Cell nella PS3? Se fa solo DSP,
che cosa ci devono fare con il DSP, di certo non credo serva a processare 32 stream MPEG4 contemporaneamente (non sarebbe bastato
un mediatek?), ne tantomeno devo pilotare i controlli di un motore elettrico.

Oppure, e' solo un'inutile orpello messo per "sponsorizzare" l'architettura Power4 (Power4, non PowerPC) di IBM?

Fx
01-06-2005, 16:18
e perchè son così scemi che nella xbox 360 e nella ps3 oltre a processori in grado di fare mille mila conti in fp al secondo mettono anche delle GPU che sono 3 volte più grosse delle cpu stesse?

e come mai nei mac che hanno altivec mettono anche l'accelerazione grafica 3d nella scheda video al posto di usare l'unità vettoriale del g4 o del g5?

non so più come farvelo capire che il cell è un'unità vettoriale "generica", non specifica per la grafica 3d, per la quale NON serve solo il floating point, come meglio vi dirà fek (e l'ha già detto, ogni volta si deve ripetere) ci sono altre importanti funzioni che sono fondamentali per la trattazione del 3d (ad es. servono anche delle grosse capacità nel manipolare dati organizzati, in modo del tutto analogo ad un database: le informazioni relative ai poligoni come credete che siano immagazzinate?) per le quali le gpu offrono una risposta hardware, il cell e le cpu no.

ripeto:

cpu -> general purpose
gpu -> grafica 3d
cell / unità vettoriali dell'xbox 360 -> calcolo vettoriale (fisica per i giochi, calcolo scientifico per i server come quello dell'articolo)

è SEMPLICE, mannaggia

perchè non mi venite a dire: "perchè non usano le gpu che hanno un botto di gflops come schede di accelerazione sul calcolo vettoriale nei supercomputer?"... a 400 gflops a botta fai in fretta a fare un supercomputer che va 10 volte di più del più veloce nella top500... è la stessa cosa che dire di usare il cell per la grafica, perchè questo non lo chiedete? =)

DjLode
01-06-2005, 16:25
Ma sopratutto perchè far fare tutto alla cpu (cell) quando ci sono cose (gpu) che fanno le stesse cose (la gpu fa indubbiamente la gpu, e cell potrebbe fare la gpu ma sicuramente non bene come una gpu) tre volte più velocemente, hanno le api con cui programmarle, supporto dai giochi, supporto dalla casa (driver) e costano pure di meno?

joe4th
01-06-2005, 16:28
e perchè son così scemi che nella xbox 360 e nella ps3 oltre a processori in grado di fare mille mila conti in fp al secondo mettono anche delle GPU che sono 3 volte più grosse delle cpu stesse?


Nelle console molto spesso conta mostrare chi ce l'ha più
grosso anche se poi effettivamente non lo si usa...


e come mai nei mac che hanno altivec mettono anche l'accelerazione grafica 3d nella scheda video al posto di usare l'unità vettoriale del g4 o del g5?


Qui non si sta parlando si Altivec, SSE, SSE2|3 o MMX
(che tra l'altro anche quando disattivati hanno effetti
irrilevanti ai fini dei FPS [<40% di differenza per me significa
"irrilevante"), ma di Cell, la quale dichiara di possedere un'unità
vettoriale che e' 10 volte piu' potente da quelle
offerte dai processori (general purpose) attuali.

joe4th
01-06-2005, 16:32
Ma sopratutto perchè far fare tutto alla cpu (cell) quando ci sono cose (gpu) che fanno le stesse cose (la gpu fa indubbiamente la gpu, e cell potrebbe fare la gpu ma sicuramente non bene come una gpu) tre volte più velocemente, hanno le api con cui programmarle, supporto dai giochi, supporto dalla casa (driver) e costano pure di meno?

Riformulo la domanda. Nel momento in cui si sono resi conto
di avere la necessita' di una GPU vera e che non era
possibile demandare certe funzioni a Cell, perche' hanno
ancora insistito con Cell e non hanno optato per una CPU
meno potente ma ancora piu' economica? Non mi rispondente
"perché non c'erano CPU abbastanza potenti da stare dietro alla
GPU NVidia" perche' NON e' vero.

DjLode
01-06-2005, 16:37
Non lo so, ma inserendo Ps3 tra quelle console multimediali (non mi viene in mente nessuna definizione che renda meglio l'idea) con cui quindi fare un pò di tutto, Cell dovrebbe cmq cavarsela meglio di qualunque processore.
C'è anche da dire che l'integrazione di una gpu è proprio roba dell'ultima ora (informaticamente parlando ovvio :) non testualmente) e quindi Sony già si era impegnata con Ibm e Cell. Forse hanno visto che integrare una gpu era più semplice che riprogettare tutto da capo :)

fek
01-06-2005, 16:55
Che costi meno e' irrilevante se poi la GPU non so come
usarla perche' si tengono i driver chiusi.

Usi i driver chiusi, dov'e' il problema?

A quel punto mi chiedo allora a che serve Cell nella PS3? Se fa solo DSP,

Non sei l'unico a domandarselo. Di certo non serve nella maggior parte del lavoro per generare grafica 3d.

fek
01-06-2005, 16:58
Qui non si sta parlando si Altivec, SSE, SSE2|3 o MMX
(che tra l'altro anche quando disattivati hanno effetti
irrilevanti ai fini dei FPS [<40% di differenza per me significa
"irrilevante"), ma di Cell, la quale dichiara di possedere un'unità
vettoriale che e' 10 volte piu' potente da quelle
offerte dai processori (general purpose) attuali.

10 volte piu' potente? Cala cala. 10 volte se gli fai fare quello che sa fare bene. Altrimenti cala di brutto. E raggiungere quei picchi non e' mica una passeggiata nel parco. E quando il Cell sara' effettivamente sul mercato, le CPU generiche di quel periodo a parita' di prezzo non si discosteranno tanto in termini di prestazioni di picco.

D'altronde non capisco perche' il Cell a parita' di numero di transistor usati, debba essere 10 volte piu' veloce: le leggi della fisica per il Cell non valgono?

fek
01-06-2005, 17:02
Riformulo la domanda. Nel momento in cui si sono resi conto
di avere la necessita' di una GPU vera e che non era
possibile demandare certe funzioni a Cell, perche' hanno
ancora insistito con Cell e non hanno optato per una CPU
meno potente ma ancora piu' economica? Non mi rispondente
"perché non c'erano CPU abbastanza potenti da stare dietro alla
GPU NVidia" perche' NON e' vero.

Perche' avevano investito milioni di dollari nella ricerca del Cell e non sarebbe stata un'idea furba abbandonare il tutto quando si sono accorti che non era in grado di fare anche la GPU. Infatti lo hanno tenuto in forma ridimensionata come coprocessore vettoriale per salvare almeno una parte dell'investimento. I primi patent di Sony prevedevano quattro Cell in parallelo ed un fantomatico rasterizzatore di Hitachi.

Ora si e' passati ad un solo Cell che fa da CPU ed una classica GPU a fare da classica GPU. Ci sara' un perche', che dici? :)

Forse hanno visto che integrare una gpu era più semplice che riprogettare tutto da capo :)

Soprattutto a meno di due anni dalla commercializzazione.

Una console non si progetta dall'oggi al domani.

DjLode
01-06-2005, 17:03
D'altronde non capisco perche' il Cell a parita' di numero di transistor usati, debba essere 10 volte piu' veloce: le leggi della fisica per il Cell non valgono?

Bhè in DB Cell inglobando altri diventava più potente, magari a questo Cell basta dargli in pasto un PPC ogni tanto e si digi-evolve in qualcosa di sempre più veloce così che tra X anni avrai una cpu che tiene un capannone ma veloce quanto le cpu di quel tempo :)
Vedi mai che il nome venga da lì?

joe4th
01-06-2005, 17:03
Non lo so, ma inserendo Ps3 tra quelle console multimediali (non mi viene in mente nessuna definizione che renda meglio l'idea) con cui quindi fare un pò di tutto, Cell dovrebbe cmq cavarsela meglio di qualunque processore.


Non me la vedo la PS3 come periferica general purpose
per collegarsi a internet. E' dagli anni 80 che ci
provano a trasformare le console in computer
(qualcuno anche, il viceversa vedi Commodore CD32), ricordate
Adam/Colecovision, etc., e hanno tutti FALLITO, semplicemente
perche' le console sono considerate dei giocattoli, mentre
i computer delle cose "serie"...


C'è anche da dire che l'integrazione di una gpu è proprio roba dell'ultima ora (informaticamente parlando ovvio :) non testualmente) e quindi Sony già si era impegnata con Ibm e Cell. Forse hanno visto che integrare una gpu era più semplice che riprogettare tutto da capo :)

Chi lo sa...

DjLode
01-06-2005, 17:06
Non me la vedo la PS3 come periferica general purpose
per collegarsi a internet. E' dagli anni 80 che ci
provano a trasformare le console in computer
(qualcuno anche, il viceversa vedi Commodore CD32), ricordate
Adam/Colecovision, etc., e hanno tutti FALLITO, semplicemente
perche' le console sono considerate dei giocattoli, mentre
i computer delle cose "serie"...


Ho specificato multimediale, una sorta di Multimedia Center.

joe4th
01-06-2005, 17:11
Perche' avevano investito milioni di dollari nella ricerca del Cell e non sarebbe stata un'idea furba abbandonare il tutto quando si sono accorti che non era in grado di fare anche la GPU. Infatti lo hanno tenuto in forma ridimensionata come coprocessore vettoriale per salvare almeno una parte dell'investimento. I primi patent di Sony prevedevano quattro Cell in parallelo ed un fantomatico rasterizzatore di Hitachi.

Ora si e' passati ad un solo Cell che fa da CPU ed una classica GPU a fare da classica GPU. Ci sara' un perche', che dici? :)

Soprattutto a meno di due anni dalla commercializzazione.

Una console non si progetta dall'oggi al domani.

Beh, allora sembrerebbe
che non sia questa cosa rivoluzionaria che ci vogliono far
credere...; sembra l'ennesima derivazione dai PC attuali in stile XBOX
ai quali hanno aggiunto tutti i chiavistelli DRM tra i vari chip per
costringere i produttori di giochi a pagare loro dei
soldi per avere le firme digitali e quindi permettere
il funzionamento senza modchip...

fek
01-06-2005, 17:15
Beh, allora sembrerebbe
che non sia questa cosa rivoluzionaria che ci vogliono far
credere...;

Bingo :)

sembra l'ennesima derivazione dai PC attuali in stile XBOX
ai quali hanno aggiunto tutti i chiavistelli DRM tra i vari chip per
costringere i produttori di giochi a pagare loro dei
soldi per avere le firme digitali e quindi permettere
il funzionamento senza modchip...

Gli sviluppatori hanno sempre pagato royalty per unita' ai produttori di console dall'albo dei tempi.

joe4th
01-06-2005, 17:20
Bingo :)

Gli sviluppatori hanno sempre pagato royalty per unita' ai produttori di console dall'albo dei tempi.

Francamente ne ho sentito parlare solo a partire da PS2 e XBOX.
Non ne ho idea se nei vari GameBoy, MegaDrive, NeoGeo, etc.
usassero le firme digitali per consentire il funzionamento
dei giochi e che quindi fosse "imposto" sia legalmente
che tecnicamente...

fek
01-06-2005, 17:27
Francamente ne ho sentito parlare solo a partire da PS2 e XBOX.
Non ne ho idea se nei vari GameBoy, MegaDrive, NeoGeo, etc.
usassero le firme digitali per consentire il funzionamento
dei giochi e che quindi fosse "imposto" sia legalmente
che tecnicamente...

Immagino fosse imposto legalmente, ma esiste sicuramente gia' dai tempi del Nintendone e del SNES.

joe4th
01-06-2005, 17:54
Immagino fosse imposto legalmente, ma esiste sicuramente gia' dai tempi del Nintendone e del SNES.

Mi chiedo che tecniche utilizzassero. Forse qualcosa sui brevetti,
perche' altrimenti non vedo come potessero pretenderli: io produco
uno pneumatico che va bene per la Punto, non vedo come
la Fiat possa pretendere e obbligarmi a pagare dei soldi perché
produco un pneumatico che va bene per la loro vettura).

fek
01-06-2005, 17:59
Mi chiedo che tecniche utilizzassero. Forse qualcosa sui brevetti,
perche' altrimenti non vedo come potessero pretenderli: io produco
uno pneumatico che va bene per la Punto, non vedo come
la Fiat possa pretendere e obbligarmi a pagare dei soldi perché
produco un pneumatico che va bene per la loro vettura).

Non ne ho veramente idea :)

dagon1978
02-06-2005, 19:22
visto che vedo parecchi esperti nel settore ne aprofitto...
ho letto tutta la discussione e mi è chiaro che il cell nel general purpose è una chiavica, ora la mia curiosità è questa, per il rendering queste cpu saranno performanti?
mi interessa perché pare che la mental images stia pensando di supportare i processori cell... a questo punto avere una play3, installarci linux e usarla come renderfarm potrebbe diventare una buona opportunità a basso costo, voi che ne pensate? se il cell fa ca**re anche per il render allora è proprio da buttare sta roba :p (scherzo eeh)

FAM
02-06-2005, 20:12
se il cell fa ca**re anche per il render allora è proprio da buttare sta roba :p (scherzo eeh)

Beh, Toshiba ha già dimostrato che nel decoding video è una bestia pura, almeno in campo si salva :D
Per il render aspettiamo il parere di fek & co. :)

Mazzulatore
02-06-2005, 21:02
visto che vedo parecchi esperti nel settore ne aprofitto...
ho letto tutta la discussione e mi è chiaro che il cell nel general purpose è una chiavica, ora la mia curiosità è questa, per il rendering queste cpu saranno performanti?
mi interessa perché pare che la mental images stia pensando di supportare i processori cell... a questo punto avere una play3, installarci linux e usarla come renderfarm potrebbe diventare una buona opportunità a basso costo, voi che ne pensate? se il cell fa ca**re anche per il render allora è proprio da buttare sta roba :p (scherzo eeh)
Sicuro, ma certamente sarai costretto a comprare il kit di installazione di sony, così come per la play2.

fek
02-06-2005, 21:21
visto che vedo parecchi esperti nel settore ne aprofitto...
ho letto tutta la discussione e mi è chiaro che il cell nel general purpose è una chiavica, ora la mia curiosità è questa, per il rendering queste cpu saranno performanti?
mi interessa perché pare che la mental images stia pensando di supportare i processori cell... a questo punto avere una play3, installarci linux e usarla come renderfarm potrebbe diventare una buona opportunità a basso costo, voi che ne pensate? se il cell fa ca**re anche per il render allora è proprio da buttare sta roba :p (scherzo eeh)

E' ottimo come DSP "intelligente", come per la decodifica di flussi video. Il Cell e' eccellente in tutti i campi in cui c'e' un flusso di dati in ingresso sul quale eseguire un certo numero di operazioni.

Non e' il caso del rendering, che e' una tipico algoritmo di "gathering and scattering", in cui si raccolgono dati sparsi casualmente in memoria, li si elabora e li riscrive casualmente (piu' o meno) in memoria. Le GPU hanno molta logica per rendere queste operazioni veloci e nascondere le latenze degli accessi a memoria. Da poco si inizia ad usare le GPU anche per accelerare il rendering offline dei film, ad esempio.

jappilas
02-06-2005, 21:56
io produco
uno pneumatico che va bene per la Punto, non vedo come
la Fiat possa pretendere e obbligarmi a pagare dei soldi perché
produco un pneumatico che va bene per la loro vettura).
un pneumatico posso produrlo ma magari la Fiat mi può imporre di pagare una royalty se voglio commercializzarlo come "accessorio certificato" per il suo modello di auto

per me c'è anche da tenere conto di una cosa che forse potrà apparire banale: nel mondo It, dove la soluzione al problema di dover fare del computing è risolvibile diversamente a seconda di chi studia una soluzione, non mi pare ci sia una ISA che possa essere riconosciuta come LA piattaforma, lo "standard", che sia nata da un qualche forum o SIG aperto e certificata da qualche numero di iso, IEEE o altro (interfacce a parte)...
tutti stiamo usando macchine nate come proprietarie con OS nati come proprietari (per ciò che concerne le specifiche, non l' implementazione, ), e poi più o meno evolutesi per la loro strada...
conseguenza di ciò è che ogni cosa, dalla scheda aggiuntiva al programma che gira su quel certo OS, è in effetti un "accessorio" per qualcos' altro

da questo punto di vista apparirebbe logico che le royalty si inseriscano nel meccanismo, in quanto la validazione di un prodotto diviene discrezionale , dipendendo da chi produce l' elemento ospitante o vi detiene i diritti

jappilas
02-06-2005, 22:10
Da poco si inizia ad usare le GPU anche per accelerare il rendering offline dei film, ad esempio.
in quel caso, mi pare che ci fossero delle limitazioni date dall' uso della gpu per il rendering offline ...
nel senso, il render ottenuto sfruttando gli shader risulterebbe, anche alla massima qualità impostabile, un' approssimazione di ciò che consente un algoritmo puramente SW
il che sarebbe dovuto all set di istruzioni delle unità shader , alla dimensione della memoria locale (frame buffer) e alla lunghezza massima degli shader programs, che porrebbero restrizioni alla complessità degli algoritmi di calcolo e agli effetti ottenibili...
...o è cambiato qualcosa nell' ultimo periodo (magari con i nuovi shader model)?

...o sono del tutto fuori strada?

dagon1978
02-06-2005, 22:10
E' ottimo come DSP "intelligente", come per la decodifica di flussi video. Il Cell e' eccellente in tutti i campi in cui c'e' un flusso di dati in ingresso sul quale eseguire un certo numero di operazioni.

Non e' il caso del rendering, che e' una tipico algoritmo di "gathering and scattering", in cui si raccolgono dati sparsi casualmente in memoria, li si elabora e li riscrive casualmente (piu' o meno) in memoria. Le GPU hanno molta logica per rendere queste operazioni veloci e nascondere le latenze degli accessi a memoria. Da poco si inizia ad usare le GPU anche per accelerare il rendering offline dei film, ad esempio.
bene quindi manco nel rendering vanno bene! :D fantastico...
e invece la nuova x-box in questo caso come se la caverebbe?
aaah ma quanti muscoli non sfruttabili uff :doh:

fek
02-06-2005, 22:26
in quel caso, mi pare che ci fossero delle limitazioni date dall' uso della gpu per il rendering offline ...
nel senso, il render ottenuto sfruttando gli shader risulterebbe, anche alla massima qualità impostabile, un' approssimazione di ciò che consente un algoritmo puramente SW
il che sarebbe dovuto all set di istruzioni delle unità shader , alla dimensione della memoria locale (frame buffer) e alla lunghezza massima degli shader programs, che porrebbero restrizioni alla complessità degli algoritmi di calcolo e agli effetti ottenibili...
...o è cambiato qualcosa nell' ultimo periodo (magari con i nuovi shader model)?

...o sono del tutto fuori strada?

Sei piu' o meno in strada. E' verissimo che la qualita' ottenibile e' ancora limitata da una combinazione di fattori, fra i quali:

- il set di istruzioni degli shader model a disposizione (SM2.0 e SM3.0) non ancora particolarmente ricco da poter implementare tutto cio' che e' implementabile offline su CPU general purpose

- le GPU offrono ad oggi precisione massima di 32 bit per componente (R, G, B, A) dove il rendering offline arriva fino a 64 bit e 128 bit per componente.

In sintesi e' il solito discorso, quando una GPU puo' eseguire un algoritmo, e' un missile confrontato alle CPU general purpose, anche diversi ordini di grandezza nelle situazioni ideali. Quando non puo' eseguire l'algoritmo, le CPU vincono per la loro maggiore flessibilita' a scapito delle prestazioni.
Lo stesso identico discorso e' applicabile al Cell.


bene quindi manco nel rendering vanno bene! fantastico...
e invece la nuova x-box in questo caso come se la caverebbe?
aaah ma quanti muscoli non sfruttabili uff

Vanno :)
Sicuramente alcuni algoritmo di rendering offline possono essere accelerati enormemente dal Cell, altri no. Dipende.

Non e' una questione di muscoli sprecati. Potresti dire che un centrometrista ha muscoli sprecati perche' con quella velocita' potrebbe segnare tantissimi gol giocasse a calcio. Ma il centrometrista si e' specializzato in quello, lui non sa giocare a calcio :)

Marco71
03-06-2005, 09:25
E' sempre stato così...
I microprocessori "general purpose" sono sempre stati più lenti di circuiti integrati predisposti all'uopo per l'accelerazione di en precisi algoritmi di calcolo....
Nessuno si ricorda del Weitek 3167 coprocessore matematico per 80386 molto più rapido dell'80387....
E che dire dei Transputer della Inmos...
Per non parlare della fortunatissima serie di D.S.P 56xxx della Motorola che è stata utilizzata anche nei telefoni cellulari tipo il 920/930...
D.S.P potentissimi, molto più dei processori nei personal computer "I.B.M compatibili", li potete trovare anche dentro alcuni modelli di lavatrici (Texas Instruments) per il controllo del moto.
Ecc. ecc.
Non è la prima nè l'ultima volta che si "grida al miracolo" per un processore dedicato che sarà inserito in una console piuttosto che in telefono U.M.T.S od altro...
Piuttosto mi piacerebbe sapere se Cell risponde agli stringenti requisiti del formato in virgola mobile I.E.E.E 754/854...
Grazie.

Marco71.

cdimauro
06-06-2005, 13:13
Io adesso non ho molto tempo e quindi faccio appelo al Dr. Di Mauro affinchè porti chiarezza in questa "confusione" di acronimi e significati che motli vedo, fanno ancora (confusione).
Poi vorrei sapere perchè non specificano mai le condizioni ed il tipo di benchmark utilizzato: f.l.o.p.s in sè vuol dire tanto/poco.

1) sono f.l.o.p.s. in singola o doppia precisione magari I.E.E.E 754/854...

2) sono f.l.o.p.s provenienti dal caro "vecchio" benchmark Whetstone...

3) sono f.l.o.p.s Linpack risultato di operazioni "vettoriali" per la soluzione di sistemi lineari...

4) sono f.l.o.p.s del tipo: "somma 1.234 ad 1.5667"...

Insomma non si può sempre "sparare ad alzo zero"...
Grazie.

Marco71.
Sono d'accordo FLOPS ormai non vuol dire niente: poteva avere un senso quando coi primi processori RISC che integravano FPU e che avevano dei tempi di esecuzione precisi per le istruzioni; ha un senso per i DSP, che per loro natura eseguono le istruzioni in tempi fissi (assolutamente necessario per sapere esattamente in quanti cicli di clock, e quindi tempo di esecuzione, è richiesto per una ben precisa routine).

1) In questo caso si tratta sicuramente di FLOPS in singola precisione, dato l'elevato numero che viene fuori. Coi numeri in doppia precisione il numero di FLOPS diventa un decimo.
Non credo che siano FLOPS che seguano lo standard IEEE754, perché generalmente le unità SIMD eseguono calcoli in virgola mobile senza tanti controlli e semplificazioni per accelerare i tempi di esecuzione; eventualmente generano delle eccezioni nel caso in cui si ottengano risultati particolari (infinito positivo o negativo, Not-A-Number, overflow o underflow), ma di Cell non si sa ancora bene come funzionino le otto SPE.

2) Non penso che abbiano usato un vecchio benchmark come il Whetstone.

3) Se hanno usato LinPack per misurare le prestazioni, mi sembra strano un valore così elevato per Cell e così basso per gli Opteron: sembra che abbiano "conteggiato" la potenza di calcolo in singola precisione per il primo, mentre quella in doppia precisione per il secondo.
Questo perché un Opteron può eseguire fino a due istruzioni in floating point a doppia precisione per ciclo di clock con la vecchia FPU x87 o usando le SIMD a doppia precisione introdotte con le SSE2; in singola precisione, invece, un Opteron può calcolare fino a 4 dati in singola precisione per ciclo di clock con le SSE/2.
Quindi nei conti e nei confronti che sono stati fatti c'è qualcosa che non quadra.

4) In genere per i FLOPS si conteggiano le istruzioni che eseguono dei calcoli aritmetici (somma/sottrazione, prodotto e alcune volte la divisione) e non quelle di Load / Store. Dipende dal contesto. E questo dimostra che il termine "FLOPS" non può essere usato come valida unità di misura delle prestazioni (come pure i MIPS).

P.S. Per il 386 c'era anche il coprocessore matematico della ITT, se non erro, che aveva delle eccellenti prestazioni... :p

cdimauro
06-06-2005, 13:14
Non ne ho idea se nei vari GameBoy, MegaDrive, NeoGeo, etc.
usassero le firme digitali per consentire il funzionamento
dei giochi e che quindi fosse "imposto" sia legalmente
che tecnicamente...
No, non usavano firme digitali.