|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#20861 | ||||||||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Ti faccio un esempio pratico: Python. Prova a pensare di sostituire tutti gli utilizzi dei numeri in virgola mobile (double per la precisione, visto che il tipo "float" di Python si mappa al tipo double in C et similia) e smistarli alla GPU. Python (CPython, che è la versione "mainstream") già adesso è da 10 a 100 volte più lento di un equivalente C. Ma se si facesse quanto detto, diventerebbe di qualche ordine di grandezza ancora più lento. E di esempi così te ne potrei fare parecchi. Quote:
The rise and fall of AMD: How an underdog stuck it to Intel - Part I The rise and fall of AMD: How an underdog stuck it to Intel - Part II Quote:
Il punto era che i code path generati sono stati realizzati per delle PRECISE micro-architetture di Intel (e nemmeno per tutte: quelle più diffuse ai tempi del rilascio del compilatore), e il codice di dispatch si occupa di riconoscerle e smistare l'esecuzione al proprio path. Questo NON implica che quei code path non possano girare anche su altri processori. Infatti lo fanno, come mostrano i link che hai riportato. Solo che normalmente il codice di dispatch non lo fa, perché riconosce se il processore è Intel, se la microarchitettura è fra quelle supportate, e smista l'esecuzione. Perché è logico / ovvio / necessario che sia così, per come funziona un compilatore il cui obiettivo è di generare il miglior codice possibile per una determinata micro-architettura. Tutto qui. Non so se sono stato chiaro. Quote:
Quote:
Le cause, si sa, durano un po'. Ma uno è considerato colpevole solo per il periodo in cui è stato commesso il crimine, non quando è finito il processo a tutti i gradi di giudizio. Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||||||
|
|
|
|
#20862 | ||||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Non è che non mi fidi di te, eh! E' che proprio non mi fido: sia mai che tu possa inventarti delle menzogne nei miei confronti. Quote:
Ma se sei convinto così, per me non c'è problema: continua pure a vivere nel tuo mondo parallelo in cui sogni di aver fatto qualche punto contro di me. Gente come te, si sa, si accontenta di poco nella vita: sono sufficienti le illusioni. Quote:
"Ripetete una bugia cento, mille, un milione di volte e diventerà una verità - Joseph Goebbels" Quote:
Pensa piuttosto alle tue, che continuano da anni ad assaporare le bastonate che hai preso e che continui a prendere. Da questo punto di vista devo dire che anche tu sei molto coerente, eh!
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||
|
|
|
|
#20863 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#20864 | |
|
Senior Member
Iscritto dal: Jan 2006
Città: Baar-CH
Messaggi: 20986
|
Quote:
__________________
7800x3d - rtx4090 7800x3d - rtx4070s Oc |
|
|
|
|
|
#20865 | |
|
Senior Member
Iscritto dal: Jan 2006
Città: Baar-CH
Messaggi: 20986
|
Quote:
__________________
7800x3d - rtx4090 7800x3d - rtx4070s Oc |
|
|
|
|
|
#20866 | ||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
No, sono una rivoluzione di AVX.
L'opcode vero e proprio (mi riferisco al byte che segue i byte di prefisso che marcano l'istruzione come AVX o AVX-512) è quasi sempre lo stesso, ma acquisisce nuove funzionalità. Ne parlo meglio dopo. Quote:
Dunque si tratta di istruzioni MOLTO lunghe, che potrebbero creare problemi lato decodifica, ma "semplicemente" per il fetch buffer, che come sai è di 16 byte nei processori Intel (dunque al massimo possono essere decodificate 3 istruzioni AVX-512 continue per ciclo di clock. Il decoder riesce a decodificare anche istruzioni parzialmente presenti, come in questo caso, dove il minimo sarebbe di 6 * 3 = 18 byte -> l'ultima istruzione avrebbe 2 byte fuori dal fetch buffer). E creano problemi anche con la densità del codice, che ovviamente è ben più ridotta rispetto ad AVX. Passiamo alle cose positive: i registri sono a 512 bit, come già detto, e dunque consentono di processare il doppio dei dati. Ma sono anche raddoppiati: ben 32 anziché i 16 di AVX (ed SSE; ovviamente mi riferisco a codice a 64 bit in tutti i casi). Queste due cose ovviamente incidono negativamente anche nei tempi di context switch fra processi / thread, visto che per salvare e ricaricare questi registri serve molto più tempo / spazio / banda di memoria. Fortunatamente i processori non passano il tempo a effettuare context switch, dunque è una cosa di importanza marginale. Ci sono altri 8 registri "interi/scalari", a 32 bit, che servono per le cosiddette maschere. Le maschere servono a selezionare su quali dati dei vettori l'operazione deve avere effetto. Un bit nella maschera identifica una precisa porzione a 32 o 64 bit all'interno dei vettori coinvolti nell'operazione. La selezione di un bit di maschera implica che i valori di quella parte verranno utilizzati nel calcolo, oppure che verranno ignorati (i vecchi valori saranno mantenuti) o azzerati (i valori verranno sempre azzerati). E' comodo perché consente di eliminare del tutto il codice epilogo nei loop: basta specificare l'apposita maschera, e l'istruzione opererà solo nella parte interessata, lasciando intatto tutto il resto. E' anche comodo perché se una parte non viene selezionata, la corrispondente ALU viene spenta (visto che non viene usata), e dunque non consumerà energia. Qualunque istruzione consente di specifica un registro di maschera, e questo marca già una profonda differenza con AVX, dove non esiste alcuna maschera (diciamo che è come se venisse sempre utilizzata la maschera K0 di AVX-512, che non si può modificare, e che obbliga o operare su tutti i dati). Le maschere sono anche utili per eliminare completamente istruzioni condizionali, e dunque eliminare salti e relative conseguenze nefaste sulla pipeline. Altra cosa, l'offset a 8 bit dell'operando in memoria viene moltiplicato per la dimensione del tipo base (4 o 8 byte), in modo da utilizzare offset "compressi", che occupano meno spazio (un byte, per l'appunto) anziché la versione più lunga (32-bit). Questo aiuta un po' nel cercare di ridurre la dimensione del codice / aumentarne la densità. Sull'operando in memoria è possibile anche specificare un'operazione di broadcast, dove un singolo elemento è letto dalla memoria, e poi replicato in tutti gli elementi. Così si evita di eseguire un'apposita operazione di broadcast, a parte, dopo che il valore è stato caricato; come avviene con AVX. Se l'operando sorgente non indirizza la memoria ma un registro (vettore), è possibile specificare direttamente se l'istruzione dovrà sopprimere eventuali eccezioni che si possono generare durante l'esecuzione. Oppure è possibile definire un'operazione di "swizzle" sugli elementi del vettore, in modo da eliminare istruzioni di permutazioni comuni. Non mi pare ci sia altro, ma come puoi vedere tu stesso AVX-512 porta un bel po' di succulenta carne sul fuoco. ![]() Quote:
Questo perché il codice assembly e gli intrinsic di C++ (e Fortran, se non ricordo male) sono molto diversi fra AVX e AVX-512, in quanto questi ultimi utilizzano non solo vettori di dimensione doppia (e dunque il tipo di dati da utilizzare / specificare è già di per sé diverso. Per cui dev'essere il programmatore a cambiarlo appositamente), ma le istruzioni presentano anche diverse variazioni (e con ciò mi riferisco al fatto che il medesimo opcode usato per AVX/-2 acquisisce altre funzionalità e/o si comporta diversamente con AVX-512).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
|
|
|
|
#20867 | ||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Sugli altri messaggi, anche se non erano indirizzati a me, ho semplicemente detto la mia. Tutto qui.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
|
|
|
|
#20868 |
|
Senior Member
Iscritto dal: Dec 2004
Città: IV Reich
Messaggi: 18608
|
https://en.wikipedia.org/wiki/Zen_(microarchitecture)
non so se avete notato questa utile tabellina, a me già un 1300 basterebbe, che poi non costa poco... costa come un 8 core fx
__________________
Wind3 4G CA |
|
|
|
|
#20869 | ||||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Ma se non ne sei convinto puoi benissimo farmi vedere perché non lo sarebbero, eh! Basta che non fai come le due righe di codice necessarie per sfruttare più core nelle applicazioni... Quote:
Infatti arriveranno soltanto a fine anno, con CannonLake. AMD li implementerà probabilmente con Zen+. Nel frattempo ti faccio presente che non c'è software che usa le AVX-512, quindi puoi dormire sonni tranquilli, che AMD non verrà penalizzata da questa mancanza, ancora per parecchio tempo. Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||
|
|
|
|
#20870 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#20871 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
#20872 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#20873 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Pochi. Ma questo NON significa che ci siano pratiche di concorrenza sleale in atto.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
#20874 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Non confondiamo questo forum con la realtà che sta fuori...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#20875 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#20876 |
|
Senior Member
Iscritto dal: Dec 2006
Città: in quel di Pozen
Messaggi: 901
|
Come si imposta un utente in ignore list, non lo trovo
__________________
Case Corsair 4000D - Ryzen 7 5800X3D - ASUS Tuf LC240 - ASUS TUF Gaming X570 Plus - 16GB G.Skill 3200 C14 - Lexar NQ790 1TB - Asus RX 6750 XT - Ali Corsair RM850x Shift - AOC Agon Pro 31.5 OLED - Razer Tartarus + Razer Basilisk V3 + Razer BlackWidow X Chroma ![]() Battlefield Lord_Grullo Yian Sei Qualcuno |
|
|
|
|
#20877 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Veramente Intel è stata sanzionata...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
#20878 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Ti risulta che siano stati presentati KabyLake con 8 core, per caso? Mi faresti vedere una roadmap aggiornata, con roba realmente nuova (non core riciclati col clock un po' aumentato, giusto per chiarire)?
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#20879 | ||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Tom's riporta un documento di AMD che è preoccupata per l'EVENTUALE concorrenza aggressiva di Intel. Nemmeno illegale: aggressiva. Quote:
![]() D'altra parte i boccaloni non mancano mai. Ricordiamo ancora le fantasie sfrenate sulla balla colossale del BIOS montato sulla CPU, su cui si sono scritte pagine e pagine in questo thread.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
|
|
|
|
#20880 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Né opportunità né movente, visto che la situazione è completamente diversa rispetto al passato. Ma di questo ne ho parlato meglio nell'altro thread, in sezione Articoli, che sicuramente avrai già letto.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:53.




















