AMD e Intel hanno deciso di collaborare su una componente fondamentale per il futuro dell’intelligenza artificiale: il software che permette di sfruttare le capacità di calcolo dei processori x86. Le due aziende, tradizionalmente rivali nel mercato delle CPU, intendono adottare un percorso comune per accelerare le applicazioni AI sviluppate con PyTorch, riducendo la necessità di mantenere implementazioni differenti per le rispettive architetture.
La novità, annunciata ufficialmente da Intel e confermata da AMD, ruota intorno a oneDNN, una libreria open source specializzata nell’esecuzione efficiente delle operazioni matematiche utilizzate dalle reti neurali. AMD contribuirà direttamente al progetto integrando le ottimizzazioni sviluppate per ZenDNN (libreria software sviluppata da AMD per accelerare l’esecuzione delle reti neurali sui processori basati su architettura Zen, ottimizzando operazioni matematiche come moltiplicazioni di matrici, convoluzioni e meccanismi di attenzione), mentre la partecipazione alla Unified Acceleration Foundation (UXL) come Steering Member permetterà all’azienda di intervenire più direttamente nello sviluppo della libreria condivisa.
L’accordo, tuttavia, ha implicazioni che vanno oltre PyTorch. AMD e Intel stanno lavorando anche a una nuova famiglia di istruzioni x86, denominata AI Compute Extensions (ACE), concepita per accelerare i calcoli matriciali. La collaborazione riguarda quindi sia il software utilizzato oggi sia alcune delle capacità hardware che potrebbero caratterizzare i processori dei prossimi anni.
Perché AMD e Intel vogliono utilizzare la stessa libreria AI
Un’applicazione AI non sfrutta automaticamente tutta la potenza del processore soltanto perché dispone di numerosi core o di istruzioni vettoriali avanzate. Tra il modello e l’hardware intervengono diversi livelli software che determinano come eseguire le operazioni matematiche, come distribuire il lavoro tra i thread e come utilizzare registri, cache e memoria.
Le reti neurali eseguono continuamente moltiplicazioni di matrici, convoluzioni, normalizzazioni e trasformazioni di tensori: sono operazioni la cui implementazione influenza profondamente le prestazioni.
Intel e AMD hanno sviluppato nel tempo librerie e ottimizzazioni proprie, capaci di selezionare il codice più adatto alle caratteristiche dei rispettivi processori. Tuttavia, quando più librerie offrono funzionalità simili attraverso interfacce e percorsi di integrazione differenti, diventa più complesso mantenere applicazioni AI efficienti su piattaforme hardware diverse.
Secondo l’annuncio congiunto, AMD e Intel hanno quindi concordato, seguendo una raccomandazione dell’x86 Ecosystem Advisory Group, di utilizzare oneDNN come libreria open source di riferimento per l’accelerazione x86 all’interno di PyTorch. L’obiettivo è quello di fornire agli sviluppatori un percorso software comune, con ottimizzazioni specifiche per ciascuna architettura.
Che cos’è oneDNN e perché è così importante per PyTorch
oneDNN, precedentemente conosciuta come MKL-DNN, è una libreria che implementa primitive computazionali ottimizzate per il deep learning. Le primitive rappresentano operazioni fondamentali come moltiplicazioni di matrici, convoluzioni, normalizzazioni e funzioni di attivazione, sulle quali si costruiscono modelli AI più complessi.
Il vantaggio di una libreria specializzata consiste nella possibilità di utilizzare implementazioni differenti della stessa operazione senza modificare la logica del modello.
PyTorch è un framework open source per l’AI e il deep learning, sviluppato originariamente da Meta, che permette di creare, addestrare ed eseguire reti neurali. Utilizza principalmente il linguaggio Python e mette a disposizione strumenti per gestire tensori (strutture di dati multidimensionali), eseguire operazioni matematiche e sfruttare l’accelerazione hardware di CPU e GPU.
Può essere utilizzato per definire un modello tramite codice Python, alimentarlo con dati, addestrarlo oppure eseguire l’inferenza, ossia ottenere risultati da un modello già addestrato. PyTorch gestisce le operazioni matematiche sottostanti e può affidarsi a librerie ottimizzate come oneDNN per sfruttare meglio le capacità dei processori x86.
PyTorch utilizza già oneDNN attraverso il backend storicamente identificato come MKLDNN: la scelta di AMD e Intel punta a concentrare in un progetto comune una parte maggiore degli interventi necessari per ottimizzare PyTorch sulle CPU x86.
AI Compute Extensions: AMD e Intel collaborano anche sulle future istruzioni x86
Nell’annuncio, Intel richiama esplicitamente un altro progetto sviluppato insieme ad AMD: le AI Compute Extensions (ACE), già citate in precedenza. L’iniziativa è figlia dello storico accordo siglato a ottobre 2024 tra Intel e AMD che fondarono x86 Ecosystem Advisory Group.
Il documento tecnico The AI Compute Extensions (ACE) for x86, pubblicato ad aprile 2026, descrive istruzioni progettate per lavorare in stretta relazione con AVX10, la famiglia di estensioni vettoriali x86. L’intento è quello di permettere alle future CPU AMD e Intel di eseguire più calcoli legati all’intelligenza artificiale con un numero inferiore di istruzioni. Per riuscirci, ACE introduce un modo più efficiente di elaborare le matrici, ossia le tabelle di numeri sulle quali si basano gran parte delle operazioni eseguite dalle reti neurali.
Anziché lavorare soltanto su gruppi di numeri disposti in sequenza, come avviene con le tradizionali istruzioni vettoriali, ACE permette di elaborare direttamente blocchi di dati organizzati in righe e colonne. Tali blocchi, chiamati tile, risiedono in appositi registri del processore, cioè piccolissime aree di memoria interne alla CPU che consentono di accedere ai dati con estrema rapidità. Le specifiche prevedono 8 registri tile, ciascuno capace di contenere 16 righe da 512 bit, equivalenti complessivamente a 1 KB per registro.
Considerando operazioni su numeri interi a 8 bit (INT8), una singola istruzione ACE può esprimere fino a 1.024 moltiplicazioni, contro le 64 della corrispondente operazione vettoriale AVX10 presa come riferimento. Con il formato BF16, invece, il confronto è tra 512 e 32 moltiplicazioni.
In entrambi i casi, ACE permette quindi di concentrare 16 volte più moltiplicazioni nella singola operazione considerata dal confronto. Le prestazioni dipenderanno anche dalla realizzazione hardware, dalla rapidità con cui la CPU eseguirà le nuove istruzioni e dalla capacità di alimentare continuamente le unità di calcolo con i dati necessari.
Come verificare se PyTorch utilizza oneDNN
Chi lavora con PyTorch può già controllare la disponibilità del backend MKLDNN nella propria installazione. Un primo controllo consiste nell’eseguire questo codice Python:
import torch
print("Versione PyTorch:", torch.__version__)
print("MKLDNN disponibile:", torch.backends.mkldnn.is_available())
print("MKLDNN abilitato:", torch.backends.mkldnn.enabled)
L’esito permette di capire se il backend è disponibile e abilitato, ma non certifica che una specifica operazione utilizzi oneDNN né che siano presenti le future ottimizzazioni derivanti dall’accordo AMD-Intel. Per osservare le primitive effettivamente eseguite, PyTorch mette a disposizione anche una modalità diagnostica:
import torch
with torch.backends.mkldnn.verbose(
torch.backends.mkldnn.VERBOSE_ON
):
# Eseguire qui un modello compatibile
output = modello(input_tensor)
La modalità verbose mostra dettagli relativi ai kernel oneDNN richiamati e ai relativi tempi di esecuzione, quando il modello utilizza quel backend.
Cosa cambia per Ryzen, EPYC e Intel Xeon
Le conseguenze più immediate dell’iniziativa promossa congiuntamente da Intel e AMD riguardano gli sviluppatori e gli operatori che eseguono carichi AI su server e workstation x86. Per i processori AMD EPYC e Intel Xeon, una libreria condivisa può contribuire a semplificare lo sviluppo di applicazioni destinate a infrastrutture eterogenee, nelle quali convivono macchine basate su CPU dei due produttori.
Anche sui sistemi AMD Ryzen e Intel Core, le ottimizzazioni potrebbero risultare utili per determinati carichi di inferenza locale, applicazioni di elaborazione dei dati e strumenti basati su PyTorch che utilizzano effettivamente il backend CPU interessato.
Il risultato più significativo, però, è che AMD e Intel hanno deciso di collaborare su una parte della tecnologia che determinerà quanto efficacemente le CPU x86 potranno eseguire i futuri modelli di intelligenza artificiale.
La collaborazione non cancella la concorrenza tra Ryzen, EPYC, Core e Xeon, ma potrebbe rendere più semplice valorizzare le capacità di ciascuna architettura senza costringere gli sviluppatori a mantenere percorsi software completamente separati.