Nvidia e IBM hanno recentemente annunciato qualcosa che potrebbe cambiare radicalmente le prestazioni delle schede video: Big Accelerator Memory. Si tratta di un framework di interoperabilità che permette alla GPU di accedere direttamente ai dati presenti nella memoria di sistema, senza passare dalla CPU. Questo approccio rende le GPU molto più autosufficienti di quanto non lo siano attualmente, permette alle stesse di usare la memoria locale come cache gestita via software e di spostare i dati usando interfaccia PCIe, RDMA e un kernel Linux personalizzato che consente agli SSD di leggere e scrivere direttamente la memoria della GPU quando necessario.
Big Accelerator Memory, o BaM, è stato brevettato da Nvidia e consente a GPU e SSD di "parlarsi" direttamente, senza l'uso di una API proprietaria come ad esempio Microsoft DirectStorage. BaM sarà utile soprattutto per i carichi di lavoro più moderni come ad esempio quelli computazionali, di intelligenza artificiale e simili, dove c'è la necessita di usare dataset molto ampi che, di norma, necessiterebbero di grandi quantità di memoria dedicata, che sia HBM, GDDR6 o di altro tipo; le GPU per datacenter più recenti mettono già a disposizione fino a 128GB di memoria HBM2E, ma anche i dataset stanno diventando sempre più grandi.
A grandi linee, si può dire che BaM sia un modo per la GPU di avere accesso a una grande quantità di storage utilizzabile in maniera indipendente dalla CPU, un fattore che rende gli acceleratori grafici dedicati al calcolo ad alte prestazioni molto più indipendenti di quanto non lo siano oggi.
Dal punto di vista dell'efficienza, il carico messo sulla CPU dalle unità NVMe, l'overhead derivante dalla sincronizzazione CPU-GPU e l'I/O traffic amplification limitano parecchio il bandwidth effettivamente a disposizione; per questo motivo, è di fondamentale importanza migliorare l'interoperabilità tra GPU e SSD, specialmente quando si ha a che fare con applicazioni che sfruttano grandi dataset.
"BaM mitiga la I/O traffic amplification permettendo ai thread della GPU di leggere o scrivere piccole quantità di dati su richiesta", si legge nella documentazione. "Abbiamo mostrato che l'infrastruttura software di BaM in esecuzione sulle GPU può identificare e comunicare gli accessi a velocità sufficiente da utilizzare completamente i dispositivi di archiviazione sottostanti. Anche nel caso in cui si tratti di SSD consumer, un sistema BaM può supportare prestazioni software che competono con quelle che si hanno con soluzioni dotate esclusivamente di DRAM, molto più costose. Inoltre, la riduzione nella I/O traffic amplification può garantire notevoli benefici prestazionali a livello generale".