Wähle deine bevorzugte Option:
für Einzelnutzer
für Teams und Unternehmen

Von der ersten Idee bis zur voll integrierten KI-Lösung – strukturiert, sicher und mit messbarem Erfolg
Wir analysieren Ihre Geschäftsprozesse und identifizieren konkrete Use Cases mit dem höchsten ROI-Potenzial.
✓ Messbare KPIs definiert
Vollständige Datenschutz-Analyse und Implementierung sicherer Datenverarbeitungsprozesse nach EU-Standards.
✓ 100% DSGVO-konform
Maßgeschneiderte Auswahl der optimalen KI-Lösung – von Azure OpenAI bis zu Open-Source-Alternativen.
✓ Beste Lösung für Ihren Fall
Schneller Proof of Concept mit nahtloser Integration in Ihre bestehende IT-Infrastruktur und Workflows.
✓ Ergebnisse in 4-6 Wochen
Unternehmensweiter Rollout mit umfassenden Schulungen für maximale Akzeptanz und Produktivität.
✓ Ihr Team wird KI-fit
Die fortschreitende Entwicklung im Bereich des Deep Learning erfordert zunehmend spezialisierte und hochoptimierte Software, um die Leistungsfähigkeit moderner GPU-Architekturen voll auszuschöpfen. Im Kontext von AMD GPUs und der ROCm-Software-Plattform stellt die Entwicklung, Integration und gemeinsame Nutzung von benutzerdefinierten Kerneln eine entscheidende Herausforderung dar. Hugging Face hat mit der Einführung der kernel-builder- und kernels-Bibliotheken einen strukturierten Ansatz geschaffen, der diesen Prozess erheblich vereinfacht und beschleunigt.
Benutzerdefinierte Kernel sind grundlegend für die Erzielung hoher Leistung im Deep Learning. Sie ermöglichen es, GPU-Operationen präzise auf spezifische Workloads abzustimmen, sei es für Bildverarbeitung, Tensor-Transformationen oder andere rechenintensive Aufgaben. Die manuelle Kompilierung dieser Kernel für verschiedene Architekturen, die korrekte Einstellung von Build-Flags und die saubere Integration in PyTorch-Erweiterungen kann jedoch schnell komplex und fehleranfällig werden. Die Bibliotheken von Hugging Face zielen darauf ab, diese Komplexität zu reduzieren, indem sie eine standardisierte Methode zum Erstellen, Testen und Teilen von Kerneln bereitstellen.
Der Fokus liegt hier auf ROCm-kompatiblen Kerneln, die speziell für AMD GPUs optimiert sind. Die kernel-builder-Bibliothek bietet eine umfassende Anleitung zur Erstellung von Kerneln, die effizient auf AMD GPUs laufen, und liefert Best Practices für Reproduzierbarkeit, Paketierung und Bereitstellung. Dieser Leitfaden ist eine spezifische Anpassung der allgemeinen kernel-builder-Dokumentation, die auch CUDA, Metal und XPU unterstützt.
Als praktisches Beispiel wird der GEMM-Kernel (General Matrix Multiplication) aus den RadeonFlow_Kernels herangezogen. Dieser Kernel ist eine hochleistungsfähige, blockweise FP8-Matrixmultiplikationsimplementierung, die für die AMD Instinct MI300X GPU optimiert wurde. Er wurde im Rahmen der AMD Developer Challenge 2025 ausgezeichnet und demonstriert das Potenzial spezieller Kernel zur Leistungssteigerung. Der Kernel arbeitet mit quantisierten Eingaben im `e4m3fnuz`-Format und verwendet blockweise Skalierungsfaktoren, um die Genauigkeit bei geringer Präzision zu erhalten.
Eine klar definierte Projektstruktur ist essenziell für die Wartbarkeit und Reproduzierbarkeit. Der Hugging Face Kernel Builder erwartet eine spezifische Verzeichnisstruktur:
build.toml: Das Manifest des Projekts, das den gesamten Bauprozess steuert.gemm/: Enthält den eigentlichen HIP/GPU-Quellcode.flake.nix: Garantiert eine vollständig reproduzierbare Build-Umgebung.torch-ext/gemm/: Beinhaltet den Python-Wrapper für die PyTorch-Operatoren.Die Umbenennung von `.cpp`-Dateien in `.h` oder `.hip` ist dabei entscheidend, um dem Kernel-Builder die korrekte Identifikation und Kompilierung zu ermöglichen.
build.toml ManifestDiese Datei orchestriert den gesamten Build-Prozess. Sie definiert unter anderem den Projektnamen, ob es sich um einen universellen Kernel handelt, die Quell- und Header-Dateien für die PyTorch-Erweiterung sowie die spezifischen Backend-Konfigurationen für den Kernel (z.B. "rocm" und die Zielarchitektur "gfx942" für MI300 GPUs).
flake.nix ReproduzierbarkeitsdateiDie `flake.nix`-Datei ist entscheidend für die Sicherstellung, dass der Kernel auf jeder Maschine reproduzierbar gebaut werden kann. Sie fixiert die exakte Version des Kernel-Builders und seiner Abhängigkeiten, wodurch "es funktioniert auf meiner Maschine"-Probleme eliminiert werden.
Die eigentliche GPU-Logik wird in `.hip`-Dateien implementiert. Ein wesentlicher Schritt ist die Registrierung des Kernel als nativen PyTorch-Operator über eine C++-Bindungsdatei (`torch-ext/torch_binding.cpp`). Dies ermöglicht die Integration in das PyTorch-Ökosystem und die Kompatibilität mit Optimierungstechniken wie `torch.compile`, was die Ausführung des benutzerdefinierten Operators in größeren Berechnungsgraphen optimiert. Der `__init__.py`-Wrapper in `torch-ext/gemm/` stellt den Operator schließlich auf benutzerfreundliche Weise in Python zur Verfügung.
Der Kernel-Builder nutzt Nix für den Bauprozess. Nach der Installation von Nix kann der Kernel über den Befehl `nix build . -L` gebaut werden. Für die lokale Entwicklung bietet `nix develop` eine isolierte Entwicklungsumgebung mit allen notwendigen Abhängigkeiten, einschliesslich `build2cmake` zum Generieren von Projektdateien und der Möglichkeit, den Kernel in einem Python Virtual Environment zu testen.
Nachdem der Kernel erfolgreich gebaut und getestet wurde, kann er auf den Hugging Face Hub hochgeladen werden. Vor dem Hochladen ist es ratsam, Entwicklungsartefakte zu bereinigen. Der kernel-builder automatisiert den Bau des Kernels für alle unterstützten PyTorch- und ROCm-Versionen. Die resultierenden Binärdateien werden dann in ein `build/`-Verzeichnis verschoben und können mittels Git und LFS (Large File Storage) in ein neues Hugging Face Repository gepusht werden. Dies macht den Kernel für andere Entwickler zugänglich und voll kompatibel mit der kernels-Bibliothek.
Die kernels-Bibliothek ermöglicht das direkte Laden eines Kernels aus seinem Hub-Repository, ohne dass eine traditionelle Installation erforderlich ist. Dies registriert den neuen Operator automatisch und macht ihn sofort nutzbar. Ein Beispiel zeigt, wie der GEMM-Kernel geladen und mit PyTorch-Tensoren verwendet werden kann, um Matrixmultiplikationen auf AMD GPUs auszuführen.
Die von Hugging Face bereitgestellten Tools kernel-builder und kernels vereinfachen den Prozess der Erstellung und Verbreitung von ROCm-Kerneln erheblich. Durch die Kombination eines reproduzierbaren Workflows auf Basis von Nix und einer nahtlosen Integration in PyTorch können Entwickler sich auf die Leistungsoptimierung konzentrieren, anstatt sich mit Einrichtungs- und Kompilierungsproblemen auseinanderzusetzen. Die Möglichkeit, benutzerdefinierte Kernel auf dem Hugging Face Hub zu teilen, fördert die Zusammenarbeit und ermöglicht der Community einen schnellen Zugang zu optimierten Lösungen.
Die beschriebenen Mechanismen für Versionierung und Abhängigkeitsmanagement, einschliesslich der Verwendung von Git-Tags und `kernels.lock`-Dateien, tragen dazu bei, die Stabilität und Wartbarkeit von Projekten zu gewährleisten. Darüber hinaus bietet die Option, Kernel als Python Wheels zu exportieren, Flexibilität für spezifische Bereitstellungsszenarien, obwohl das Laden über den Hub die bevorzugte Methode bleibt.
Die Implementierung und Optimierung von Kerneln, wie am Beispiel des RMS-Norm-Kernels, des SwiGLU-Kernels und des Skinny GEMM-Kernels auf AMD MI300X GPUs gezeigt, demonstriert die signifikanten Leistungsverbesserungen, die durch maßgeschneiderte Hardware-Optimierungen erzielt werden können. Diese Optimierungen umfassen sowohl speicherbezogene Techniken (z.B. coalesced memory accesses, Nutzung von Shared Memory) als auch rechenbezogene Ansätze (z.B. gepackte Instruktionen, Warp-Spezialisierung und asynchrone Ausführung).
Die Initiativen von Hugging Face in Zusammenarbeit mit AMD unterstreichen die Bedeutung offener und kollaborativer Entwicklung, um die Leistungsfähigkeit von KI-Modellen auf verschiedenen Hardware-Plattformen zu maximieren und die Zugänglichkeit für die breitere Entwicklergemeinschaft zu verbessern.
Lernen Sie in nur 30 Minuten kennen, wie Ihr Team mit KI mehr erreichen kann – live und persönlich.
🚀 Demo jetzt buchen