Intel Alder Lake: novità sull'architettura, possibile addio alle istruzioni AVX512

18 Ottobre 2021 54

I processori Intel Alder Lake sono dietro l'angolo. Il lancio delle CPU Core 12a gen è fissato per fine mese, più precisamente per il 27 di ottobre, in occasione dell'evento Intel InnovatiON. Come discusso ormai in diverse occasioni, l'azienda di Santa Clara debutterà con l'offerta desktop - Alder Lake-S - che, oltre a introdurre un'inedita architettura CPU ibrida, porterà sul mercato un nuovo ecosistema hardware che prevede il supporto per memorie DDR5 e periferiche con interfaccia PCI-E 5.0 (ancora non pervenute).

A distanza di qualche mese - ipotizziamo al CES 2022 di gennaio - arriveranno i modelli mobile per notebook e dispositivi a basso consumo (mini-PC, AiO ecc), nel dettaglio parliamo di Alder Lake-P e Alder Lake-H. Dei processori Intel Alder Lake Mobile abbiamo già discusso in precedenza, condividendo dettagli che ora sono direttamente confermati dall'azienda nei più recenti documenti ufficiali.


Nella guida ufficiale dei Core 12a gen rivolta agli sviluppatori, il produttore ha confermato infatti che i processori per notebook arriveranno in configurazione sino a 14 core, un netto salto in avanti rispetto alle attuali proposte Core 11a gen. Nel documento - trovate il link nel VIA - si parla di soluzioni Alder Lake-P che, sostanzialmente, rimpiazzeranno gli attuali modelli a basso consumo Core U e quelli per notebook ad alte prestazioni Core H. I primi avranno una configurazione sino a 10 core, con 2 P-Core (o core ad alte prestazioni - Golden Cove) e 8 E-Core (o core efficienti - Gracemont), i secondi arriveranno sino a 6 P-Core e 8 E-Core (14 core quindi); il tutto sarà condito appunto da supporto DDR5 e PCI-E 5.0 e da una componente grafica Intel Xe da 96EU ( le varianti desktop si fermano a 32EU).


Analizzando il documento troviamo molto spazio per quello che sarà un punto cruciale per Alder Lake-S, ossia l'ottimizzazione software per la nuova architettura CPU ibrida. Stando a quanto riportato, le due tipologie di core non saranno usate tutte per gli stessi task; Intel parla come in passato di "Good Scenario" e "Best Scenario", con quest'ultimo che ovviamente prevede il miglior supporto software possibile all'architettura Alder Lake, permettendo di "indirizzare" al meglio i vari core sulle applicazioni che potremmo definire di "destinazione".

Andando nel dettaglio, lo scenario migliore suggerito da Intel è quello dove il software ottimizza al meglio il comportamento dei core efficienti; gli E-Core infatti dovrebbero occuparsi solo di particolari carichi di lavoro: compilazione shader, mixing audio, streaming, decompressione e altre applicazioni non critiche. Nel caso in cui il software non sarà ottimizzato, il sistema sarà comunque in grado di distribuire i vari carichi di lavoro, gestendo però il tutto con l'Intel Thread Director (Ne abbiamo parlato QUI).


Altro argomento interessante riguarda le istruzioni AVX512, un cavallo di battaglia di Intel sulle ultime generazioni di CPU. La guida in oggetto afferma chiaramente che Alder Lake supporta le istruzioni AVX512, ma solo sui P-Core e solo quando gli E-Core sono disabilitati. Il possibile "errore" non è sfuggito al collega Ian Cutress di Anandtech che, dopo aver contattato Intel, afferma che le AVX512 non saranno supportate su Alder Lake e la guida sarà aggiornata a breve.

Il meglio di OnePlus? OnePlus 9 Pro, in offerta oggi da Mister Shop King a 719 euro oppure da Amazon a 839 euro.

54

Commenti

Regolamento Commentando dichiaro di aver letto il regolamento e di essere a conoscenza delle informazioni e norme che regolano le discussioni sul sito. Clicca per info.
Caricamento in corso. Per commentare attendere...
xan

in gran parte sono d'accordo con te, solo alcuni punti in disaccordo.

- togliere le avx512 non significa togliere tutte le AVX e le SSE, rimane tutto tranne le avx512, quindi il confronto di performance consumi, silicio richiesto etc etc andrebbe fatto tra le avx512 e tipo le avx2 non tra una cpu con accellerazione e una cpu senza.
- il problema della mancata adozione delle avx512 (secondo me) è proprio perchè sono realizzate male, un po perchè sono incompatibili con la roba precedente un po perchè possono essere implementate nelle cpu "a moduli"
- il fatto che esistano mille framework che implementino le avx512 all'utente comune interessa poco se poi non vengono integrate in programmi finali.
- l'errore piu grosso di intel è stato commerciale a questo punto, nvidia per dimostrare che i tensor core abbiano un senso ha rilasciato varie cose che li utilizzano per l'utente finale, intel ha ritato fuori queste avx512 senza sapere di preciso cosa farci (parere mio)

in ogni caso spero che sia AMD che Intel tenga le avx512 sui threadripper o similari ma che vengano sradicati dal mondo r3/i3/r5/i5 etc etc

biggggggggggggg

L'office di google lo so che è server side, ma è per farti capire che sta roba sta arrivando anche sui software di uso comune, l'office di MS già usa questo tipo di modelli:
https://support.microsoft.com/en-us/office/natural-language-search-in-outlook-0c819cb0-980c-47c3-8e67-5c4fec6b6b87

L'esempio di maxine è per farti capire quanti software assolutamente comuni usano modelli e calcoli anche molto molto pesanti. Infatti ti ho scritto che se non hai una gpu nvidia ti attacchi al tram e devi ripiegare su gpu. Non che maxine gira anche su gpu.
Oddio in realtà alcuni modelli potrebbero girarci visto che nvidia ha un compilatore suo per i modelli di DL che gira sia su gpu che su cpu. Dovrei indagare. Però se loro dicono che gira solo sulla rtx evidentemente non si può far girare su cpu (o non vogliono farcelo girare).

Per il resto, i limiti principali di AVX-512 secondo me sono due: il primo è che ci sono svariate specifiche, occorreva semplificare e sopratutto risolvere qualche problema di performance in certi casi particolari.
Il secondo è come dici tu il problema della diffusione, ma quello è un problema storico di questo tipo di istruzioni: SSE non è compatibile con SSE3, che non lo è con SSE4, che non lo è con AVX, e così via.
Questa cosa andrebbe risolta perchè nessun programmatore vuole riscrivere codice e sopratutto per scrivere codice performante di basso livello non è proprio un gioco da ragazzi. AVX & co. hanno preso piede perchè prima non c'era nulla e c'era disperato bisogno di soluzioni di quel tipo, ma sono anche uscite 10 anni fa se non ricordo male.
Siccome lavoricchio in questo campo ti posso assicurare che negli ultimi 3-4 anni sono usciti 40 mila framework, compilatori ed API per fare proprio questo: "scrivi il tuo codice normalmente e noi te lo compileremo in AVX2/AVX-512 o in cuda o OpenCL".

Il senso del mio commento iniziale non era per dire: "teniamo tutto così che va alla grande", era invece di dire che se ci sono problemi nell'adozione, che si risolvano questi problemi, se serve sostituire AVX-512 con qualcos'altro, tipo l'interessantissimo AMX, che si faccia, ma buttare via tutto senza sostituire con qualcos'altro mi sembra un gran peccato.
L'accelerazione hardware è a mio avviso il più grande contributo in termini di prestazioni da quando lo sviluppo in ambito semiconduttori è rallentato pesantemente prima per la fine del dennard scaling e poi per il brusco rallentamento nella miniaturizzazione dei chip.
Non è un caso che le gpu siano diventate estremamente popolari negli ultimi 15 anni, così come non è un caso che la novità principale di ARM9 sia SVE2 con supporto fino a 2048 bit.
Lì si spingono ancora oltre: siccome nei chippini embedded da 5-10 watt è difficile che tu possa inserire una gpu molto spesso (immagina un sensore o una video camera sulla quale è caricata una rete neurale), l'idea è di mettere delle unità SIMD a 256-512 bit per fare inferenza ad alte prestazioni ma a consumi (e costi) contenuti.

