Samsung porta il calcolo dentro la DRAM: 614 GB/s senza passare dal bus esterno

Samsung mostra LPDDR5X-PIM, una memoria da 16 GB che esegue alcune operazioni AI vicino ai dati. Nei test con Llama 3.1 8B il throughput cresce fino a circa 3 volte, ma restano importanti ostacoli software.

Per accelerare l’intelligenza artificiale abbiamo costruito GPU sempre più potenti, collegato pile di memorie HBM con bus larghissimi e iniziato perfino a progettare memorie flash capaci di avvicinarsi agli acceleratori. Perché, però, continuare a spendere energia e tempo per trasportare miliardi di parametri dalla memoria verso il processore, se una parte dei calcoli può avvenire laddove quei dati risiedono? Samsung prova a rispondere con LPDDR5X-PIM, una memoria da 16 GB mostrata a Hot Chips 2026 che integra unità aritmetiche accanto ai bank DRAM.

Il dato che fa capire subito la portata dell’idea è la banda: 76,8 GB/s attraverso l’interfaccia esterna, contro 614 GB/s disponibili internamente alle unità di elaborazione PIM.

La ricerca sul Processing-in-Memory, o PIM, accompagna l’informatica da decenni e tenta di superare uno dei limiti fondamentali dell’architettura di von Neumann: memoria e processore sono fisicamente distinti, quindi ogni elaborazione richiede continui trasferimenti di dati. Samsung lavora pubblicamente sulla soluzione almeno dal 2021.

LPDDR5X-PIM: 614 GB/s senza spostare continuamente i pesi

Il prototipo mostrato da Samsung contiene 16 GB e integra 16 blocchi PIM accanto ai banchi DRAM. Ogni blocco include unità progettate per svolgere uno dei calcoli più ricorrenti nelle reti neurali: moltiplicare valori e accumulare il risultato.

L’idea non è trasformare la memoria in una CPU general purpose, ma aggiungere abbastanza capacità di calcolo da eseguire “in locale” operazioni che altrimenti costringerebbero il sistema a trasferire continuamente grandi quantità di dati verso GPU o NPU.

Il vantaggio non deriva da una potenza di calcolo paragonabile a quella di una GPU. Samsung indica fino a 2,4 TOPS con pesi SINT4 e circa 1,2 TFLOPS in FP8, valori che hanno senso soprattutto perché quelle operazioni avvengono dove si trovano già i dati. PIM risulta quindi particolarmente adatto per le moltiplicazioni matrice-vettore tipiche dei LLM (Large Language Models), quando il processore deve rileggere enormi quantità di pesi per produrre ogni nuovo token.

Llama 3.1 8B triplica il throughput, ma il software resta il vero ostacolo

Samsung ha verificato l’approccio su silicio reale utilizzando il noto modello Llama 3.1 8B e un proprio acceleratore edge.

Nel test, con un contesto di 320 token, attivazioni SINT8, pesi SINT4 e output SINT32, la LPDDR5X convenzionale raggiungeva circa 27 token/s; LPDDR5X-PIM è arrivata a 81,3 token/s, riducendo il tempo di elaborazione da 12,3 a 5,4 secondi. Il throughput cresce quindi di circa 3 volte.

È un risultato notevole, che però non può essere generalizzato: si tratta di un benchmark del produttore, con un modello, una quantizzazione e una lunghezza del contesto ben precise. Con finestre molto più lunghe, KV cache più grande, batching o architetture Mixture-of-Experts il comportamento può cambiare sensibilmente.

La difficoltà maggiore è infatti integrare PIM negli stack software esistenti. Runtime come llama.cpp e vLLM non possono sfruttare automaticamente una memoria di questo tipo; servono backend specifici, una distribuzione dei pesi consapevole dei banchi di memoria e formati numerici compatibili con le unità presenti nella DRAM.

C’è poi il problema della memoria virtuale. Un’applicazione normalmente vede indirizzi virtuali e lascia al sistema operativo il compito di collocare le pagine nella RAM fisica; PIM, invece, può richiedere che determinate matrici finiscano nei banchi corretti e con gli allineamenti previsti. Anche un meccanismo efficiente come mmap, molto usato da llama.cpp per caricare i modelli, non basta da solo: runtime, driver e allocatori dovrebbero conoscere la topologia della DRAM.

Conclusioni

LPDDR5X-PIM mostra una direzione interessante perché affronta il problema alla radice: invece di aumentare continuamente la velocità con cui i dati raggiungono GPU e NPU (Neural Processing Unit), prova a ridurre il numero di volte in cui quei dati devono essere spostati.

Il risultato ottenuto con Llama 3.1 8B dimostra che l’idea può produrre vantaggi concreti, almeno nei carichi fortemente limitati dalla banda di memoria.

La strada verso un utilizzo generalizzato resta però lunga: serviranno supporto nei runtime, formati di quantizzazione adatti, gestione consapevole dei banchi DRAM e integrazione con sistemi operativi e acceleratori. Più che una sostituta di CPU e GPU, PIM appare quindi come un possibile nuovo livello di specializzazione: eseguire vicino ai dati le operazioni per cui trasferirli costa più che elaborarli.

Ti consigliamo anche

Link copiato negli appunti