← Nieuwste papers
🤖 machine learning

DCC: Data-Centric Compilation of Machine Learning Kernels for Processing-In-Memory Architectures

Dit artikel presenteert DCC, de eerste data-gerichte compiler voor Processing-In-Memory (PIM)-systemen die data-herordening en rekencode gezamenlijk optimaliseert om geheugentoegangsmismatches te overwinnen, wat aanzienlijke snelheidswinst oplevert voor machine learning-kernen en inferentie van grote taalmodellen op uiteenlopende PIM-architecturen.

Oorspronkelijke auteurs: Peiming Yang, Sankeerth Durvasula, Ivan Fernandez, Mohammad Sadrosadati, Onur Mutlu, Gennady Pekhimenko, Christina Giannoula

Gepubliceerd 2026-05-25
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Peiming Yang, Sankeerth Durvasula, Ivan Fernandez, Mohammad Sadrosadati, Onur Mutlu, Gennady Pekhimenko, Christina Giannoula

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een enorme bibliotheek runt (een Machine Learning-model) waar je specifieke boeken (data) moet vinden om vragen te beantwoorden.

Het Probleem: Twee Verschillende Bibliothecarisstijlen
In een traditionele computer heb je een supersnelle bibliothecaris (de GPU) die werkt in een enorm centraal kantoor. Om snel te werken, moet deze bibliothecaris boeken hebben die op een specifieke manier zijn gerangschikt: Boek 1, Boek 2 en Boek 3 moeten op verschillende planken staan, zodat de bibliothecaris ze allemaal tegelijk uit verschillende gangpaden kan grijpen.

Je hebt echter ook een nieuwe, super-efficiënte assistent (het PIM-apparaat) die direct naast de boekenkasten werkt. Deze assistent is ongelooflijk snel in het lezen, maar kan alleen de boeken bereiken die op hun eigen specifieke plank staan. Als de boeken verspreid liggen over verschillende gangpaden, moet de assistent heen en weer rennen, wat traag is.

Om deze nieuwe assistent te gebruiken, moet je de boeken pakken, ze herschikken zodat Boek 1, 2 en 3 allemaal op dezelfde plank staan voor de assistent, ze het werk laten doen, en vervolgens de boeken opnieuw herschikken om ze terug te plaatsen in het formaat van het centrale kantoor voor de hoofdbibliothecaris.

De Oude Manier: Het Met de Hand Doen
Voorheen moesten programmeurs handmatig de beste manier bedenken om deze boeken te schudden. Ze moesten raden: "Moet ik 10 boeken op deze plank doen? Of 20?" Als ze verkeerd gokten, besteedde de assistent meer tijd aan het schudden van boeken dan aan het daadwerkelijk lezen ervan. Dit was als proberen een bibliotheek met de hand te organiseren terwijl de klok tikt – het was traag, foutgevoelig, en verschillende bibliotheken (verschillende hardware) vereisten volledig verschillende regels voor het schudden.

De Oplossing: DCC (De Slimme Assistent van de Bibliothecaris)
Het paper introduceert DCC, een nieuw "slim systeem" dat fungeert als een hoofdbestuurder voor deze bibliotheek. In plaats van de assistent alleen te vertellen wat ze moet lezen, bedenkt DCC de beste manier om de boeken te rangschikken en de beste manier om de assistent te vertellen hoe ze ze moet lezen, allemaal tegelijk.

Hier is hoe DCC werkt, met behulp van eenvoudige metaforen:

  1. De Universele Vertaler (Multi-Layer Abstraction):
    Verschillende bibliotheken hebben verschillende indelingen (sommige hebben 4 gangpaden, sommige 8). DCC spreekt een universele taal. Het maakt niet uit of je een Samsung-bibliotheek of een SK Hynix-bibliotheek gebruikt; het vertaalt de "regels voor boekindeling" naar een formaat dat het begrijpt, zodat het met elke hardware kan werken.

  2. De "Wat-Zoals"-Simulator (Data-Centric Schedule Generator):
    In plaats van te raden, voert DCC duizenden simulaties in zijn hoofd uit. Het vraagt zich af: "Wat als we 4 boeken op Plank A doen? Wat als we er 8 doen?" Het kijkt naar het hele proces – de tijd voor het schudden plus de leestijd.

    • De Oude Manier: "Laten we het lezen supersnel maken!" (Het negeren dat het schudden eeuwig duurt).
    • De Manier van DCC: "Als we het leesplan iets aanpassen, kunnen we de tijd voor het schudden halveren. Dat is de echte winnaar." Het vindt het perfecte evenwicht tussen het verplaatsen van boeken en het lezen ervan.
  3. De Snelheidsvoorspeller (Coupled Performance Predictor):
    DCC is als een doorgewinterde coach die duizenden wedstrijden heeft gezien. Het hoeft niet elke enkele simulatie uit te voeren om te weten welke zal winnen. Het gebruikt een "leermodel" om het snelste plan direct te voorspellen. Dit betekent dat het geen tijd verspilt aan het testen van slechte ideeën.

  4. De Verkeersleider (Code Optimizer):
    Zodra DCC het beste plan heeft gekozen, regelt het het verkeer. Het zorgt ervoor dat wanneer de assistent boeken grijpt, ze ze in perfecte batches grijpt (zoals een hele stapel boeken in één keer grijpen) zodat er geen tijd verloren gaat door te wachten op het volgende boek.

De Resultaten: Hoeveel Sneller?
Het paper heeft dit systeem getest op real-world taken, zoals het draaien van Large Language Models (de AI die tekst schrijft of vragen beantwoordt).

  • De Snelheidswinst: Op het ene type hardware (AttAcc) maakte DCC de AI 13 keer sneller dan het gebruik van alleen de hoofdcomputer (GPU). Op een ander type (HBM-PIM) was het 7,7 keer sneller.
  • De Real-World Test: Bij het draaien van een volledig gesprek met een AI (zoals GPT-3 of LLaMA-2) maakte DCC het hele proces gemiddeld 4,5 keer sneller.
  • De "Magische" Truc: De grootste verrassing was dat de oude methoden zich alleen richtten op het snel maken van het "lees"-gedeelte. DCC besefte dat het "schuddende" gedeelte eigenlijk de bottleneck was. Door het schudden en het lezen samen te fixen, ontsloot het enorme snelheidswinsten.

Samenvattend
Zie DCC als de ultieme verkeersleider voor een drukke stad. Voorheen werden verkeerslichten ingesteld op basis van alleen hoe snel auto's konden rijden, met het negeren van de filevorming op de kruispunten. DCC kijkt naar de hele kaart, beseft dat de files het probleem zijn, en verandert tegelijkertijd de timing van de verkeerslichten en de wegindeling om de hele stad veel sneller te laten bewegen.

Het paper beweert dat dit het eerste systeem is dat deze "gezamenlijke optimalisatie" doet voor AI-taken op deze nieuwe geheugendevice's, waardoor ze praktisch en ongelooflijk snel worden voor de toekomst van AI.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →