NVIDIA illustra il progetto Echelon

NVIDIA illustra il progetto Echelon

Nel contesto di un programma sponsorizzato dal DARPA, NVIDIA illustra le caratteristiche di un chip che andrà ad equipaggiare sistemi HPC di classe exaflop

di pubblicata il , alle 15:14 nel canale Schede Video
NVIDIA
 
48 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
yossarian18 Novembre 2010, 19:12 #11
Originariamente inviato da: Someone
Se guardi al mondo dei videogiochi allora le soluzioni nvidia non sono il max per quanto riguarda performance/watt. D'altronde i loro chip si portano dietro una serie di funzionalità per il GPGPU che per i videogiochi non sono usati ma che comunque consumano (e rendono il loro chip delle mattonelle).
Se guardi invece in campo GPGPU non c'è alcuna soluzione che faccia meglio.
Basta guardare le prestazioni della concorrenza nella applicazioni professionali. Le loro schede consumano di più e vanno meno anche se nell'eseguire i soli compiti grafici sono più efficienti.


che intendi per "applicazioni professionali"? Qui si parla di gpgpu e, in quell'ambito, a fare la differenza è la capacità di calcolo in DP
Qui c'è una comparativa piuttosto esaustiva delle performance nei puri calcoli aritmetici, tra GTX470 e HD5870
Chi volesse leggere tutto l'articolo può andare qui

Qui, invece, c'è una comparativa tra processori della precedente generazione, in relazione alle performance in DP per unità di superficie
Pleg19 Novembre 2010, 04:50 #12
Originariamente inviato da: yossarian
che intendi per "applicazioni professionali"? Qui si parla di gpgpu e, in quell'ambito, a fare la differenza è la capacità di calcolo in DP
Qui c'è una comparativa piuttosto esaustiva delle performance nei puri calcoli aritmetici, tra GTX470 e HD5870
Chi volesse leggere tutto l'articolo può andare qui


Pero' in quel link si parla di schede consumer, sarebbe interessante vedere i numeri per le soluzioni HPC (Tesla ecc.). Ad es. per GF100 le performance in DP di un prodotto Tesla dovrebbero essere quadruple della 470 (il rapporto SPP e' 2:1 invece che 8:1).
Inoltre, quella e' la peak performance, mentre quello che importa e' la performance che il programma riesce davvero ad estrarre. Conosci delle recensioni al riguardo?
Someone19 Novembre 2010, 10:11 #13
Nei grafici linkati manca l'architettura Fermi. Consideriamo che questa è 8 volte più veloce in DP del G200 per un'area più o meno uguale. Ricordo che le Tesla usano memoria ECC che usa più energia della memoria "normale" quindi il punto di efficienza diminuisce leggermente anche per questo.
I bench del secondo link sono interessanti, ma sono specifici per singola operazione. Nei calcoli veri non si esegue la stessa istruzione un milione di volte e basta saturando in maniera artificiale tutti gli SP alla loro massima efficienza. Entrano in gioco molte altre cose, come ad esempio la capacità di passare i risultati da un thread al successivo o di mixare istruzioni diverse.
Nei bench OpenCL, gli unici che permettono di avere un confronto diretto tra le due architetture, si vede che l'architettura Fermi funziona meglio in quasi tutti gli scenari.
Negli algoritmi dove non si fa solo moltiplicazioni di matrici in DP ad hoc per mostrare la massima efficienza dell'architettura, si vede dove le capacità dell'architettura nvidia vs quella AMD prevale.

Qui si parla di gpgpu e, in quell'ambito, a fare la differenza è la capacità di calcolo in DP