Un portatile con i7 da 1500$, limitato lato SIMD e senza prospettive di altro in futuro non è il massimo, secondo me.

Speriamo che AMD con Zen 4 ridia slancio alla cosa.

xan

(il tono non voleva essere negativo sorry)

scusa ma per Office (ammesso che MS Office usi le avx512 cosa che non mi risulta ad oggi) per vedere una differenza quanti milioni di righe e colonne dovresti avere? google office/drive è server side ed è fuori discorso

per nvidia maxine da quello che so funziona proprio SOLO con le RTX in quanto richiede i tensore core, non esiste modo di farlo girare cpu based

forse è proprio questo che è mancato alle AVX-512, intel doveva tirare fuori qualche plugin o accordo commerciale per migliorare qualche software di largo uso, come zoom, la suite adobe o qualche altra cosa di impatto

biggggggggggggg

Se eviti questo tono del ca**o e cerchi di capire cosa ti sto dicendo forse riusciamo a uscirne: queste istruzioni vengono usate anche nei software base, oggi.
10 anni fa no, oggi si.
Office, che come dici tu è un software abbastanza basilare, è sempre più infarcito sia di istruzioni vettoriali per i semplici calcoli (pensa sommare/moltiplicare svariate colonne da migliaia di elementi), sia per i modelli di deep learning utilizzati. Google li ha presentati proprio ora per il suo excel, dove ti suggeriscono le cose da fare.
Pensa semplicemente ai software tipo zoom, nvidia ha rilasciato il plugin che permette di scontornare, togliere il rumore ambientale, e tradurre in tempo reale, il tutto accelerato tramite tensor core (cerca nvidia maxine). Parliamo di un software che oggi usa anche nonna pina eh. Se non hai una gpu integrata però ricadi sulla cpu, ed ecco che un'unità simd più prestante fa la differenza.

PositiveVibes
xan

ma siamo d'accordo che il 90% della popolazione mondiale usa il pc SOLO per browser+office-BASE+videogame?

cerco di semplificare al massimo il mio ragionamento: qualunque istruzione che non risulta utilizzabile in browser+office-BASE+videogame non dovrebbe essere inclusa in cpu mainstream....

a volte mi sembra di parlare con alieni....

biggggggggggggg

1) non sono poco usabili. A meno che tu non abbia un problema che per ragioni sue non le sfrutta, sono sfruttabili senza problemi. Per capirci, se devi lavorare su matrici (pensa a immagini, tracce sonore, machine learning, reti neurali, ecc.) di grandi dimensioni, dove per grandi dimensioni si intende qualsiasi cosa che vada oltre il centinaio per centinaio di punti, più è grande l'unità simd meglio è.
Una gpu altro non è che una specie di AVX all'ennesima potenza. Una 3060 è un AVX (o SSE, o SVE nel caso ARM) formato extra-extra-large.
2) ma normalmente quando usi istruzioni del genere hai un unico blocco di codice, o qualche blocco di code, al massimo, che penalizza mostruosamente le prestazioni. Le AVX vengono usate, quando servono, proprio in quei casi. Solitamente le prestazioni che ottieni sono incredibilmente superiori a quelle che otterresti senza AVX, e quando hai finito di eseguire quel pezzo di codice, usi le altre unità di calcolo.
E' molto difficile che nel mentre fai altro. Di solito vengono usate in multi-thread, quindi non stai facendo altro. Una volta finito, anche se va in throttling con AVX (ed è normale), ritorni alle frequenze normali.
3) Dipende, oggi ci sono molti più carichi di lavoro pesanti rispetto al passato, anche in ambito consumer. L'esempio migliore sono le reti neurali. Oggi ti ritrovi questi modelli anche in software non da server, penso ai vari filtri neurali, agli editor musicali, di foto, anche quelli semplici. Penso ai software di scrittura dove stanno inserendo sempre di più modelli NLP (quelli in stile GPT-3) dove non si prende neanche in considerazione di non usare AVX. Nella suite office stanno integrando pesantemente questi modelli.
Per capirci, se hai un modello pytorch (o TF) che vuoi compilare per farlo girare al massimo delle prestazioni te lo compilano di default con l'estensione AVX più prestante che ha la tua cpu.

