Con hUMA architettura di memoria unificata per le APU AMD

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 pubblicata il , alle 10:21 nel canale Processori
AMD
 

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.

amd_huma_2.jpg (42743 bytes)

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.

amd_huma_1.jpg (46666 bytes)

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.

Resta aggiornato sulle ultime offerte

Ricevi comodamente via email le segnalazioni della redazione di Hardware Upgrade sui prodotti tecnologici in offerta più interessanti per te

Quando invii il modulo, controlla la tua inbox per confermare l'iscrizione.
Leggi la Privacy Policy per maggiori informazioni sulla gestione dei dati personali

14 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Tedturb002 Maggio 2013, 10:28 #1
Finalmente!
Vai AMD!
PaulGuru02 Maggio 2013, 10:30 #2
buono anche se non so quanto vantaggio possa portare la condivisione della ram fra cpu e gpu anzichè usare la sezione dedicata in termini di %.
coschizza02 Maggio 2013, 10:37 #3
Originariamente inviato da: PaulGuru
buono anche se non so quanto vantaggio possa portare la condivisione della ram fra cpu e gpu anzichè usare la sezione dedicata in termini di %.


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.
Bivvoz02 Maggio 2013, 11:53 #4
Originariamente inviato da: coschizza
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.


Quello di cui parli è una cosa già vista e banale, già presente in trinity.
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.

Questa unificazione vuole andare oltre a questo per altri obiettivi.
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.
AceGranger02 Maggio 2013, 12:15 #5
Originariamente inviato da: Bivvoz
Quello di cui parli è una cosa già vista e banale, già presente in trinity.
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."

Originariamente inviato da: Bivvoz
Questa unificazione vuole andare oltre a questo per altri obiettivi.
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
coschizza02 Maggio 2013, 12:23 #6
Originariamente inviato da: Bivvoz

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.
PaulGuru02 Maggio 2013, 12:26 #7
Originariamente inviato da: AceGranger
nel GPGPU i dati potrebbero essere stoccati nella ram di sistema sorpassando il limite dalla poca ram on-board delle VGA
Ma rimarrebbe sempre il collo di bottiglia della banda e del tempo di accesso, le GDDR montate sulle VGA discrete dovrebbero essere parecchio superiori alle RAM di sistema.
AceGranger02 Maggio 2013, 12:37 #8
Originariamente inviato da: PaulGuru
Ma rimarrebbe sempre il collo di bottiglia della banda e del tempo di accesso, le GDDR montate sulle VGA discrete dovrebbero essere parecchio superiori alle RAM di sistema.


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
Maury02 Maggio 2013, 12:46 #9
Prersumo sia stato usato nella nuova APU destinata a PS4, molto interessante come discorso.
dexarti02 Maggio 2013, 13:10 #10
spero che sia implemetata nei sistemi destinati alle console nexgen

anche se ametto che sui sistemi dd3 dei pc duplicare i dati ridurebbe un po lo spreco di banda sopratutto sui portatili

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".

La discussione è consultabile anche qui, sul forum.
 
^