AVX10: Intel porterà le funzionalità di AVX-512 anche sugli E-core

In casa Intel hanno messo a punto AVX10, una ISA che include le funzionalità di AVX-512 e che, diversamente da quanto avviene oggi, sarà compatibile con gli E-core di prossima generazione. In questo modo la casa di Santa Clara punta a unificare il set di istruzioni nei processori ibridi.
di Manolo De Agostini pubblicata il 25 Luglio 2023, alle 10:01 nel canale ProcessoriIntelCoreXeon
I processori ibridi di Intel, come le proposte Core di 12a e 13a generazione, nome in codice Alder Lake e Raptor Lake, si basano su architetture diverse, che differiscono in termini di ISA. Per questo motivo, le ultime CPU consumer non supportano le istruzioni AVX-512: i P-core hanno tutto il necessario per gestirle, mentre gli E-core no.
Al debutto di Alder Lake emerse che era possibile abilitare le istruzioni AVX-512, pena la disattivazione degli E-core, ma dopo un tira e molla, Intel ha deciso di mettere pietra tombale su quella possibilità andando a "fondere" le unità dedicate.
Oggi è emersa un'interessante novità che tenta di rendere la situazione meno ingarbugliata, tanto per Intel quanto per gli sviluppatori: con AVX10 (Advanced Instruction Extensions 10) Intel punta a garantire il supporto ad AVX-512 tanto sui P-core quanto sugli E-core.
AVX10 è una ISA che si rivolge ai futuri microprocessori della società statunitense, non solo ai quelli consumer ma anche a quelli server. Con AVX10 Intel consentirà a E-core e P-core di supportare AVX-512, anche se le istruzioni a 512 bit funzioneranno solo sui P-core.
Parallelamente, istruzioni convergenti AVX10 a 256 bit potranno essere eseguite su P-core o E-core, consentendo al processore di supportare le funzionalità AVX-512. In questo modo la casa di Santa Clara non dovrà disabilitare il supporto ai vettori a 512 bit come ha fatto con Alder Lake e Raptor Lake.
L'ISA convergente AVX10 includerà "istruzioni vettoriali AVX-512 con un flag di funzionalità AVX512VL, una lunghezza massima del registro vettoriale di 256 bit, nonché otto registri maschera a 32 bit e nuove versioni di istruzioni a 256 bit che supportano l'arrotondamento incorporato", e questa versione funzionerà sia sui P-core che sugli E-core.
Intel afferma che con AVX10 le applicazioni esistenti forniranno le stesse prestazioni di AVX-512, almeno alle stesse lunghezze vettoriali. Intel, inoltre, specifica:
- Le applicazioni compilate con Intel AVX2, ricompilate su Intel AVX10, dovrebbero ottenere miglioramenti prestazionali senza la necessità di un'ulteriore affinamento del software.
- Le applicazioni Intel AVX2 sensibili a "vector register pressure" otterranno le massime prestazioni grazie ai 16 registri vettoriali aggiuntivi e alle nuove istruzioni.
- È probabile che le applicazioni vettorializzabili con molti thread raggiungano un throughput aggregato più elevato quando vengono eseguite su processori Intel Xeon basati su E-core o su prodotti Intel con architettura ibrida ad alte prestazioni.
Intel supporterà AVX10 in versione 1 (AVX10.1) a partire dagli Xeon Scalable "Granite Rapids" di sesta generazione, anche se quei processori supporteranno solo istruzioni vettoriali a 512 bit e non le nuove istruzioni vettoriali convergenti a 256 bit.
I chip successivi a Granite Rapids supporteranno AVX10.2, che aggiungerà il supporto alle lunghezze vettoriali convergenti a 256 bit e nuove funzionalità. Tutti i futuri processori Xeon continueranno a supportare le istruzioni AVX-512 per garantire che le app sviluppate in passato funzionino correttamente e senza intoppi.
10 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoIn casa Intel hanno messo a punto AVX10, una ISA che include le funzionalità di AVX-512 e che, diversamente da quanto avviene oggi, sarà compatibile con gli E-core di prossima generazione. In questo modo la casa di Santa Clara punta a unificare il set di istruzioni nei processori ibridi.
Bellissimo... i Crack3rs ringraziano
Servono eccome, ci sono applicazioni che le richiedono specificatamente.
Ovviamente riferimento ad Intel
Se non ricordo male le cpu di 12a generazione erano state fornite di avx-512
ma disattivati da intel tramite bios per problemi inerenti all'impossibilità di gestione delle Temperature.
Si rischiava di "fondere" le cpu se venivano usate intensamente.
In pratica dopo anni in cui si sentivano cose tipo "16 registri interi sono anche troppi, in media il compilatore ne usa 12", "AVX-512 è il futuro", ecc. ecc.
ora di fatto i progettisti di Intel ammettono-senza-ammetterlo di aver preso una serie di cantonate mostruose.
AVX10 di fatto prende le nuove istruzioni AVX-512 che non avevano un corrispettivo nelle AVX o nelle AVX-2 e le estende/implementa anche su registri a 256bit (e corrispondenti registri dei predicati a 32bit), inoltre viene stabilita una nuova baseline di istruzioni supportate dopo le varie estensioni ad AVX-512 aggiunte a pene di chihuahua.
Esiste un estensione "opzionale" di AVX10 che supporta i registri SIMD a 512bit riservata alle cpu "da server" (per mantenere la retrocompatibilità con il codice ottimizzato per i vecchi progetti "morti" legati agli Xeon Phi, core Knights-qualcosa ecc. ecc.), ma in pratica il messaggio è (se non usi gli Xeon) di non sprecare risorse per ottimizzare per AVX-512 e sue evoluzioni a 512bit.
Riguardo le estensioni APX ... di fatto ammettono che la filosofia progettuale di RISC-V è la strada da seguire se si vuole salire di prestazioni, solo che nel caso degli x86 questo si ottiene complicando ulteriormente il decoder istruzioni.
Concordo, speriamo che al posto di questi orrendi E core da mobile si continui a insistere con il +0 delle discutibili soluzioni amd
Le AVX10 includono un registro che indica il numero di versione (di AVX10), il motivo è che già ora Intel uscirà con implementazioni "base" di AVX10 con differenze tra una versione e l'altra (non solo il supporto o meno delle istruzioni sui registri a 512bit).
Quindi l'anno prossimo dovrebbero uscire gli Xeon Granite Rapids che implementeranno AVX10 "versione 1" (nessun supporto per le nuove istruzioni sui registri a 256bit, supporta i registri a 512bit, praticamente è un AVX-512 "che fa finta di essere AVX10"
In seguito usciranno processori con supporto per AVX10 "versione 2" con il supporto delle nuove istruzioni su registri a 256bit ed "altre istruzioni e tipi di dati".
Quindi invece di "standardizzare" introdurranno ulteriori varianti, allo stato attuale le varianti e versioni di AVX sono:
AVX (1), AVX-2, AVX-512 (con 20 sotto-varianti), AVX10 "versione 1", AVX-10/256 "versione 2" e AVX-10/512 "versione 2".
E per fortuna che volevano semplificare le cose, pensate se le avessero volute complicare.
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".