← Nieuwste papers
🤖 AI

KernelArc: A Multi-Agent Framework for GPU Kernel Optimization

KernelArc is een multi-agent framework dat autonoom GPU-kernels optimaliseert door middel van parallelle, strategie-gespecialiseerde agents die coördineren via gedeeld geheugen en deterministische guards, waarmee het topposities behaalt op de SOL-ExecBench leaderboard voor diverse workloads op NVIDIA H100 en B200 GPU's.

Oorspronkelijke auteurs: Joyjit Kundu, Ben Stoffelen, Kaili Wang, Peter Vrancx, Ludovic Denoyer

Gepubliceerd 2026-08-19
📖 6 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Joyjit Kundu, Ben Stoffelen, Kaili Wang, Peter Vrancx, Ludovic Denoyer

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

Moderne computers vertrouwen op gespecialiseerde chips genaamd graphics processing units, of GPU's, om de enorme berekeningen te verwerken die nodig zijn voor kunstmatige intelligentie. Deze chips zijn ongelooflijk krachtig, maar het zijn ook complexe machines met veel verschillende onderdelen die perfect in sync moeten werken. Om het meeste uit hen te halen, moeten ingenieurs minuscule, zeer specifieke programma's schrijven die kernels worden genoemd, die de chip precies vertellen hoe hij gegevens moet verplaatsen en wiskunde moet uitvoeren. Jarenlang was dit een taak voor menselijke experts die ontelbare uren besteedden aan het verfijnen van code, het balanceren van geheugengebruik en het timen van operaties om elke bit aan snelheid eruit te persen. Naarmate deze chips geavanceerder zijn geworden, is het handmatige werk moeilijker geworden, en de kloof tussen wat de hardware kan en wat de software bereikt, is vergroot.

Onderzoekers zijn begonnen met het gebruik van large language models — computerprogramma's die getraind zijn op enorme hoeveelheden tekst — om te helpen bij het schrijven en verbeteren van deze code. Deze modellen kunnen wijzigingen voorstellen, ze testen en leren van de resultaten, waardoor ze fungeren als een geautomatiseerde ingenieur. Echter, een enkele geautomatiseerde agent komt vaak vast te zitten. Het kan een goede oplossing vinden en deze blijven polijsten, terwijl het andere, betere benaderingen mist die in een andere richting liggen. Het is als een wandelaar die een mooi pad om een berg vindt en daarop blijft lopen, zonder te beseffen dat een ander pad vlakbij naar een veel hogere top leidt. Om dit op te lossen, heeft een team van onderzoekers bij IMEC een nieuw systeem ontwikkeld genaamd KernelArc, dat gebruikmaakt van een groep van deze geautomatiseerde agents die samenwerken om tegelijkertijd vele verschillende paden te verkennen.

Het KernelArc-systeem werkt door verschillende strategieën toe te wijzen aan meerdere agents die parallel draaien. In plaats van één agent die probeert een probleem alleen op te lossen, richt elke agent in de groep zich op een andere invalshoek, zoals het veranderen van de manier waarop gegevens worden opgeslagen, het wijzigen van de gebruikte wiskundige precisie, of het samenvoegen van meerdere stappen tot één. Deze agents delen niet hun volledige denkproces of elke stap die ze nemen, wat te rommelig en verwarrend zou zijn. In plaats daarvan delen ze alleen hun uiteindelijke conclusies: wat werkte en wat niet. Ze schrijven deze resultaten in een gedeelde gehele ruimte die fungeert als een mededelingenbord. Als één agent een truc ontdekt die een berekening versnelt, plaatst hij het resultaat. Andere agents kunnen deze post lezen en de inzichten gebruiken om hun eigen werk te sturen, waardoor ze doodlopende wegen vermijden en voortbouwen op succes.

Om ervoor te zorgen dat de agents geen tijd verspillen aan gebroken code, bevat het systeem een strikte, geautomatiseerde scheidsrechter. Deze scheidsrechter voert elk nieuw codesuggestie door een reeks tests om te controleren of het correct is en hoe snel het is. Als een suggestie de test niet doorstaat, wordt deze onmiddellijk weggegooid. Als het werkt maar niet sneller is dan de huidige beste versie, wordt het als back-up bewaard maar vervangt het de leider niet. Alleen wanneer een nieuwe versie zowel correct als sneller is, wordt deze de nieuwe standaard. Dit proces stelt het team van agents in staat om een breed scala aan mogelijkheden te verkennen zonder te verdwalen in de details van elke afzonderlijke poging. Het systeem heeft ook een veiligheidsmechanisme dat in werking treedt als een agent vastloopt op een plateau, waar geen verdere verbeteringen meer te vinden zijn. Wanneer dit gebeurt, dwingt het systeem de agent om een compleet andere aanpak te proberen, zodat de zoektocht zich blijft voortbewegen.

De onderzoekers testten dit systeem op twee van de meest geavanceerde GPU's die beschikbaar zijn, de NVIDIA H100 en de B200. Ze richtten zich op een set standaardtaken die worden gebruikt om prestaties te meten, waaronder operaties zoals matrixvermenigvuldiging, attention-mechanismen die worden gebruikt in taalmodellen, en diverse vormen van datafusie. In één specifieke test waarbij een enkele agent alleen werkte met een gedetailleerde gids, slaagde het systeem erin een snelheid van 766 teraflops te bereiken, wat ongeveer 3,2 procent sneller is dan de bestaande bibliotheek voor die specifieke taak. Dit toonde aan dat een enkele agent heel diep in een specifiek probleem kon gaan als er een duidelijk pad werd geboden. Echter, toen de onderzoekers overschakelden naar het multi-agent KernelArc-systeem om een breder scala aan taken aan te pakken, waren de resultaten nog indrukwekkender. Het systeem produceerde aangepaste implementaties voor diverse complexe operaties, inclus van gespecialiseerde attention-mechanismen en gefuseerde lagen voor grote taalmodellen.

Op een publieke leaderboard die de snelheid van deze operaties over vele verschillende vormen en maten van gegevens rangschikt, namen de KernelArc-inzendingen de eerste plaats in verschillende categorieën in. Voor één taak betreffende attention en residual addition, kwam een enkele agent vast te zitten op een prestatiescore van 0,441. Het multi-agent systeem, door inzichten te delen en verschillende richtingen te verkennen, doorbrak die barrière en bereikte een score van 0,481. In een andere test met een complexe attention-taak bereikte het multi-agent systeem een versnelling van bijna 291 keer vergeleken met een standaard referentie-implementatie, en meer dan 143 keer sneller dan een hooggeoptimaliseerde baseline. Deze resultaten suggereren dat het hebben van meerdere agents die hun bevindingen delen, het systeem in staat stelt om betere oplossingen te vinden dan een enkele agent die alleen werkt, vooral wanneer de probleemruimte groot en gevarieerd is.

De studie onderzocht ook hoe het systeem zich gedraagt wanneer het aantal agents en de hoeveelheid gedeeld geheugen verandert. Ze ontdekten dat het geven aan de agents een gedeeld geheugen waar ze hun successen en mislukkingen konden plaatsen, hen hielp om binnen een vast aantal pogingen sterkere resultaten te bereiken. Wanneer het geheugen onbeperkt was, presteerde het systeem het best, waarbij een versnelling van meer dan 290 keer werd bereikt ten opzichte van het startpunt. Dit geeft aan dat het vermogen om te leren van de collectieve ervaring van de groep een sleutelfactor is voor succes. De onderzoekers merkten op dat de waarde van elk kenmerk, zoals het gedeelde geheugen of de specialisatie van de strategie, afhangt van de specifie̍ specifieke taak en de fase van de zoektocht. Soms moeten de agents breed verkennen, en op andere momenten moeten ze een specifieke oplossing verfijnen.

Dit werk beweert niet alle problemen in computeroptimalisatie te hebben opgelost, noch suggereert het dat menselijke ingenieurs niet langer nodig zijn. De resultaten zijn specifiek voor de geteste taken en hardware, en het systeem vertrouwt nog steeds op een door mensen ontworpen framework om de agents te begeleiden. De bevindingen laten echter zien dat een gecoördineerde groep geautomatiseerde agents een breder scala aan oplossingen kan verkennen dan een enkele agent. Door alleen hun meest waardevolle conclusies te delen, kunnen deze agents herhalende fouten voorkomen en voortbouwen op elkaars ontdekkingen. Deze aanpak biedt een veelbelovende manier om de toenemende complexiteit van moderne computing aan te pakken, waarbij de kloof tussen hardwarepotentieel en softwareprestaties blijft groeien. Het systeem laat zien dat met de juiste coördinatie, geautomatiseerde tools kunnen helpen de volledige kracht te ontsluiten van de chips die de volgende generatie kunstmatige intelligentie aandrijven.

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 →