Senza mai venire meno al suo “stile”, Linus Torvalds – padre della prima versione del kernel Linux e coordinatore del suo sviluppo – si era augurato che il set di istruzioni AVX-512 ideato da Intel per i suoi processori potesse sparire rapidamente dalla faccia della Terra “con atroci sofferenze”.
Qualche settimana fa Torvalds aveva anche suggerito ai tecnici di Intel di “risolvere problemi reali invece di cercare di creare istruzioni magiche utili a realizzare benchmark coi quali fare bella figura“.
Il set di istruzioni AVX-512 (Advanced Vector Extensions 512) fu presentato dalla società di Santa Clara nel 2013: esso utilizza vettori a 512 bit che permettono di raddoppiare il volume dei calcoli in virgola mobile elaborabili con una sola istruzione rispetto ad AVX2.
In particolare, usando AVX-512 le applicazioni compatibili possono eseguire 32 operazioni in virgola mobile a doppia precisione e 64 a singola precisione per ciclo di clock all’interno di vettori a 512 bit, oltre a 8 operazioni su interi a 64 bit e 16 a 32 bit.
Torvalds ha anche auspicato che Intel possa tornare a dedicarsi allo sviluppo delle piattaforme che tutti utilizzano e non dedicare troppi sforzi a “casi specifici”.
Il fatto è che quei “casi specifici” rappresentano per Intel una parte importante e crescente del suo business. Le istruzioni AVX-512, infatti, non sono supportate da tutti i processori ma soltanto da quelli ampiamente usati in ambito business.
Le supportano, ad esempio, le CPU Intel Xeon, gli Ice Lake, i processori HPC della serie X.
Tale set di istruzioni, come conferma Intel, è stato progettato per accelerare le prestazioni durante la gestione di carichi di lavoro comuni nelle simulazioni scientifiche, nell’analisi finanziaria, nelle applicazioni di intelligenza artificiale, nel deep learning, nella modellazione e nell’analisi 3D, nell’elaborazione di immagini e audio/video, nella crittografia e nella compressione dei dati.
Raja Koduri ha quindi voluto rispondere a Torvalds: “AVX-512 è una grande caratteristica. Gli utenti che si occupano di High Performance Computing (HPC) e di intelligenza artificiale la adorano. I nostri clienti lato data center la apprezzano in modo davvero particolare“.
Dal punto di vista tecnico, Torvalds contesta che quando un processo ha bisogno di accedere al set di istruzioni AVX-512, il processore deve diminuire la sua velocità di clock.
“Comprendiamo le preoccupazioni di Linus“, ha continuato Koduri, “e comprendiamo che alcuni dei problemi dell’AVX-512 di prima generazione hanno avuto un impatto sulle frequenze ma stiamo migliorando di molto il set di istruzioni a ogni generazione“.