10 anni fa sarei anche stato d'accordo, ma oggi che aumentare le prestazioni è diventato sempre più difficile, si cerca di parallelizzare quanto più possibile, perchè i guadagni in termini di prestazioni sono enormi.
Non ti sto neanche ad elencare quanti compilatori JIT compilano direttamente in binario, con l'esplicito supporto alla miglior estensione AVX possibile.
Per dire, se sviluppi in python, e vuoi codice parallelo, lo compila direttamente in binario in AVX2 o AVX-512:
https://numba.pydata.org/

Un'analisi di Zen 3 mostra che le AVX2 occupano il 5% del die di un core, raddoppiandoli teoricamente si arriverebbe al 10%. Non mi sembra un'esagerazione, considerando quanto possono fare potenzialmente nei software di oggi.
Per capirci: i chip dei nuovi mac hanno un quintale di acceleratori per calcolo parallelo e ML integrati.

xan

respira che non mi stai capendo, non ho mai detto che non aumentano le prestazioni "su carta". provo a ricapitolare il mio pensiero

a mio giudizio le avx512 hanno questi problemi:
1) poco usabili nei programmi consumer (browser+office+adobe suite+videogame). i programmi di calcolo sono una roba specifica, che viene usata da una ristrettissima fetta di mercato. quindi perchè non mettere le avx 512 solo su cpu HEDT ? che senso hanno su un i3 ?
2) visto che portano al throttiling se il tuo pezzo di software usa parzialmente le avx512 e parzialmente altro, potresti avere benefici sulle avx e malus sul resto, quindi il risultato finale non è scontato in un vantaggio
3) occupano parecchio silicio, a mio giudizio su cpu non HEDT avrebbe piu senso usare quel silicio per metterci piu core no ?

non penso che nessuno abbia criticato intel per le avx512 sulle cpu HEDT, il problema è averle messe sulle cpu mainstream per portatili e co.

biggggggggggggg

Ma no. Ho già scritto il problema di compatibilità, ma quello che tu ed altri state dicendo è che non portano nessun vantaggio in termini di prestazioni, cosa assolutamente falsa.
Li portano eccome.

Comunque contare skylake-x è inutile, erano i super top dell'epoca fascia enthusiast, i primi prodotti davvero consumer dovrebbero essere stati nel 2019 prima della 10th.
E il fatto che ogni singola libreria di calcolo supporti ed usi AVX-512 qualcosa vuol dire. Oltre al fatto che di benchmark che dimostrano le prestazioni che riesci ad ottenere ce ne sono quanti ne vuoi.
Non è niente di speciale: se raddoppi il numero di unità e registri raddoppi le prestazioni, all'incirca. In alcuni casi magari non serve, ma se ben sfruttate è naturale che vadano il doppio o quasi

xan

lo sai si che tutto questo conferma che le avx512 (nello specifico) fanno schifo?

inoltre stavo vedendo che le avx512 sono state introdotte da intel con Skylake-X nel 2017 (giusto?), se in 4 o 5 anni nessuno (o quasi) le sta utilizzando probabilmente qualche problemino lo hanno

emmeking

Più o meno come la tua domanda.
Te la faccio più semplice. Sono difficilmente confrontabili perché sono architetture completamente diverse, pensate per prodotti diversi, che girano su HW diverso, che monta un OS diverso e fa girare app scritte in maniera totalmente diversa e che spesso non hanno nemmeno le stesse identiche funzioni, ergo, è come chiedere se è più prestante una banana o una lavatrice.

P.S. Il tuo nick non rispecchia per niente il tuo atteggiamento.

biggggggggggggg

Sulla prima parte difficile da dire, forse sì, ma se tanto intel le ha snobbate...
Per la seconda parte sì invece, su x86 sarebbe utile introdurre un nuovo formato flessibile che non dipenda né dalla configurazione dell'hardware né dalla "larghezza" dell'unità di calcolo + registri, ti consiglio di leggere qui:
https://www.anandtech.com/show/16640/arm-announces-neoverse-v1-n2-platforms-cpus-cmn700-mesh/5

xan

