[Official Topic] AMD "Zen"

Tutti i principali componenti di un computer
Rispondi
Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: [Official Topic] AMD "Zen"

Messaggio da Alessio89 »

Dipende da cosa usi e da come è impostato il compilatore. Le istruzioni comuni possono essere generate benissimo e fatte girare su qualsiasi CPU AMD. Purché siano comuni e il compilatore impostato a dovere. Anche con il compilatore Microsoft posso generare pezzi di codice ottimizzati solo per Intel (e anche ottimizzati solo per AMD).
Fottemberg ha scritto:Si, già me lo avevi spiegato in privato tempo fa, però fog ha fatto un bel sunto disponibile a tutti. Invece tu, Alessio, non è che vorresti scrivere una puntualizzazione sotto forma di news in inglese di quello che hai appena detto? :D
È una non notizia. Il problema a scrivere certe cose è che si crea solo confusione a chi non ha le competenze per capire queste cose e a forza di semplificare si crea ancora più confusione.

PS: pur essendo Intel Compiler appunto il compilatore di Intel e non avendo un back-end che gestisce le istruzioni esclusive di AMD o cmq ottimizzazioni mirate all'architettura AMD, questo - se configurato correttamente - genera codice superiore a quello che AMD stessa fornisce con le SUE librerie ottimizzate ad hoc per le sue CPU. Agner vive nel mondo dei sogni: http://www.yeppp.info/home/yeppp-performance-numbers/ Ricordate infine che un compilatore ha il ruolo di tradurre, l'ottimizzazione è un optional (ed è limitata ad un +5% quando va bene).

Avatar utente
ermanno
Messaggi: 330
Iscritto il: sabato 30 maggio 2015, 15:44

Re: [Official Topic] AMD "Zen"

Messaggio da ermanno »

Alessio ha scritto:Non vedo nulla di nuovo o di non noto: se vai ad usare estensioni proprietarie quelle funzioneranno solo sull'hardware che lo implementano. [...cut...]
Ti faccio notare che tu parli di istruzioni "proprietarie" mentre Agner Fog parla di "compatibili".
Fottemberg ha scritto:Si, già me lo avevi spiegato in privato tempo fa, però fog ha fatto un bel sunto disponibile a tutti.
Prima del sunto ha prodotto dei risultati, ottenuti con un software che ha reso pubblico.
I suoi risultati sono stati verificati da altri utenti su internet e, soprattutto, non sono stati smentiti con "evidenze" dagli ingegneri e dagli avvocati di intel.
Non c'entra con le affermazioni di Agner Fog ma è molto intressante. Quindi ai fanboy di intel che millantano prestazioni con icc migliori in assoluto rispetto a tutti gli altri compilatori posso dimostrargli che non è vero?

Aggiungo un'altra parte dalla guida di Agner Fog che sembra sfuggire:
The fact that the Intel CPU dispatcher treats non-Intel CPUs in a suboptimal way has become a serious legal issue. See my blog for details.
Il grassetto è mio.

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: [Official Topic] AMD "Zen"

Messaggio da Alessio89 »

Forse non hai capito: ICC può essere configurato in vari modi, se configurato correttamente determinate ottimizzazioni vengono offerte per tutte le piattaforme, tutte, ed attualmente è il compilatore in grado di fornire le migliori ottimizzazioni anche per CPU AMD.

Yepp è una libreria scritta ad hoc a manina, ed offre ottime prestazione. Se tu guardi invece ICC viene presentato in diverse configurazioni con librerie matematiche ottimizzate sì ma generiche e facenti parte della suite di ICC, e le prestazioni sono ottime anche su CPU AMD. È ovvio che se poi uno crea un pezzettino minuscolo di software ad hoc è in grado di ottimizzare meglio rispetto a delle librerie generiche.

