|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jun 2008
Messaggi: 257
|
gflops ati e nvidia
ciao a tutti è da un pò che mi chiedevo una cosa ma perche ati ha più gflops e va piu lenta di nvidia nei giochi?
![]() hd 4870 1,2 tflops gtx 280 900 gflops
__________________
asus g60vx intel core extreme x9100 3.06ghz 4gb gtx260m 1gb ddr3 intel x25m 80 gb seagate 320 gb 7200 rpm |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2001
Messaggi: 5390
|
si tratta di architetture completamente differenti e non comparabili sulla sola base delle Gflops. In GT200 e G8x gli stream processor (SP) sono di tipo scalare e hanno alu in grado di svolgere una MADD (moltiplicazione + addizione), una MUL e un'operazione di controllo dei flussi per il dynamic branching (DB) in serie. Questo comporta che la gestione dell'ILP (instruction level parallelism) avvenga in automatico, da parte degli stessi thread dispatch processor (arbiter più sequencer) che si occupano di gestire il bilanciamento dei carichi di lavoro.
In RV770, R600 e RV670, gli SP sono di tipo vliw, ognuno composto da 5 alu in grado di svolgere una MADD e da un circuito di controllo dei flussi per il DB in parallelo. Questo comporta che i thread dispatch processor gestiscono il bilanciamento dei carichi di lavoro tra gli SP ma non l'ILP che viene gestita a livello di compilatore (e quindi via SW e non HW). Quindi, di fatto, i chip nVIDIA sono progettati per lavorare meglio con codice di tipo seriale (ogni sp può operare su più istruzioni in serie) mentre quelli ATi sono più improntati al calcolo parallelo. Oltre a questo ci sono altre difefrenze architetturali che possono influire sul rendimento con i giochi. Ad esempio i chip nVIDIA hanno un maggior numero di unità di texture filtering e ciò comporta che sono in grado di lavorare su più texel per ciclo (anche se lavorano a frequenze più basse rispetto a quelle dei chip ATi e perciò svolgono meno cicli in un secondo). I chip ATi nescondono meglio le latenze relative alle operazioni di texturing (hanno texture cache di tipo fully associative e non set associetive come quelli di nVIDIA, e hanno più unità di texture address). Altra differenza è relativa alle rop's o RBE. I chip nVIDIA sono ottimizzati avere uno z-fillrate molto elevato (utilizzano come punti di uscita verso la z-buffer sia la branca delle rop's deputata a svolgere z-ops che quella deputata e svolgere color ops. I dati dello z-buffer sono utilizzati per calcolare la distanza degli oggetti dall'osservatore e, quindi, per le operazioni di rimozione dei poligoni nascosti. I chip ATi sono ottimizzati per rendere al meglio con le operazioni di antialiasing, sia di tipo box filter (quello svolto all'interno delle rop's) che di tipo custom, con algoritmi non necessariamente di tipo lienare (con le operazioni di resolve svolte a livello di shader core). In particolare, RV670 ed RV770 hanno la possibilità di utilizzare più render target per le operazioni di MSAA box filter (opzione prevista dalle dx10.1), il che permette di avere, ad esempio, MSAA 4x con impatto quasi nullo sulle prestazioni (un esempio si è visto con la patch 1.01 di assassin creed, con cui una RV770 guadagnava quasi il 25% rispetto alle pretazioni attuali e una hd4850 superava, a 1680x1050, con msaa 4x, una GT280; in maniera alquanto misteriosa ![]() Riassumendo, da un lato si ha un'architettura (quella di nVIDIA) che lavora molto bene con codice di tipo seriale (molte operazioni di tipo dependent read, cioè in cui la successiva operazioni dipende dal risultato della precedente), dall'altro un'architettura che lavora molto meglio con codice parallelo, in cui la gestione dell'ILP è affidata al compilatore che non fa altro che raccogliere più istruzioni relative allo stesso thread in una macro istruzione da dare in pasto ad uno SP. A livello di efficienza, l'architettura di nVIDIA è meno dipendente dal codice da elaborare (il delta tra prestazioni massime e minime ottenibili non è molto ampio), quella di ATi può variare da un massimo di 800 flops per ciclo ad un minimo di 160 flops per ciclo (1600 e 320 se consideriamo che una MADD è composta da due operazioni a cui andrebbero aggiunte le operazioni di branching) . Con istruzioni di tipo geometrico che sono strutturate in modo da avere più istruzioni indipendenti relative ad uno stesso thread, i chip ATi sono molto più veloci, con istruzioni relative ai pixel shader, dove è possibile avere sia più istruzioni indipendenti che istruzioni di tipo scalare dipendenti le une dalle altre, sono avvantaggiati i chip nVIDIA. Ultima modifica di yossarian : 02-08-2008 alle 21:35. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jun 2002
Messaggi: 429
|
abbastanza esauriente come risposta direi
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Sep 2006
Città: Sul Lago di Garda
Messaggi: 5437
|
![]() Il ragazzo è preparato..... ![]() ma parla troppo complesso..... ![]() ![]()
__________________
# Thermaltake V150 TG # AMD Ryzen 7 5700X + TT Water 3.0 240 # AsRock B550M Steel Legend # Zotac RTX 3080 TI Amp Holo # 32 GB Ddr 4 GSkill Tridentz RGB 3200 #2X SSD Nvme 1TB WD # Corsair RM 750X # |
![]() |
![]() |
![]() |
#5 | |
Member
Iscritto dal: Jun 2008
Messaggi: 257
|
Quote:
![]() ![]()
__________________
asus g60vx intel core extreme x9100 3.06ghz 4gb gtx260m 1gb ddr3 intel x25m 80 gb seagate 320 gb 7200 rpm |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Dec 2007
Città: Genova
Messaggi: 5872
|
concordo
![]() però se non si ha una laurea in informatica ed ingegneria elettronica non è proprio facilissimo comprendere ciò che ha scritto ![]()
__________________
MB:Asus Z170 PRO GAMING; CPU:Intel Core i7 6700K ![]() |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Sep 2007
Città: Arzignano (VI)
Messaggi: 4229
|
sono in ferie,ho tempo di leggere la risposta di yossarian
![]() Quote:
![]() Ultima modifica di robertogl : 02-08-2008 alle 22:37. |
|
![]() |
![]() |
![]() |
#8 | |||
Senior Member
Iscritto dal: Mar 2001
Messaggi: 5390
|
Quote:
Quote:
Quote:
Si tratta, in effetti, di argomenti per addetti ai lavori che se si cerca di semplificare troppo si rischia di essere banali e poco rigorosi, se ci si attiene ad un minimo di rigore si diventa incomprensibili ai più. |
|||
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Sep 2006
Città: Sul Lago di Garda
Messaggi: 5437
|
Quote:
già ci ho capito poco così...(troppe sigle e abbreviazioni... ![]() ![]()
__________________
# Thermaltake V150 TG # AMD Ryzen 7 5700X + TT Water 3.0 240 # AsRock B550M Steel Legend # Zotac RTX 3080 TI Amp Holo # 32 GB Ddr 4 GSkill Tridentz RGB 3200 #2X SSD Nvme 1TB WD # Corsair RM 750X # |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Mar 2001
Messaggi: 5390
|
se hai difficoltà a capire qualcosa chiedi pure; cerco di risponderti nel modo più semplice. Purtroppo per parlare di questi argomenti si dovrebbe iniziare a parlare di come funziona gli engine 3D e di come gli stessi si siano evoluti nel tempo, tenendo conto dell'evoluzione delle API di riferimento
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Nov 2002
Città: Budapest
Messaggi: 19133
|
Yoss, mi sai dire perchè un'azienda dovrebbe preferire un approccio VLIW ad uno standard? Cioè si è consapevoli da subito delle difficoltà che si avranno nel programmare il compilatore a seconda delle applicazioni, o semplicemente si aspetta, sperando in applicazioni "facili" da parallelizzare? Lo dico perchè ATi non ha una grossa penetrazione nel mercato (o almeno non quanto nVidia), e i developer guardano sopratutto alla base di utenza, non all'eleganza di un'architettura..
bYeZ!
__________________
Improvise, adapt, overcome. |
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Mar 2001
Messaggi: 5390
|
Quote:
Per quanto riguarda il lato HW, se hai notato, ATi non ha mai adottato architetture di tipo superscalare con alu indipendenti fp32, ma è passata da alu di tipo vect3+scalar ad alu di tipo vliw. Questo perchè la logica di controllo di alu scalari come quelle di nVIDIA è molto più complessa. Ulteriore matovo, un'architettura vliw è più flessibile di una di tipo vect e richiede un minor numero di registri (fino ad 1/3 rispetto ad una scalare tipo quella di nVIDIA); inoltre, ogni singola istruzione richiede meno cicli. Lo svantaggio, ovviamente è la minor efficienza, che però è compensata dal fatto che, avendo uno shader core molto meno ingombrante, è possibile metterci dentro monte più unità di calcolo rispetto a quanto non sia possibile fare con architetture di tipo scalare. Ultimo vantaggio, un'architettura come quella di RV770 non necessità di alu dedicate per eseguire i calcoli in fp64. Questo permette di realiizare chip molto piccoli come die size (e quindi molto economici) con un elevato numero di unità di calcolo all'interno e con un potenziale non ancora del tutto espresso (contrariamente ai chip NV che, proprio in virtù della loro già elevata efficienza, non hanno molto altro da dare a livello prestazionale con codice più complesso) |
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Nov 2002
Città: Budapest
Messaggi: 19133
|
grazie, sempre esaustivo
![]() un'ultima cosa riguardo R600\RV670, il primo con interfaccia di memoria a 512bit, il secondo a 256bit. Un ritorno sui propri passi o una modifica "dovuta"? (la domanda in sottofondo: è un chip bandwidth limited o no, e perchè?) ![]() bYeZ!
__________________
Improvise, adapt, overcome. |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Nov 2002
Città: Budapest
Messaggi: 19133
|
Quote:
eh però mò che ci sei approfitto eh.. ![]() Quanto occupano unità relative alle texture, in percentuale, in un chip moderno? Esistono dipendenze da rispettare tra SP e TMU, come ad esempio il rapporto 5:1 di ATi? o la loro distribuzione può essere "distribuita" a piacere? bYeZ!
__________________
Improvise, adapt, overcome. |
|
![]() |
![]() |
![]() |
#15 | |||
Senior Member
Iscritto dal: Mar 2001
Messaggi: 5390
|
Quote:
Quote:
Non considerando il caso dei vs, in cui la norma è avere istruzioni di tipo vettoriale con 4 componenti più una funzione speciale (per cui sia l'architattura vettoriale che quella vliw vanno quasi sempre a pieno regime), vediamo cosa succede per i ps. Un'architettura 3+1 co-issue può elaborare 2 istruzioni (una formata dalle componenti rgb e una relativa al canale alpha) dello stesso thread. In effetti, anche nei chip delle serie precedenti (da R3x0 in poi per ATi e da NV4x fino a G7x per nVIDIA), era uso riunire le istruzioni dello stesso thread da inviare alle alu (quindi si può dire che si faceva ricorso ad un approccio di tipo vliw). L'architetura di R600 non fa che estremizzare questo concetto, portando le istruzioni eseguibili in parallelo ad un massimo di 5 (se si escludono le operazioni di branching e quelle di texturing). Per questo motivo ci si riferisce all'architettura degli sp di R600 e seguenti come ad un'architettura di tipo vliw. Spero di essere stato più chiaro Quote:
Il rapporto utilizzato da ATi è di 4:1, in realtà e non esiste un canone preciso epr stabilire qual è il rapporto ottimale. Anche qui dipende da tanti fattori: se si punta, in prospettiva futura, più alle operazioni matematiche o a quelle di texturing; se si sono fatte particolari ottimizzazioni per nascondere le latenze relative alle operazioni di texture fetch (il che può permettere di avere un numero inferiore di tmu lavorando più sulla qualità che sulla quantità). |
|||
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Sep 2006
Città: Sul Lago di Garda
Messaggi: 5437
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
__________________
# Thermaltake V150 TG # AMD Ryzen 7 5700X + TT Water 3.0 240 # AsRock B550M Steel Legend # Zotac RTX 3080 TI Amp Holo # 32 GB Ddr 4 GSkill Tridentz RGB 3200 #2X SSD Nvme 1TB WD # Corsair RM 750X # |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Dec 2005
Città: Bassano del Grappa
Messaggi: 2644
|
yossarian sei un mito
![]() ps: cos'è l'isa? |
![]() |
![]() |
![]() |
#18 | |||
Senior Member
Iscritto dal: Nov 2002
Città: Budapest
Messaggi: 19133
|
Quote:
Quote:
![]() Quote:
![]() Si puo' quindi affermare che R600 sia stato "azzoppato" piu' che dall'architettura in se', dalla "primitivita'" del processo produttivo, che non ha permesso di includere grandi quantita' di texture unit? bYeZ!
__________________
Improvise, adapt, overcome. |
|||
![]() |
![]() |
![]() |
#19 | |
Member
Iscritto dal: Jun 2008
Messaggi: 257
|
Quote:
__________________
asus g60vx intel core extreme x9100 3.06ghz 4gb gtx260m 1gb ddr3 intel x25m 80 gb seagate 320 gb 7200 rpm |
|
![]() |
![]() |
![]() |
#20 | ||||
Senior Member
Iscritto dal: Mar 2001
Messaggi: 5390
|
instruction set architecture, ossia il set di istruzioni ottimale per una data architettura, ovvero l'architettura SW che corrisponde ad una determinata architettura HW. Tra due architetture apparentemente identiche, ad esempio, è sufficiente cambiare il numero di registri per avere ISA differenti.
Quote:
Quote:
Quote:
Quote:
può succedere con R600, con applicazioni shader intensive e che facciano uso massiccio di vertex texturing e ancora di più con RV670, nel momento in cui si inizieranno a sfruttare le feature dx10.1 (già con la patch 1.01 di assassin creed che introduceva l'utilizzo di multi render target per z-ops e color ops, a 1680x1050, con MSAA 4x, una 3879 risulta più veloce di una 8800 GTX ed una 4850 sta davanti ad una 280 GTX, ad esempio |
||||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:00.