☰ Menu

06.10.2026 · Signal Titans Editorial

NVIDIA bringt Green Contexts in die CUDA 13.1 Runtime API zur GPU-Partitionierung

CUDA 13.1 bringt Green Contexts in die Runtime API, sodass Entwickler Streaming-Multiprozessoren und Workqueues der GPU explizit partitionieren können.

Eine redaktionelle Illustration, die eine einzelne leuchtende smaragdgrüne Linie auf einem dunklen Schieferboden zeigt, beleuchtet von einem Deckenstrahler.

NVIDIA hat die Unterstützung für Green Contexts auf die CUDA 13.1 Runtime API ausgeweitet. Dies gibt Entwicklern die explizite Kontrolle darüber, wie GPU-Hardware-Ressourcen innerhalb eines einzelnen Prozesses partitioniert werden. Erstmals in der CUDA 12.4 Driver API eingeführt, ermöglichen Green Contexts Anwendungen die Zuweisung dedizierter Teilmengen von Streaming-Multiprozessoren (SMs) sowie die Konfiguration isolierter Workqueues. Dies verhindert, dass Hintergrundaufgaben latenzkritische Workloads beeinträchtigen.

Engpässe bei der Stream-Priorisierung umgehen

Die Standard-Ausführung in CUDA verlässt sich auf Stream-Prioritäten, um zeitgleich anfallende Arbeiten zu planen. Allerdings kann eine Stream-Priorität bereits auf einem SM laufende Blöcke nicht unterbrechen. Wenn ein auf Durchsatz ausgelegter Kernel die GPU vollständig auslastet, muss eine hochprioritäre Aufgabe warten, bis aktive Blöcke beendet sind, bevor SM-Ressourcen frei werden.

Green Contexts beseitigen diese Verzögerung, indem sie dedizierte Hardware-Ressourcen für kritische Kernel reservieren. In Benchmarks von NVIDIA auf einer Blackwell-GPU mit 148 SMs reduzierte die Ausführung eines kritischen Kernels auf dedizierten Green-Context-Partitionen die Latenz um das 20-Fache im Vergleich zu einer hochprioritären Stream-Planung ohne Partitionierung. Stream-Prioritäten alleine boten zwar eine 27-fache Verbesserung gegenüber nicht priorisierten Standard-Streams, verbanden die Latenz jedoch nach wie vor mit den Entleerungszeiten der Blöcke.

Explizite Ressourcensteuerung über Runtime-Handles

Traditionelle CUDA-Runtime-Anwendungen wählen Geräte über Aufrufe wie cudaSetDevice() aus und leiten Ausführungsziele aus einem impliziten, Thread-lokalen Zustand ab. CUDA 13.1 führt den Typ cudaExecutionContext_t ein, um die Ressourcenauswahl explizit zu gestalten.

Entwickler definieren Partitionen mit cudaGreenCtxCreate() und weisen Streams mithilfe von cudaExecutionCtxStreamCreate() explizite Handles zu. Neben der Anzahl der SMs können Anwendungen auch dedizierte Workqueue-Ressourcen über Deskriptoren bereitstellen, wodurch falsche Abhängigkeiten und eine Queue-Serialisierung über unabhängige Streams hinweg vermieden werden.

Zielgerichtete Workloads und Integration

NVIDIA hebt Green Contexts für Anwendungen hervor, die eine präzise Leistungsisolierung erfordern – etwa das Überlappen von Kommunikations- und GEMM-Kerneln beim verteilten Training oder die Ausführung von Echtzeit-Operatoren in KI-Plattformen wie NVIDIA Holoscan. Das Modell ist opt-in und additiv aufgebaut: Entwickler können die Ausrichtung auf das gesamte Gerät über cudaDeviceGetExecutionCtx() beibehalten oder bei Bedarf eine feingranulare Partitionierung einführen.

KI-generierte redaktionelle Illustration; kein Dokumentarfoto.

Quelle: Control How Your GPU Shares Work with Green Contexts