Agner continua a parlare di fantasmi inesistenti, dato che se ICC ottimizza in modo non ottimale per le CPU AMD quando viene configurato in maniera correttam, allora tutti gli altri compilatori - a codice aperto e chiuso che siano - cosa sono, efferati assassini? Perché attualmente ICC è la piattaforma migliore pure per CPU AMD. Tutte ste boiate del check della firma del processore avvengono esclusivamente quando si vanno ad utilizzare ottimizzazioni mirate esclusivamente alle CPU Intel, e bisogna pure stare attenti in quei casi all'architettura che si vuole ottimizzare o si ha un effetto opposto. Agner sul suo blog, tra l'altro mantenuto malissimo, ha un'accozzaglia di falsità ed inesattezze vecchie di 10 anni e le cita come fonti della situazione attuale. Per esempio si lamentava che le SSE3 non venivano generate per le CPU AMD da una versione del compilatore che quando uscì le uniche CPU a supportare le SSE3 erano le ultimissime (all'epoca) CPU di Intel (e guarda caso le versioni successive hanno messo l'ottimizzazione SSE3 a livello generico).

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: [Official Topic] AMD "Zen"

Messaggio da Alessio89 »

Forse non hai capito: ICC può essere configurato in vari modi, se configurato correttamente determinate ottimizzazioni vengono offerte per tutte le piattaforme, tutte, ed attualmente è il compilatore in grado di fornire le migliori ottimizzazioni anche per CPU AMD.

Yepp è una libreria scritta ad hoc a manina, ed offre ottime prestazione. Se tu guardi invece ICC viene presentato in diverse configurazioni con librerie matematiche ottimizzate sì ma generiche e facenti parte della suite di ICC, e le prestazioni sono ottime anche su CPU AMD. È ovvio che se poi uno crea un pezzettino minuscolo di software ad hoc è in grado di ottimizzare meglio rispetto a delle librerie generiche. Non vedo nulla di straordinario o eccezionale, se non ché la contro-prova di quello che afferma Agner: ovvero che ICC è il compilatore che offre migliori prestazioni anche per CPU AMD (che poi ultimamente MSVC stia facendo passi da gigante è un altro discorso...).

Agner continua a citare se stesso (troppo facile) di test empiricamente scorretti fatti diversi anni fa, uno fra tutti il famoso test delle SSE3: usando una versione del compilatore sviluppata quando le SSE3 erano esclusivamente supportate da Intel facendo il test un paio di anni dopo, senza aggiornare il compilatore, mostrava che quella versione del compilatore non ottimizzava per codice SSE3 su CPU AMD. Ma garize al cazzo, all'epoca dello sviluppo di quella versione del compilatore le SSE3 erano esclusivamente supportate da Intel (anzi, quella versione del compilatore era stata sviluppata in concomitanza con lo sviluppo delle prime CPU Intel con SSE3). Nelle versioni successive, quando anche AMD sfornò CPU con supporto SSE3, viene generato codice SSE3 per qualsiasi architettura x86, senza prestare alcuna attenzione al controllo di firma. Il controllo di firma del processore sulla configurazione del compilatore attua ad ottimizzare in maniera generica per x86 è infatti puramente formale, e se si va a vedere l'assembler o il binario generato è un mero controllo di una stringa che non causa alcuna differenza o salto nelle istruzioni a seconda del produttore della CPU, si può totalmente ignorare (e volendo anche disabilitare).

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: [Official Topic] AMD "Zen"

Messaggio da Alessio89 »

E per finire AMD stessa raccomanda le impostazioni di ottimizzazione da abilitare, questa è l'ultima versione che ho trovato, ma fa riferimento ancora ad ICC15, nel mentre sono usciti ICC16 ed ICC17: http://amd-dev.wpengine.netdna-cdn.com/ ... eGuide.pdf

Non credo ci sia altro da aggiungere.

Avatar utente
ermanno
Messaggi: 330
Iscritto il: sabato 30 maggio 2015, 15:44

Re: [Official Topic] AMD "Zen"

Messaggio da ermanno »

Ho la cattiva abitudine di credere più ai fatti che alle affermazioni.
E, quando posso, verifico di persona.
Per esempio il già citato: Intel finally agrees to pay $15 to Pentium 4 owners over AMD Athlon benchmarking shenanigans
Per me è un fatto.
Secondo me le affermazioni di Agner Fog sono verificate almeno fino al 2012, data approssimativa della suite di benchmark.
Ci sarebbe AMD che si lamenta di SYSmark nel 2015-2016, ma è di parte, quindi posso ignorarla.

Sono disposto a cambiare idea, ma mi servono delle evidenze.
Il pdf con le impostazioni di compilazione dei vari compilatori, secondo me non è un fatto.
Quindi, fino a prova contraria, per me rimane vero l'utilizzo "suboptimal" delle cpu AMD con binari generati da icc.
Hai qualche link che rimandi a fatti/evidenze/test più recenti del 2012? TIA

P.S.
peccato per Yeppp!, anche se resta interessante.

Avatar utente
Masciale
Messaggi: 9449
Iscritto il: giovedì 19 gennaio 2012, 8:36

Re: [Official Topic] AMD "Zen"

Messaggio da Masciale »

DAILY: CPU AMD Ryzen R7 5700X - MOBO AsRock B550M-ITX/AC - GPU AMD AsRock RX 7900XTX Phantom Gaming 24GBD6 - RAM G.Skill TridentZ RED 32GB DDR4 @3200MHz - MONITOR IIYAMA GB3461WQSU-B1 HDR 21:9 UWQHD- SSD & HDD KIOXIA XG6 1TB NVMe 3x4 + KIOXIA XG6-P 2TB NVMe 3x4 - Toshiba L200 2TB - CASE & PSU NZXT H1 V2 - 750W 80+G - AUDIO Logitech Z333

Immagine

MULETTO: CPUAMD Ryzen R5 3600 + Raijintek EOS 240 RBW - MOBO GigaByte AORUS B550I PRO AX - GPU AMD Sapphire AMD RX5600XT 6GBD6RAM G.Skill TridentZ BLACK 16GB DDR4 @3200MHz - SSD Silicon Power PA34A80 256GBHDD Seagate Momentus 1TB 2.5" - CASE & PSU YEYIAN Hussar black + CoolerMaster V550 G-V2

Avatar utente
gridracedriver
Messaggi: 2714
Iscritto il: giovedì 19 dicembre 2013, 12:07
Località: Vercelli

Re: [Official Topic] AMD "Zen"

Messaggio da gridracedriver »

esistono :U
citazioni: "software ed hardware è come dire pilota ed automobile" :inchino:
La regola delle 10P: Prima pensa, poi parla, perché parole poco pensate partoriscono "puttanate" :asd:

Avatar utente
Alessio89
Messaggi: 8097
Iscritto il: martedì 29 novembre 2011, 23:47

Re: [Official Topic] AMD "Zen"

Messaggio da Alessio89 »

ermanno ha scritto:Ho la cattiva abitudine di credere più ai fatti che alle affermazioni.
E, quando posso, verifico di persona.
Per esempio il già citato: Intel finally agrees to pay $15 to Pentium 4 owners over AMD Athlon benchmarking shenanigans
Per me è un fatto.
Secondo me le affermazioni di Agner Fog sono verificate almeno fino al 2012, data approssimativa della suite di benchmark.
Ci sarebbe AMD che si lamenta di SYSmark nel 2015-2016, ma è di parte, quindi posso ignorarla.

Sono disposto a cambiare idea, ma mi servono delle evidenze.
Il pdf con le impostazioni di compilazione dei vari compilatori, secondo me non è un fatto.
Quindi, fino a prova contraria, per me rimane vero l'utilizzo "suboptimal" delle cpu AMD con binari generati da icc.
Hai qualche link che rimandi a fatti/evidenze/test più recenti del 2012? TIA

P.S.
peccato per Yeppp!, anche se resta interessante.
Non ho mai detto che benchmark di terzi, sponsorizzati da intel, siano stati compilati in maniera disonesta. Si sa che certi benchmark sono stati compilati in una certa maniera apposta, è un dato di fatto (tanto è che appunto ci sono delle sentenze al riguardo).
Ma Agner tira in ballo delle versioni del compilatore sviluppate quando AMD assolutamente non supportava le SSE3 (ovvero erano allora esclusiva Intel, e non vi era alcun motivo per non rilasciare tali ottimizzazioni appunto come esclusive all'epoca) e pure precedenti all'accordo fra AMD ed Intel riguardo gli accordi sull'ISA, e poi prende dei binari fatti con quel compilatore e li testa su CPU AMD uscite diversi anni dopo che finalmente supportavano le SSE3 e parla di scorrettezze commerciali. Intanto ICC era uscito in diverse nuove versioni (quasi una all'anno) che ottimizzavano per le SSE3 senza guardare la firma del produttore dell'hardware.
La scorrettezza commerciale ci sarebbe stata se tali risultati fossero uscito con le versioni successive del compilatore sviluppate ed uscite quando anche AMD finalmente supportava le SSE3 e dopo i rispettivi accordi, ma così non ha mai fatto (forse perché non è mai stato dimostrato? Tanto è che AMD appunto dice come configurare al meglio ICC e non invece di non usarlo affatto, forse perché rende meglio anche dei binari che AMD stessa sviluppa per diverse librerie).
Agner continua a tirare in ballo sempre la stessa storia la usa come falsa-dimostrazione delle continue scorrettezze di ICC. Quella versione del compilatore non è più venduta da intel da un sacco di anni e non la usa più nessuno. Il tempo trascorso ad alcuni può sembrare poco ma in campo professionale sono vere e proprie ere, nessuno userebbe un compilatore così vecchio se non per mantenere un sistema vecchio che continua a girare e funzionare da allora. È di fatto un non problema da diversi anni.
Il fatto che ICC poi fornisca ulteriori ottimizzazioni (tra l'altro solo per l'ultima architettura target di intel stessa e non per le proprie precedenti) non è affatto una scorrettezza commerciale, dato che ICC è pensato per i sistemi server di Intel. Se poi vuoi usarlo per prodotti commerciali sta a te configurarlo, come ogni compilatore.

Radeon80
Messaggi: 685
Iscritto il: domenica 13 luglio 2014, 14:05

Re: [Official Topic] AMD "Zen"

Messaggio da Radeon80 »

http://www.pcgameshardware.de/Mainboard ... I-1217429/

finalmente cominciano a vedere le prime scheda madri AM4.

Rispondi