APU AMD del futuro: CPU e GPU si parleranno, ecco come

Si chiama heterogeneus queuing e stabilisce come i processori interni a una APU interagiscono l'uno con l'altro per gestire operazioni di calcolo. AMD spiega cosa cambia e quali sono i vantaggi.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Ben Sander e Manju Hegde, rispettivamente senior fellow e vicepresidente corporate di AMD, hanno tenuto nei giorni scorsi una conferenza su "heterogeneus queuing" (hQ). Che cos'è? Partiamo con il dire che tutto ha a che fare con l'HSA (Heterogeneous System Architecture), un nuovo modo d'intendere i chip e la programmazione. Non più una CPU e una GPU distinte all'interno di un singolo chip, ma sistemi che collaborano tra loro per svolgere al meglio un'attività. Abbiamo approfondito l'argomento poche settimane fa, in questa notizia.

L'heterogeneus queuing è legato però più in particolare a hUMA. E anche qui una veloce digressione è obbligatoria, sebbene possiate approfondire il tema a questo indirizzo. Lo "heterogeneous uniform memory access" offre uno spazio d'indirizzamento condiviso, attraverso il quale i core x86 e le unità grafiche condividono memoria fisica e virtuale, senza perdita di cicli a causa della sincronizzazione delle operazioni.

Clicca per ingrandire

In parole spicciole se hUma definisce come i processori all'interno di una APU accedono alla memoria, l'hQ stabilisce come i processori interni a una APU interagiscono l'uno con l'altro per gestire operazioni di calcolo, facendo sì che la tradizionale relazione tra CPU e GPU cambi completamente. Va da sé quindi che l'attuale sistema di queuing (accodamento) delle operazioni non vada più bene.

Clicca per ingrandire

Il modello di distribuzione delle operazioni nella CPU è "veloce e diretto", la ripartizione delle operazioni dalla CPU alla GPU è realizzato mediante un servizio nel sistema operativo che aggiunge latenza per via dell'overhead derivante dallo scheduling e delle transizioni "Kernel Mode".

Poi ci sono i driver del kernel che traducono pacchetti di operazioni in un formato comprensibile all'hardware che deve gestirli. Infine, in questo modello di funzionamento, la GPU può solo "consumare" operazioni e non distribuire nuovi task a sé stessa o alla CPU.

Clicca per ingrandire

La soluzione per un futuro eterogeneo è quindi l'heterogeneus queuing, che stravolge l'approccio tradizionale. Anziché essere "nutrita" dalla CPU, la GPU può generare i propri elementi di lavoro collocando operazioni in coda sia a sé stessa che alla CPU, facendo sì che siano spedite immediatamente attraverso una modalità di queuing a bassa latenza.

La CPU può inserire delle operazioni direttamente nella coda dei task a cui la GPU accedererà non appena possibile. Non c'è transizione "Kernel Mode" o del sistema operativo in questo caso, permettendo la riduzione della latenza nella fase di distribuzione dei compiti.

Un altro beneficio portato da "hQ" è che su tutte le soluzioni HSA viene usato un singolo formato per la distribuzione delle operazioni. Questo implica che non c'è bisogno di uno stadio di traduzione software tra l'applicazione e la coda delle informazioni nella GPU. Se ne deriva quindi come questo tassello dell'architettura HSA sia essenziale per permettere di accedere al pieno potenziale delle future APU, dare a CPU e GPU eguale flessibilità e una visibilità uniforme all'interno dello spazio di memoria.

I vantaggi sono le prestazioni più elevate e consumi inferiori, perché l'uso più semplice e diretto della GPU permetterà di ridurre i consumi con carichi di lavoro paralleli, che saranno completati in breve tempo. AMD pone inoltre l'accento sulla programmabilità, con modelli per la GPU che possono diventare equivalenti a quelli, più familiari per i programmatori, disponibili per la CPU.

Tutto questo lavoro dovrebbe iniziare a vedersi con l'APU Kaveri, almeno per quanto riguarda AMD. Poiché l'approccio HSA (Heterogeneous System Architecture) è sostenuto anche da altre aziende come Qualcomm, ARM, Samsung e Imagination Technologies tutto questo lavoro sarà di grande aiuto anche nello sviluppo di SoC per smartphone e tablet in grado di lavorare con maggiore efficienza su ogni tipo di operazione.