(su questo non sono sicuro) se fanno una qualunque modifica non perdono la compatibilità con le avx512 di intel?

cioè forse sarebbe proprio il caso di fare nuove AVX (magari insieme amd e intel) simili a quelle ARM che credo siano migliori ?

biggggggggggggg

Vedremo se le caccia fuori amd con zen 4 (dai rumor sembra di si), sperando che non facciano l'errore di intel e rendendole compatibili di default con le precedenti.

xan

Bhe ora che le ha abbandonate anche Intel credo proprio che ormai siano morte

biggggggggggggg

Nel link c'è scritto pure che vanno leggermente meglio, non peggio.
Il motivo per cui vengono poco usate è che sostanzialmente sono durate due anni ed il fatto che non in tutti i casi è automatico l'uso, devi riscrivere delle parti. Inoltre quelle sulle cpu consumer avevano dei limiti che però potevano essere risolti.

Non è che non sarebbero state usate all'infinito, prima o poi si sarebbero diffuse sempre di più, sopratutto visto che AMD anche dovrebbe inserirle in Zen 4, il motivo per cui le hanno tolte (in realtà sono ancora lì a occupare spazio inutilmente ma sono disabilitate) è che dovevano avere lo stesso set di istruzioni tra p-core ed e-core.

xan

Ffmpeg ha il supporto ad avx512 disattivato di default perché a detta loro nel complesso non c'è un miglioramento. È scritto nel link tuo

LibreOffice da quello che so usa fino alle avx2

Ripeto, il mio non vuole essere un ragionamento teorico sul bene o male delle avx512, ma pratico: se non vengono usate occupano solo spazio inutilmente

biggggggggggggg
Ffmpeg ce l'ha ma è disattivata di default perché nel complesso peggiora le performance

Insomma...:
https://www.reddit.com/r/intel/comments/ma5wrb/does_avx512_not_make_much_difference_for_video/

Per il resto, non so se non riesco a spiegarmi io, ma ci riprovo: tutte quelle librerie di cui ho parlato ovviamente non vengono usate direttamente dall'utente comune, ma l'utente comune usa i programmi fatti con quelle librerie. openoffice e libreoffice usano avx, quasi sicuramente anche excel le userà:
https://searchcode.com/file/163551537/app-office/libreoffice/files/libreoffice-check-for-avx.patch/
O dalla prima all'ultima delle applicazioni per foto/video.
Ce l'hanno proprio di default queste librerie, non devi fare altro.

E ripeto per l'ennesima volta che a spingere verso istruzioni sempre più capaci non è solo intel, visto che Zen4 sembra avrà anch'esso AVX-512, e ARM si è spinta fino a 2048

xan

VLC se non sbaglio l'integrazione di avx-512 è ancora in sviluppo. Ffmpeg ce l'ha ma è disattivata di default perché nel complesso peggiora le performance. Il resto non sono programmi finali per utenti comuni

PositiveVibes

Scusa, ma volevo mantenere il tono più o meno sul livello della tua prima risposta.
Molto saccente e davvero inutile

biggggggggggggg

Te l'ho già scritto uno: ffmpeg, che è alla base di altri 8000 programmi che usano le sue api, se ne vuoi altri abbiamo VLC:
https://code.videolan.org/videolan/dav1d/-/issues/316
E tutti quelli basati su openblas/MKL/simili.
Se voglio scrivere il mio programmino di editing audio userò una di queste librerie, e avrò agggratis la miglior accelerazione disponibile.
Un'altro uso? Qualsiasi rete neurale che gira su cpu, sia che usi tensorflow:
https://blog.tensorflow.org/2020/07/accelerating-tensorflow-lite-xnnpack-integration.html
Sia che usi openvino:
https://docs.openvinotoolkit.org/2021.3/ie_plugin_api/group__ie__dev__api__system__conf.html
Sia che usi OpenTVM:
https://medium.com/apache-mxnet/speed-up-your-bert-inference-by-3x-on-cpus-using-apache-tvm-9cf7776cd7f8

Che poi avx 512 possa essere migliorato in vari aspetti ok, che siano inutili istruzioni del genere proprio no. Anche in ambito consumer/pro-sumer.

xan

