Samsung ha presentato il proprio lavoro sul processing-in-memory a Hot Chips, e l’analisi pubblicata la mattina del 29 agosto quantifica entrambi i lati del compromesso. Il dato sulla larghezza di banda ha viaggiato; il costo architetturale no.

Dove si trova la larghezza di banda

Il moltiplicatore elevato confronta la larghezza di banda disponibile alle unità di calcolo all’interno del dispositivo di memoria con la larghezza di banda che lo stesso dispositivo espone attraverso la sua interfaccia esterna. È proprio questo il punto del calcolo in memoria: il bus interno più ampio è la risorsa, e c’era già — ciò che cambia è che ora le unità aritmetiche si collocano sul lato vicino di quel bus. Non si tratta di larghezza di banda extra fornita al processore host.

Il costo che paga l’host

Per far funzionare lo schema, la memoria che contiene gli operandi PIM deve essere mappata come non cacheable e non speculative. Una copia in cache diventerebbe obsoleta nel momento in cui l’unità in-memory la modificasse, e una lettura speculativa potrebbe innescare un calcolo che, dal punto di vista architetturale, non è mai avvenuto. Perciò il processore che indirizza quella regione perde la cache, perde il prefetch hardware e non può riordinare gli accessi attorno a quelle operazioni. Tre dei meccanismi che rendono veloci i core moderni vengono disattivati proprio per i dati che si stanno accelerando.

Ciò che la cornice interpretativa comune sbaglia

La copertura giornalistica ha trattato il valore interno come un’accelerazione a livello di sistema — come se una macchina ottenesse otto volte la larghezza di banda della memoria. Non è così. L’affermazione corretta è più limitata, ma resta interessante: per operazioni limitate dalla larghezza di banda e aritmeticamente semplici, soprattutto il lavoro element-wise e di riduzione nel decode degli LLM, spostare l’operazione sui dati evita un andata e ritorno che altrimenti il bus esterno dominerebbe. Per qualunque carico computazionalmente intenso, il PIM è il posto sbagliato e la cache disattivata è una perdita netta.

Il throughput nel contesto

Il calcolo esposto all’esterno per package è di un paio di TOPS INT8; un insieme di otto arriva a una cifra a una sola cifra di decine di TOPS — paragonabile all’NPU di un processore per laptop di fascia mainstream. L’elemento distintivo non è il throughput grezzo, ma il fatto che il throughput è associato a l’intera capacità di memoria di quei dispositivi, cioè proprio dove il decode dei modelli grandi fa più male.