Intel PISA: nuovo livello software che cambia il futuro delle GPU Xe

Intel lavora su PISA, una nuova ISA virtuale che crea un livello intermedio tra compilatori e GPU Xe. L'obiettivo è ridurre la dipendenza del software dalle singole generazioni hardware, con un approccio che ricorda PTX di NVIDIA.

Intel sta preparando una novità importante per il software che gira sulle sue GPU. Si chiama PISA, acronimo di Portable Instruction Set Architecture, ed è una nuova ISA virtuale pensata per creare un livello stabile tra compilatori e hardware. Il riferimento alla torre di Pisa nell’immagine di apertura è ovviamente ironico.

L’idea è relativamente semplice: invece di produrre subito istruzioni legate a una specifica generazione di GPU Intel, il compilatore può generare codice PISA. Un componente successivo si occupa poi di tradurlo nelle istruzioni effettivamente eseguibili dalla GPU presente nel sistema.

Il vantaggio è che il software può dipendere meno dai dettagli di una singola architettura grafica e Intel può adattare la parte finale della compilazione alle diverse generazioni di GPU.

PISA ricorda PTX di NVIDIA, ma non è la stessa cosa

Il paragone più immediato è con PTX, la ISA virtuale usata nello stack CUDA di NVIDIA.

Anche PTX funge da livello intermedio tra il codice prodotto dai compilatori e le istruzioni native della GPU. PISA sembra seguire una filosofia simile: offrire un target relativamente stabile che possa essere utilizzato anche quando l’hardware sottostante cambia.

Il confronto aiuta a capire il concetto, ma PISA è ancora giovane e Intel sta definendo sia la specifica sia gli strumenti necessari per utilizzarla.

Uno dei passaggi più importanti è il lavoro per introdurre un backend PISA in LLVM, la diffusissima infrastruttura open source su cui si basano molti compilatori moderni, tra cui Clang. LLVM potrebbe generare direttamente codice PISA come destinazione della compilazione e, a questo proposito, Intel ha già presentato pubblicamente la proposta agli sviluppatori del progetto.

Perché Intel ha bisogno di una ISA portabile

Le GPU Intel cambiano continuamente a livello interno. Una nuova generazione può introdurre istruzioni differenti, nuove unità di calcolo o modifiche alla gestione delle risorse. Senza uno strato intermedio, i compilatori devono conoscere molto da vicino ogni singola architettura.

Con PISA, Intel prova invece a separare meglio i due mondi: il compilatore descrive cosa deve fare il programma; un componente più vicino all’hardware decide come trasformare quelle operazioni nelle istruzioni migliori per la GPU disponibile.

In teoria questo permette di riutilizzare più facilmente lo stesso codice su più generazioni Xe e può semplificare lo sviluppo di compilatori, librerie e applicazioni per il calcolo parallelo.

Perché PISA è interessante

Per l’utente finale PISA resterà probabilmente invisibile: la novità interessa soprattutto sviluppatori di compilatori, librerie e software di calcolo GPU. Se il progetto funzionerà come previsto, Intel potrà rendere meno traumatico il passaggio da una generazione Xe alla successiva.

La novità di PISA arrivano insieme con il nuovo Intel Compute Runtime, componente open source che consente alle applicazioni di sfruttare le GPU Intel per attività di calcolo. Supporta OpenCL, lo standard aperto per eseguire codice parallelo su CPU e GPU, e Level Zero, l’interfaccia a basso livello di Intel pensata per controllare più direttamente l’hardware grafico.

La stessa release introduce anche un’altra modifica significativa: LEO, Level Zero Executing OpenCL, diventa il percorso predefinito per OpenCL sulle future piattaforme Nova Lake. Si tratta di una scelta che potrebbe semplificare manutenzione e ottimizzazione del runtime.

PISA e LEO non dipendono direttamente l’una dall’altra, ma mostrano una direzione comune: Intel sta cercando di migliorare il più possibile il software che collega applicazioni e GPU.

Ti consigliamo anche

Link copiato negli appunti