Nessun software reale fa solo calcoli usando le avx512, e, visto che portano al throttling, rallentano le restanti istruzioni.

Quindi il vantaggio finale non è così scontato.

Inoltre continuo a chiederti un software desktop reale che ne faccia uso perché rimane un pezzo di CPU ad uso solo di ricercatori e programmatori

emmeking

Battutine sessist3! Cavolo siamo su livelli altissimi qui, dovrò difendermi da questa umiliazione... specchio riflesso, buttati nel c€sso!

biggggggggggggg

Sono benchmark sulle moltiplicazioni di matrice e vettori, che è tipo il building block di ogni cosa che vada oltre il mandare emoji su facebook.

xan

A bhe software di larghissimo uso

biggggggggggggg

Primo che ho trovato:
https://www.semanticscholar.org/paper/Vectorized-Parallel-Sparse-Matrix-Vector-in-PETSc-Zhang-Mills/b8965b6fef5380fa884584b4e8aabfb21bd68538

PositiveVibes

Mmmm, la banana potrei anche capire che per te potrebbe avere un certo appeal, ma la lavatrice non penso tu possa farcela....

biggggggggggggg

Vai spiega.

Maurizio Mugelli

credo che tu non abbia ben chiaro cosa siano le avx-512, non sono soltanto due avx-2 impacchettate, sono tutt'altra cosa.

xan

guarda che non ho mai parlato di istruzioni vettoriali in generale, ma di avx512 nello specifico.

ad esempio con FFmpeg fare la codifica video (che è gia un caso di nicchia) con avx512 o farla con le avx2 offre un miglioramento minimo.

ripeto: ad oggi (fine 2021) non esiste nessun software che offra miglioramenti di performance tangibili se eseguito su una cpu compatibile con le avx512 rispetto alle avx2. (benchmark esclusi)

è proprio difficile trovare dei casi reali di utilizzo (sempre rispetto alle avx2 è)

emmeking

Come una banana rispetto ad una lavatrice più o meno

biggggggggggggg
io non sto parlando di teoria, ma del mondo che ad oggi esiste.

FFmpeg o x264 vanno bene?
Infatti nel mondo che oggi esiste tutte le librerie che sfruttano una tra le varie MKL, openblas, ecc possono usare o usano le migliori AVX disponibili.
Se un programma in python è scritto sfruttando numpy o librosa ha automaticamente il supporto ad AVX.

tutti si sono orientati verso cuda/opencl giusto o sbagliato che sia.

Nessuno usa opencl perchè c'è cuda, in ogni caso non è realmente così. Cioè la roba per cuda c'è, ma di librerie per cpu ce ne sono 10 volte di più. Fino a 2-3 anni fa la situazione era ancora più tragica, poi nvidia si è messa di sua iniziativa a scriverne di open-source e la situazione fortunatamente è migliorata, ma ancora oggi la differenza è schiacciante.
Tanto per capirci, i sistemi a raccomandazione tipo quelli di amazon ancora oggi girano su cpu, nonostante esistano le gpu da qualche anno.

Che le istruzioni vettoriali siano utilissime non c'è dubbio, non ho mai capito tutto questo accanimento quando invece forniscono (provato io stesso) dei boost prestazionali enormi nei comuni chip.

L'unico problema nel mondo x86 è che non è possibile scrivere una volta codice vettorizzato e farlo girare sempre, partendo dalle vecchie SSE fino ad AVX2, cosa che invece ARM ha intelligentemente risolto, ma a parte questo, che le istruzioni vettoriali siano manna dal cielo non c'è dubbio.

Personalmente qualsiasi cosa scriva che va oltre le 6 righe di codice a caso per testare se funziona le uso. Se poi c'è una libreria che sfrutta la gpu e se si può usare la gpu (e sopratutto se la gpu performa meglio nel caso particolare) tanto meglio, ma ancora oggi non è minimamente scontata la cosa.

xan

io non sto parlando di teoria, ma del mondo che ad oggi esiste.
ad oggi non esiste nessun software "desktop" che utilizzi le avx512 se non qualche benchmark, tutti si sono orientati verso cuda/opencl giusto o sbagliato che sia.

