Nvidia en IBM werken samen aan technologie om GPU-intensieve applicaties razendsnel toegang te geven tot grote hoeveelheden data voor verwerking. De Big accelerator Memory (BaM)-technologie moet dit mogelijk maken.

De bedrijven werken aan technologie voor applicaties voor het trainen van machine learning, analytics en high-performance computing. Het hele proces moet door de GPU worden georkestreerd in plaats van de CPU.

De onderzoekers stellen dat het huidige toegangsproces niet meer van deze tijd is. Deze technologie is wel geschikt voor meer ‘klassieke’ GPU-applicaties als het trainen van zeer dichte neurale netwerken, maar het veroorzaakt toch te veel ‘CPU-GPU-synchronisatie overhead’ en/of een sterke groei van het I/O-verkeer. De nadelen maken de oude technologie ongeschikt voor innovatievere applicaties, zo vinden de onderzoekers van Nvidia en IBM.

Introductie BaM

Om het probleem op te lossen komen ze met de BaM-technologie. Deze technologie moet juist de nieuwe innovatieve applicaties efficiënter in datacenters laten draaien. De technologie zorgt ervoor dat in samenwerking met een NVMe SSD de sterke toename van het I/O-verkeer ongedaan wordt gemaakt. Data kan vanaf de storage sneller in het geheugen van de GPU worden geladen.

BaM gebruikt hiervoor het ingebouwde geheugen van de GPU, een softwarebeheerde cache en een GPU thread software library. De threads in de GPU ontvangen de data vanuit de storage-omgeving, de SSD, en verplaatsen ze met behulp van een maatwerk op Linux gebaseerde kernel driver.

Testtrajecten

De onderzoekers hebben de nieuwe technologie ook getest. Hiervoor gebruikten zij een Nvidia A100 40 GB PCIe GPU, twee AMD EPYC 7702-processors met ieder 64 cores en 1 TB aan DDR4-3200-geheugen. Het systeem draaide op Ubuntu 20.04 LTS.

Nvidia en IBM zijn zeer tevreden over de testen en constateerden dat zelfs consumenten SSD’s met BaM de prestaties van applicaties zodanig verhoogden, dat zij kunnen concurreren met een duurdere DRAM-only oplossing.