Con hUMA architettura di memoria unificata per le APU AMD

AMD anticipa con il nome hUMA, heterogeneous unifom memory access, una delle principali caratteristiche tecniche delle APU di prossima generazione appartenenti alla famiglia Kabini
di Paolo Corsini pubblicata il 02 Maggio 2013, alle 10:21 nel canale ProcessoriAMD
L'integrazione nei più recenti processori tanto di AMD come di Intel permette di avere a disposizione una elevata potenza di calcolo, messa a disposizione dai tradizionali core CPU x86 in abbinamento alle componenti GPU dotate di stream processors al proprio interno.
Per i programmatori l'avere a disposizione una potenza di elaborazione così elevata non si traduce tuttavia in approcci semplici per poter sfruttare tutto questo in modo semplice e in parallelo. CPU e GPU, infatti, non condividono tipicamente quello che è lo spazio memoria: questo implica che in presenza di dati che devono venir elaborati tanto dalla CPU come dalla GPU sia necessario eseguire varie operazioni di copia dallo spazio memoria della CPU a quello della GPU, e viceversa.
Per ovviare a questa limitazione, e quindi permettere di sfruttare al meglio la potenza di calcolo di CPU e GPU, è necessario adottate uno spazio memoria unificato. Lo scorso anno AMD ha anticipato che vedremo questo tipo di novità architetturale con processori della famiglia Kaveri, al debutto nel corso della seconda metà del 2013. Nei giorni scorsi AMD ha confermato questa roadmap interna, indicando con il nome di hUMA o heterogeneous unifom memory access.
Con le soluzioni Kaveri vedremo quindi all'opera un approccio differente rispetto a quello NUMA, non-uniform memory access, adottato sino ad ora dalle APU sviluppate da AMD. Con NUMA CPU e GPU utilizzano la stessa memoria, ma ciascuno di questi componenti utilizza un proprio memory pool e quindi i dati condivisi devono essere copiati da un blocco memoria all'altro per poter essere utilizzati.
Con hUMA GPU e CPU utilizzano uno spazio di indirizzamento della memoria unificato, condividendo quindi tanto memoria fisica come memoria virtuale. La coerenza dei dati tra le due diversi fonti di elaborazione è assicurata senza la necessità di operazioni di sincronizzazione, richieste invece con l'attuale approccio NUMA: questo dovrebbe permettere di ottenere sia un incremento delle prestazioni velocistiche sia una riduzione nei consumi.
Vedremo in che modo questa evoluzione architetturale, implementata completamente in hardware e quindi in grado di operare con qualsiasi sistema operativo, avrà riflessi diretti sulle prestazioni velocistiche dei sistemi. Le prime soluzioni della famiglia Kaveri saranno al debutto nel corso della seconda metà dell'anno, implementando oltre a hUMA anche nuovi Core x86 della famiglia Steamroller e componente GPU derivata dall'architettura Graphics Core Next. Tutto questo sarà reso possibile anche dal passaggio alla tecnologia produttiva a 28 nanometri, contro quella a 32 nanometri utilizzata al momento attuale.
12 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoVai AMD!
la tecnologia non esclude che ci possano essere sempre memorie dedicate anzi è normale ed inevitabile che lo siano nel segmento ad alte prestazioni, ma semplicemente utilizzeranno uno spazio di indirizzamento della memoria unificato. Guindi la gpu usera la sua ram in loco la cpu quella di sistema e quando devono accedere ai dati dell'altra invece di spostarli prima di poterli elaborare li potranno indirizzare direttamente senza ulteriori passaggi.
Una memoria unificata andra bene per una certa categoria di sistemi sia per motivi di costo che integrazione ma non è solo un opzione possibile non un obbligo.
La cpu e la gpu hanno lo stesso indirizzamento, ci sono locazioni di memoria dedicate alla CPU e alcune dedicate alla GPU e si possono vedere a vicenda.
no, Trinity non ha gli indirizzamenti unificati
http://www.techarena.it/amd-maggior...ssime-apu-47076
"Fino alla generazione corrente (Trinity e Richland), le APU hanno avuto accesso non unificato alla memoria, in breve The processor cores must jump through hoops to access memory being used by the graphics hardware (non Uniform Memory Access). Sebbene i core CPU e la IGP siano entrambi dotati di accesso alla memoria di sistema, hanno differenti sistemi di accesso e, in un dato istante, i core CPU devono passare attraverso una lunga procedura per accedere alle porzioni di memoria che sono utilizzate dal core grafico. Lo stesso discorso si verifica quando la grafica deve accedere alla memoria che in quel momento è utilizzata dai core CPU, ciò comporta latenze che allungano i tempi di processo."
Con questa unificazione la memoria è una e una sola, non c'è più distinzione tra cpu e gpu ed elimina i cicli necessari a copiare i dati dalla memoria cpu a quella gpu, cosa che non sarebbe possibile se vi fosse una memoria fisicamente differente (esempio la gddr della vga)
La memoria unificata hUMA tornerà utile quando AMD comincerà a mettere in campo HSA e l'APU lavorerà sugli stessi dati in contemporanea con CPU e GPU.
se hanno libero accesso è possibile, con il registro dei dati unificato la ram di sistema e quella della VGA vengono viste come "unica" anche se sono fisicamente separate; la CPU andra a leggere direttamente la memoria della VGA passando dal bus PCI-EX senza dover copiare il dato in ram e la VGA andra a leggere direttamente il dato nella memoria RAM di sistema senza dover copiare prima il dato nella vram; cambia semplicemente il canale di lettura ma il dato non verra ricopiato.
è la stessa cosa che fara nVidia con Maxwell; nel GPGPU i dati potrebbero essere stoccati nella ram di sistema sorpassando il limite dalla poca ram on-board delle VGA
Con questa unificazione la memoria è una e una sola, non c'è più distinzione tra cpu e gpu ed elimina i cicli necessari a copiare i dati dalla memoria cpu a quella gpu, cosa che non sarebbe possibile se vi fosse una memoria fisicamente differente (esempio la gddr della vga)
.
come giustamente ti ha gia scritto AceGranger non è cosi come hai scritto
Unificare la memoria non vuol dire usarne una soltanto per cpu e gpu, questo puoi farlo ma è solo un opzione di base la gpu discreta usera sempre la sua vram e la cpu la sua ram di sistema (non potresti fare altrimenti per motivi di performance e lateze) poi sara un sistema di indirizzamento virtuale che ti fara accedere in maniera diretta e trasparente alle 2 risorse come fossere un pool di indirizzamento unico ma in realta la memoria che ci sta sotto puo essere 1 2 4 ecc tutte ben separate con tecnologie divers ddr gddr edram ecc.
Inoltre trinity non usa nessun sistema di gestione della memoria unificata simile a quello descritto da amd.
e bè grazie, piacerebbe anche a me avere una VGA con 32 Gb e caricare tutto in vram... visto che moglie ubriaca e botte piena non le puoi avere è sicuramente meglio andare un po piu piano del massimo teorico piuttosto che non poter minimamente svolgere il lavoro.
le migliorie introdotte dal PCI-EX 3.0 le si vedranno proprio in questi ambiti, hanno appunto ridotto il tempo di accesso, diminuito overhead e ogni linea puo trasferire circa 980 MB/s; sono 15 GB/s totali in modalita 16X, non credo che la banda sara un problema
anche se ametto che sui sistemi dd3 dei pc duplicare i dati ridurebbe un po lo spreco di banda sopratutto sui portatili
Mi pareva di ricordare che già trinity fosse unificata come indirizzamento.
Ma forse come dici tu non aveva indirizzi unificata ma solamente la possibilità di far accedere la cpu alla memoria della gpu e viceversa.
Non credo che la cpu abbia la capacità di elaborare dati in una memoria esterna senza caricarli nella sua memoria.
Li può leggere forse ma deve comunque copiarseli nella sua memoria.
P.s: "non credo" nel senso che non ne sono convinto, non che non si può fare
Qui non stiamo parlando di vga discrete, quello è tutto un'altro discorso, usano anche memorie diverse perchè servono caratteristiche diverse.
Come ho già detto questa unificazione non è fatta nell'ottica di usare la GPU per la grafica, ma per usarla nel calcolo parallelo.
registro non memoria, con la memoria unificata si salta un passaggio
da vram-->ram--> registro
a
vram--> registro
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".