invece come mia opinione personale trovo sbagliato integrare qualcosa dentro la cpu di uso molto molto ristretto, una roba tipo acceleratore esterno poteva aver senso.

biggggggggggggg

C'è un piccolo problema: non tutti hanno una gpu abbastanza potente, anzi, una frazione degli utenti PC ce l'hanno, non tutti vogliono scrivere due volte il codice due volte, sopratutto con AVX che supporta tutto, mentre con CUDA il codice gira solo su NVIDIA (e non avrebbe senso scriverlo con altra robaccia), e sopratutto non in tutti i casi conviene far girare la roba su gpu.

Quindi no, tralasciando tutte le m1nchiate lette negli anni sopratutto da parte di alcuni fànboy, le AVX-512 non sono male di per sé, tutt'altro. Non a caso ARM con SVE2 ha deciso di supportare fino a 2048 registri, ovvero il quadruplo di AVX-512.
E se non ricordo male l'M1 di apple ne usa 2 da 2x128

xan

gpu computing :D

biggggggggggggg

In realtà è praticamente un numero vicino al 100% dei carichi professionali ed una parte non trascurabile di quelli consumer, visto che sono sempre più usate in ambito multimediale (la butto lì: FFmpeg) e non solo (regex, per dire) e sopratutto sempre più facili da usare grazie a tool come LLVM e librerie per compilare automaticamente tramite JIT in codice nativo che usa quando possibile le intrinsics.
Senza contare gli ormai onnipresenti modelli di ML, quali le reti neurali, anche in ambito consumer, che beneficiano grandemente di queste istruzioni.

Poi dove l'hai preso quel 30%? Su Zen3 AVX-2 prende il 5% dell'area del die, raddoppiando arriveremmo al 10% circa.

Michela Belmonte

Purtroppo è vero

biggggggggggggg

Beh devi usarle per forza, senza un qualche tipo di accelerazione hardware "pesante" non fai girare una rete neurale moderna con prestazioni accettabili.

biggggggggggggg

Certo, il problema è che non sempre una gpu è disponibile (pensa ai portatili), ma sopratutto, se devi fare inferenza, non sempre una gpu performa meglio. Con alcuni modelli il trasferimento dei dati in memoria fa perdere qualsiasi vantaggio in termini di potenza di calcolo, quindi fai prima a lasciare il modello in cpu

Just.In.Time

Meglio, istruzioni usate dallo 0,01% in ambito consumer.

Slartibartfast

Area che comunque sarà occupata, dato che i Golden Cove usati su Alder Lake hanno l'hardware AVX-512, è semplicemente disabilitato in qualche modo

xan

il fatto che potrebbero venir usate per reti neurali non significa che vengano poi effettivamente usate.

xan

nicchia? possiamo proprio dire ZERO, sempre se non tieni in considerazione i benchmark :D

xan

le AVX-512 sono il tentativo fallito di intel di uccidere il gpu computing.

grazie al cielo ce le siamo levate dalle balls

Ottoore

Ci sta, è un'opzione, ma penso che la maggior parte propenda per la gpu.

Maurizio Mugelli

le avx 512 sono rilevanti solo in ambiti di nicchia professionali, su processori consumer hanno pochissimo senso considerando l'area del die che occupano.

praticamente rinunci ad un 30% di core/cache per quei benefici di nicchia.

PositiveVibes

Rispetto ad Apple m1 come vanno?

I.love.Alessandra.Ambrosio

No che poi lo menano davvero!

biggggggggggggg
Per quanto pensi che le piattaforme consumer non siano il terreno di battaglia per le AVX-512

In linea generale è corretto quel che dici, ma il fatto è che sempre più applicazioni di calcolo arrivano lato consumer, o pro-sumer.
Tanto per dirne una: reti neurali a pioggia.

biggggggggggggg

Purtroppo è una pessima cosa che non supportino ne AVX-512 ne AMX.

Recensione Apple MacBook Pro 14 con M1 Pro, che goduria!

Recensione Gigabyte Z690 AORUS MASTER: prestazioni al top, ma non solo

Nuovi MacBook Pro con M1 Pro e Max, perchè comprarli e perchè no

Recensione Intel Core i5-12600K: Alder Lake-S al banco di prova