← Nieuwste papers
🤖 machine learning

Optimizing CUDA like a Human: Micro-Profiling Tools as Expert Surrogates for LLM-Based GPU Kernel Optimization

KernelPro is een closed-loop multi-agent systeem dat LLM's integreert met door experts geïnspireerde micro-profiling tools en een domein-adaptieve MCTS-zoektocht om automatisch hoogperformante, energie-efficiënte CUDA-kernels te genereren en iteratief te optimaliseren, waarbij state-of-the-art versnellingen wordt bereikt op diverse benchmarks.

Oorspronkelijke auteurs: Jiading Gai, Shuai Zhang, Kaj Bostrom, Jin Huang, Vihang Patil, Haoyang Fang, Bernie Wang, Huzefa Rangwala, George Karypis

Gepubliceerd 2026-06-26
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Jiading Gai, Shuai Zhang, Kaj Bostrom, Jin Huang, Vihang Patil, Haoyang Fang, Bernie Wang, Huzefa Rangwala, George Karypis

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 zeer getalenteerde maar onervaren leerling-kok hebt (de AI) die de snelste, meest efficiënte maaltijd ter wereld wil koken (een computerprogramma voor een grafische kaart). Het probleem is dat de chef de taal van de keukenapparatuur niet spreekt. Als je ze een ruwe lijst met getallen van de sensoren van het fornuis geeft—zoals "temperatuur: 400, druk: 20, vlam: flakkerend"—raakt de chef in de war en kan hij het gerecht zelfs slechter maken.

KernelPro is een nieuw systeem dat fungeert als een meester-sous-chef die direct naast de leerling staat. In plaats van de AI ruwe sensordata te geven, vertaalt de sous-chef deze getallen naar praktisch Engels advies: "Hé, het fornuis is te heet omdat je te veel olie gebruikt; schakel over naar een kleinere pan en roer sneller."

Hier is hoe KernelPro werkt, onderverdeeld in eenvoudige concepten:

1. De "Expert Surrogate" (De Vertaler)

In het verleden probeerden AI-systemen te raden wat de getallen betekenden. KernelPro introduceert Micro-Profiling Tools. Zie dit als een set gespecialiseerde sensoren, elk beheerd door een andere expert.

  • Eén expert controleert of de chef de juiste panformaat gebruikt (Geheugen).
  • Een andere controleert of de chef de groenten te langzaam snijdt (Compute).
  • Een derde controleert of de chef ingrediënten op de grond laat vallen (Register Spills).

In plaats van de AI een spreadsheet met getallen te geven, fungeren deze tools als surrogaten voor menselijke experts. Ze bekijken de data, bepalen het probleem en schrijven een duidelijke notitie: "Je geheugengebruik is kritiek; schakel over naar een snellere opslagmethode." Uit het onderzoek bleek dat het geven van deze duidelijke notities aan de AI 125% beter werkt dan het simpelweg dumpen van ruwe getallen. Sterker nog, de ruwe getallen waren zo verwarrend dat de AI zelfs slechter presteerde dan wanneer hij helemaal geen feedback had ontvangen!

2. De "Smart Detective" (De Zoekstrategie)

Het optimaliseren van code is als het oplossen van een doolhof. Een eenvoudige aanpak (genaamd "greedy search") is om gewoon vooruit te lopen en naar links af te slaan zodra je tegen een muur loopt. Je kunt dan vastlopen in een doodlopend spoor.

KernelPro gebruikt een Monte Carlo Tree Search (MCTS). Stel je een detective voor die niet slechts één pad bewandelt. In plaats daarvan:

  • Tekent hij een kaart van elke mogelijke afslag die hij zou kunnen nemen.
  • Stuurt hij "verkenners" uit om gelijktijdig verschillende paden te proberen.
  • Als een pad veelbelovend lijkt, stuurt hij meer verkenners die kant op.
  • Als een pad tot een doodlopend spoor leidt, markeert hij dit op de kaart en verspilt hij daar geen tijd meer aan.

Dit stelt het systeem in staat om vele manieren te verkennen om de code te verbeteren zonder vast te lopen in een "goed genoeg" oplossing. Het onderzoek toont aan dat deze methode aanzienlijk snellere oplossingen vindt dan wanneer men blind vooruit loopt.

3. De "Memory Bank" (Leren van fouten)

Normaal gesproken, wanneer een AI probeert code te repareren, vergeet hij wat er in de vorige poging is gebeurd. Het is als een chef die een pan aanbrandt, de pan schoonmaakt, en vervolgens onmiddellijk weer probeert de pan aan te branden omdat hij de les niet heeft onthouden.

KernelPro heeft een Search Memory. Het houdt een voortdurend logboek bij van elke fout, elk succes en elk "aha!"-moment.

  • "Vorige keer probeerden we een grote pan, maar die was te zwaar."
  • "We vonden een kortkoppeling in de bibliotheek die goed werkt voor dit type gerecht."

Dit logboek wordt bij elke stap teruggekoppeld aan de AI, zodat hij leert van zijn eigen geschiedenis en niet dezelfde fouten herhaalt.

4. De "Source Code Hunter" (Schrijven vanaf nul)

De meeste AI-systemen proberen vooraf gemaakte onderdelen samen te stellen (zoals het gebruik van een bibliotheek met voorgekookte ingrediënten). KernelPro is anders; het kan het recept vanaf nul schrijven.
Het heeft een tool waarmee het door de enorme bibliotheek van bestaande hoogwaardige code (CUTLASS/CuTe) kan zoeken om de specifieke bouwstenen te vinden die het nodig heeft. Vervolgens assembleert het deze tot een gloednieuw, op maat gemaakt gerecht dat perfect is afgestemd op de specifieke hardware, precies zoals een meesterkok dat zou doen.

5. De "Energy Saver" (Bonusfunctie)

Meestal geven mensen alleen om hoe snel de maaltijd wordt bereid. KernelPro is het eerste systeem dat ook aandacht besteedt aan hoeveel elektriciteit het verbruikt.
In een test vond het systeem een manier om exact hetzelfde gerecht even snel te bereiden, maar door andere "ingrediënten" (instructies) te kiezen, verbruikte het 11,6% minder energie. Het is alsof je een manier vindt om water sneller te koken zonder het vuur hoger te zetten, simpelweg door een betere pan te gebruiken.

De Resultaten

Wanneer getest op een standaard reeks moeilijke programmeeruitdagingen (KernelBench):

  • Niveau 1 (Gemakkelijk): Het was 2,4 keer sneller dan het vorige beste systeem.
  • Niveau 2 (Gemiddeld): Het was 4,7 keer sneller.
  • Niveau 3 (Moeilijk): Het was 5,3 keer sneller.

In een real-world test met een complexe AI-trainingsopgave (MoE), versloeg het de handmatig geoptimaliseerde code van een menselijke expert met een factor 1,23, waarbij het een gloednieuw, razendsnel programma van scratch creëerde dat nog nooit eerder door een mens was geschreven.

Kortom: KernelPro vraagt een AI niet alleen om te "raden" hoe hij code moet repareren. Het geeft de AI een team van expert-vertalers om de problemen uit te leggen, een slimme detective om oplossingen te verkennen, een geheugen om van fouten te leren, en het vermogen om aangepaste code vanaf nul te schrijven. Dit verandert een verwarde leerling in een meesterkok.

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 →