Nel campo professionale si usano le capacità di calcolo per fare cose che non sono sole ed esclusivamente quello di muovere poligoni sullo schermo come nei videogiochi.
Potresti spiegare altrimenti come è possibile che il Cypress che nel campo videoludico praticamente sta un solo passo dietro al GF100, nel campo professionale sta 5 o 10 passi indietro. E le specifiche delle schede Quadro non sono quelle GeForce. Nelle Quadro si usa il chip della 470 con frequenze inferiori. I bench dei consumi indicano addirittura che queste schede consumano meno delle schede AMD e vanno di più. Una cosa che a guardare i bench dei videogiochi nessuno crederebbe.

yossarian19 Novembre 2010, 10:27 #14
Originariamente inviato da: Pleg
Pero' in quel link si parla di schede consumer, sarebbe interessante vedere i numeri per le soluzioni HPC (Tesla ecc.). Ad es. per GF100 le performance in DP di un prodotto Tesla dovrebbero essere quadruple della 470 (il rapporto SPP e' 2:1 invece che 8:1).
Inoltre, quella e' la peak performance, mentre quello che importa e' la performance che il programma riesce davvero ad estrarre. Conosci delle recensioni al riguardo?


ciao Davide, un chip derivato da gf100 destinato ad equipaggiare una scheda di tipo tesla, ha un numero di alu pari a 448 con frequenza di 1150 MHz e performance di picco pari a 515,2 Gflops in SP e 257,6 in DP per operazioni di tipo scalare. Questi valori calano ad 1/4 per operazioni su vettori mentre restano invariate le prestazioni con funzioni trascendentali rispetto ai chip di tipo consumer. Questo significa che arrivano a pareggiare i conti con la 5870 nelle operazioni scalari e nelle MUL e MAD vettoriali.
Quelli riportati in tabella sono i valori teorici mentre quelli nei grafici sono valori misurati sperimentalmente; infatti quantitativamente si discostano da quelli teorici e, in più di qualche occasione, anche l'andamento qualitativo non si allinea alla teoria. In alcuni casi la cosa è facilmente spiegabile; ad esempio le MAD sono eseguite dai chip nVidia con 2 passaggi anzichè con uno solo perchè non avviene la conversione da MAD in FMA (i chip ATi eseguono entrambi i tipi di calcoli alla stessa velocità mentre quelli nVidia hanno alu in grado di eseguire una FMA in un solo ciclo ma per una MAD hanno bisogno di due cicli).
In ogni caso, la mia risposta era destinata a chi affermava che i chip nVidia hanno un migliora rapporto prestazioni/watt in ambito pro, la qual cosa è palesemente falsa. Una tesla ha prestazioni comparabili, sia in teoria che in pratica, a quelle di una 5870 nell'esecuzione di calcoli matematici ma non ha consumi inferiori.
yossarian19 Novembre 2010, 10:59 #15
Originariamente inviato da: Someone
Nei grafici linkati manca l'architettura Fermi. Consideriamo che questa è 8 volte più veloce in DP del G200 per un'area più o meno uguale. Ricordo che le Tesla usano memoria ECC che usa più energia della memoria "normale" quindi il punto di efficienza diminuisce leggermente anche per questo.


infatti è specificato che si tratta di processori della precedente generazione (non compare neppure la serie 5xx0 di ATi); inoltre GT200 in DP non fa testo in quanto ha una capacità di calcolo veramente ridotta


Originariamente inviato da: Someone
I bench del secondo link sono interessanti, ma sono specifici per singola operazione. Nei calcoli veri non si esegue la stessa istruzione un milione di volte e basta saturando in maniera artificiale tutti gli SP alla loro massima efficienza. Entrano in gioco molte altre cose, come ad esempio la capacità di passare i risultati da un thread al successivo o di mixare istruzioni diverse.
Nei bench OpenCL, gli unici che permettono di avere un confronto diretto tra le due architetture, si vede che l'architettura Fermi funziona meglio in quasi tutti gli scenari.
Negli algoritmi dove non si fa solo moltiplicazioni di matrici in DP ad hoc per mostrare la massima efficienza dell'architettura, si vede dove le capacità dell'architettura nvidia vs quella AMD prevale.


nell'esecuzione di calcoli matematici, come quelli utilizzati in ambito GPGPU, i valori misurati sperimentalmente sono molto prossimi a quelli teorici, al contrario di quello che succede in ambito videoludico, proprio perchè non ci sono operazioni ad elevate latenze che possono far stallare la pipeline o rallentare l'elaborazione. I valori teorici di fermi e di cypress li conosciamo e quelle tabelle mostrano quelli sperimentali.

Originariamente inviato da: Someone

Nel campo professionale si usano le capacità di calcolo per fare cose che non sono sole ed esclusivamente quello di muovere poligoni sullo schermo come nei videogiochi.
Potresti spiegare altrimenti come è possibile che il Cypress che nel campo videoludico praticamente sta un solo passo dietro al GF100, nel campo professionale sta 5 o 10 passi indietro. E le specifiche delle schede Quadro non sono quelle GeForce. Nelle Quadro si usa il chip della 470 con frequenze inferiori. I bench dei consumi indicano addirittura che queste schede consumano meno delle schede AMD e vanno di più. Una cosa che a guardare i bench dei videogiochi nessuno crederebbe.


i test che hai linkato riguardano applicazioni di grafica pro e non GPGPU (li le tesla non c'entrano niente). Per questo ti ho chiesto a quali applicazioni pro fai riferimento. E, nel caso di grafica pro, si tratta sempre di muovere poligoni con annessi e connessi (comprese operazioni di texturing, ad esempio). Inoltre, anche in quei grafici si vedono test in cui le quadro sono avanti, in alcuni anche molto avanti, ma se ne vedono altri in cui sono indietro (a volte anche molto indietro). Inoltre non ho trovato scritto da nessuna parte che le quadro consumino meno delle firegl.
In quanto alle differenze di prestazioni, i grafici presenti nell'articolo che ho linkato possono dare molte risposte, anche per quanto riguarda il campo consumer. Se un SW fa molto uso, ad esempio, di istruzioni di tipo scalare in fp32 o di heavy tessellation (come alcuni bench sintetici) i chip nVidia sono sicuramente avvantaggiati.
Someone19 Novembre 2010, 11:29 #16
Per quanto riguarda i consumi avevo visto un benchmark che mostrava consumi inferiori per schede nvidia con potenza simile a quelle ATI. Probabilmente non è il caso della serie QUadro 6000 che consuma una cinquantina di watt in più.
Però non so come tu faccia a dire che le capacità sono le stesse quando i benchmark su prodotti reali, non benchmark fatti ad hoc per mostrare una particolare ottimizzazione all'esecuzione di una sola istruzione (o tipo di istruzioni) è questa:
http://hothardware.com/Reviews/NVID...-Review/?page=8

Ed è solo un esempio, tra tutti quelli che sono riportati in quella recensione, che evidenzia in maniera chiara la differenza tra le due architetture e mette in mostra anche la differenza con l'architettura vecchia di nvidia (che spesso sorpassa comunque quella nuova di AMD).
Ora, o i numeri teorici che hai riportato sono appunto solo teorici e molto ma molto distanti poi dalla efficienza vera che si ottiene oppure in AMD hanno una architettura stratosferica (secondo i numeri che hai dato) ma che non sanno sfruttare per via di driver penosi.
Ripeto, non si capisce perchè in campo videoludico il Cypress sarebbe solo leggermente inferiore ad un Fermi, quando invece nel campo professionale, dove entrano in gioco altre caratteristiche, gli stessi piombino dietro addirittura al così tanto bistrattato G200.
Someone19 Novembre 2010, 11:41 #17
Oh, mi scuso, ho scritto il commento precedete prima della tua risposta.

nell'esecuzione di calcoli matematici, come quelli utilizzati in ambito GPGPU, i valori misurati sperimentalmente sono molto prossimi a quelli teorici

Credo proprio di no. Basta vedere nei super computer di calcolo ibridi quale è il valore teorico di picco e quello realmente ottenuto dai test che danno il punteggio alle capacità di calcolo reali dell'intero sistema. Si arriva anche ad 1/4 della potenza di picco, indice che per calcoli di complessità elevata l'efficienza è nettamente minore di quella che si ottiene con semplici bench.
Se guardi invece il rapporto tra picco teorico e quello reale di architetture basate solo su "normali" CPU vedi che i numeri sono decisamente più grandi (migliore efficienza). E con il Cell questi numeri sono ancora migliori.
Misurare le capacità HPC con un test che calcola la stessa matrice ottimizzata per la cache del particolare processore e ottenere il 95% della capacità di calcolo dello stesso non ha senso quando, come detto, l'efficienza in campo reale è decisamente molto ma molto più bassa, e quindi è più importante riuscire ad aumentarla con sistemi diversi che semplicemente attraverso la presenza di migliaia di ALU che fanno DP in un solo ciclo di clock che vengono saturate solo in condizioni ideali.
Certo aiuta, ma non sembra essere la condizione dominante per avere un sistema che performa meglio di un altro.
yossarian19 Novembre 2010, 13:36 #18
Originariamente inviato da: Someone
Per quanto riguarda i consumi avevo visto un benchmark che mostrava consumi inferiori per schede nvidia con potenza simile a quelle ATI. Probabilmente non è il caso della serie QUadro 6000 che consuma una cinquantina di watt in più.
Però non so come tu faccia a dire che le capacità sono le stesse quando i benchmark su prodotti reali, non benchmark fatti ad hoc per mostrare una particolare ottimizzazione all'esecuzione di una sola istruzione (o tipo di istruzioni) è questa:
http://hothardware.com/Reviews/NVID...-Review/?page=8

Ed è solo un esempio, tra tutti quelli che sono riportati in quella recensione, che evidenzia in maniera chiara la differenza tra le due architetture e mette in mostra anche la differenza con l'architettura vecchia di nvidia (che spesso sorpassa comunque quella nuova di AMD).
Ora, o i numeri teorici che hai riportato sono appunto solo teorici e molto ma molto distanti poi dalla efficienza vera che si ottiene oppure in AMD hanno una architettura stratosferica (secondo i numeri che hai dato) ma che non sanno sfruttare per via di driver penosi.
Ripeto, non si capisce perchè in campo videoludico il Cypress sarebbe solo leggermente inferiore ad un Fermi, quando invece nel campo professionale, dove entrano in gioco altre caratteristiche, gli stessi piombino dietro addirittura al così tanto bistrattato G200.


quelli che tu definisci esempi "reali" sono solo esempi di SW programmati in modo da favorire, volontariamente o meno, una determinata modalità di esecuzione. Se utilizzi SW che fanno largo uso di istruzioni di tipo vettoriale scopri che i chip ATi diventano molto più veloci della controparte nVidia.
Quelli che tu chiami dati "teorici" sono dati sperimentali sulla capacità di calcolo reale con SW non ottimizzato né per esecuzione seriale né parallela. Infatti mettono in evidenza come i chip nVidia si avvantaggino nel primo caso e quelli ATi nel secondo. Quindi, sono molto più utili a capire le reali capacità di calcolo di una determinata architettura e anche i suoi punti deboli, perchè sono trasparenti alle ottimizzazioni.

Originariamente inviato da: Someone
Oh, mi scuso, ho scritto il commento precedete prima della tua risposta.


Credo proprio di no. Basta vedere nei super computer di calcolo ibridi quale è il valore teorico di picco e quello realmente ottenuto dai test che danno il punteggio alle capacità di calcolo reali dell'intero sistema. Si arriva anche ad 1/4 della potenza di picco, indice che per calcoli di complessità elevata l'efficienza è nettamente minore di quella che si ottiene con semplici bench.
Se guardi invece il rapporto tra picco teorico e quello reale di architetture basate solo su "normali" CPU vedi che i numeri sono decisamente più grandi (migliore efficienza). E con il Cell questi numeri sono ancora migliori.
Misurare le capacità HPC con un test che calcola la stessa matrice ottimizzata per la cache del particolare processore e ottenere il 95% della capacità di calcolo dello stesso non ha senso quando, come detto, l'efficienza in campo reale è decisamente molto ma molto più bassa, e quindi è più importante riuscire ad aumentarla con sistemi diversi che semplicemente attraverso la presenza di migliaia di ALU che fanno DP in un solo ciclo di clock che vengono saturate solo in condizioni ideali.
Certo aiuta, ma non sembra essere la condizione dominante per avere un sistema che performa meglio di un altro.


Cosa c'entrano i supercomputer? Lo sai che in un elaboratore del genere il collo di bottiglia è, nella stragrande maggioranza dei casi, il bus di connessione tra i vari processori? Qualunque sistema di tipo multiprocessore ha, spesso, nel bus il collo di bottiglia. Persino nel cell, con soli 8 processori, a seconda di come programmi il trasferimento dati da un SPE all'altro, puoi avvicinarti alla potenza di picco teorica o ridurre la capacità di calcolo del chip ad 1/3 di quest'ultima. Ben diverso è quello che avviene all'interno di una gpu. Nel supercomputer cinese di cui ha parlato anche HWU, gran parte dell'incremento della potenza di calcolo è dovuto all'utilizzo di un nuovo tipo di bus che raddoppia la banda a disposizione rispetto a quello utilizzato dal vecchio Tianhe.
Inoltre continui a fare confusione, parlando di GPGPU e tesla e postando test che riguardano le quadro. Sono due ambiti del tutto differenti
Someone19 Novembre 2010, 14:42 #19
Cosa c'entrano i supercomputer?

Scusa riassumiamo un attimo.

I bench delle Quadro non vanno bene perchè mostrano che una Quadro Basata su Fermi va il doppio di una basata su Cypress, e non si sa il perchè dato che in ambito videoludico i due chip sono quasi alla pari.

In ambito con i super computer (che sono usati per fare calcoli matematici) i bench non vanno bene perchè i limiti sono della banda.

Siamo sempre ai soliti discorsi di teoria vs pratica. Io vedo dei numeri che dall'altra parte non ci sono. Sarà perché l'architettura AMD non è all'altezza di quella nvidia nell'atto pratico (non teorico dove sfoggia numeri più grandi) o perchè AMD non è in grado di fare driver all'altezza di sfruttare i propri transistor tanto sudatamente progettati. O una combinazione delle due.
Fatto sta che nella pratica, cioè per quello che riguarda l'uso di programmi usati in ambito professionale/HPC non c'è alcun riferimento oggettivo che tutta questa potenza sia espressa. Anzi, mi sembra che proprio non ci sia.

Dimmi in poche parole perché le Quadro fanno quei numeri e perché nei bench OpenCL nvidia surclassa in quasi tutti i bench le schede ATI anche se dai grafici che hai postato tu le schede ATI dovrebbero essere sensibilmente più veloci in linea teorica. Dove sta il problema? Sempre e solo nei driver?
!fazz19 Novembre 2010, 15:01 #20
Someone, il fatto di non poter usare un cluster per valutare le performance di una singola componente è palese

daltronde non si possono neanche confrontare direttamente le due architetture per "via numerica" (n° shader ecc ecc) in quanto le architteture sono troppo diverse.

rimane solo la possibilità di testare mediante bench una singola gpu ma anche qui bisogna stare attenti in quanto le architetture fondamentalmente diverse permettono facilmente di taroccare il risultato in base a come viene svolto il benchmark


e comunque a cappello di tutto visto il tuo storico messaggi diciamo non super partes chiederei gentilmente di dimostrare ogni tua tesi in maniera oggettiva e documentata

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^