GPU-Kernel
Ein GPU-Kernel ist ein kleines Programm, das eine Grafikkarte tausendfach gleichzeitig ausführt. Fast alle KI-Berechnungen bestehen aus solchen Kerneln, und wie gut sie geschrieben sind, entscheidet über Geschwindigkeit und Stromkosten.
Eine Grafikkarte ist ein Spezialbauteil im Computer, das sehr viele einfache Rechnungen gleichzeitig erledigt. Damit sie das tut, braucht sie ein passendes Programm. Genau das ist ein GPU-Kernel: ein kurzes Stück Rechenanweisung, das die Grafikkarte nicht einmal, sondern tausendfach parallel ausführt. Jede Ausführung bearbeitet dabei einen anderen kleinen Teil der Daten. Der Begriff hat nichts mit dem Betriebssystem-Kernel von Windows oder Linux zu tun, auch wenn das Wort gleich klingt.
Warum das wichtig ist
Moderne KI-Systeme rechnen fast ausschließlich auf Grafikkarten. Die eigentliche Arbeit besteht aus riesigen Zahlentabellen, die miteinander multipliziert und addiert werden. Diese Arbeit erledigen Kernel. Ob ein Modell in zwei Sekunden oder in zehn antwortet, hängt deshalb stark davon ab, wie gut die Kernel geschrieben sind.
Der Unterschied ist keine Feinheit. Ein schlecht optimierter Kernel kann eine Grafikkarte im Extremfall zu 90 Prozent leerlaufen lassen. Sie wartet dann auf Daten, statt zu rechnen. Für Firmen, die Zehntausende Grafikkarten betreiben, bedeutet das direkt Millionen an Strom- und Hardwarekosten. Deshalb gehören Leute, die gute Kernel schreiben können, zu den bestbezahlten Fachkräften der Branche.
Wie es funktioniert
Ein normaler Prozessor arbeitet wie ein einzelner sehr schneller Mitarbeiter, der Aufgaben nacheinander abhaakt. Eine Grafikkarte ist eher eine Halle mit zehntausend Hilfskräften, die alle dieselbe simple Anweisung bekommen. Der Kernel ist diese Anweisung. Sie lautet zum Beispiel: nimm Zahl Nummer X aus Tabelle A, multipliziere sie mit Zahl Nummer X aus Tabelle B, schreib das Ergebnis nach C. Jede Hilfskraft bekommt ein anderes X.
Der Engpass ist selten das Rechnen selbst. Es ist der Weg der Daten zum Rechenwerk. Grafikkarten haben einen großen, aber langsamen Hauptspeicher und daneben winzige, sehr schnelle Zwischenspeicher. Gute Kernel holen Daten einmal in den schnellen Speicher und nutzen sie dort mehrfach aus.
Ein zweiter wichtiger Trick heißt Fusion. Statt drei Kernel hintereinander laufen zu lassen, die ihre Zwischenergebnisse jedes Mal in den langsamen Speicher schreiben, fasst man sie zu einem einzigen zusammen. Das berühmteste Beispiel dafür ist FlashAttention, ein Kernel, der einen zentralen Rechenschritt von Sprachmodellen deutlich beschleunigt hat, ohne das Ergebnis zu verändern.
Wo man dem Begriff begegnet
Als normaler Nutzer schreibt man keine Kernel. Man merkt sie aber, wenn ein Chatbot schneller antwortet als früher, obwohl das Modell dasselbe ist. Oft steckt dann bessere Kernel-Arbeit dahinter.
In Wirtschaftsnachrichten taucht das Thema meist im Zusammenhang mit Nvidia auf. Nvidias Programmierumgebung CUDA ist der Standard, in dem Kernel geschrieben werden. Über Jahre ist dort eine riesige Sammlung fertiger, hochoptimierter Kernel entstanden. Genau diese Sammlung ist Nvidias eigentlicher Schutzwall gegen die Konkurrenz. Chips von AMD oder Google können auf dem Papier ähnlich stark sein, doch die passende Software fehlt oft.
Deshalb arbeiten viele Projekte daran, Kernel einfacher schreibbar zu machen. Werkzeuge wie Triton oder Compiler in PyTorch erzeugen Kernel automatisch aus einfacherem Code. Wenn du in News liest, ein Anbieter habe seine Inferenzkosten halbiert, ist Kernel-Optimierung fast immer ein Teil der Erklärung.