NVIDIA hat am 4. Dezember CUDA Tile IR, eine Zwischendarstellung für die GPU-Programmierung, als Open-Source-Lösung veröffentlicht. Das Unternehmen veröffentlichte den Code auf GitHub unter der Apache 2.0-Lizenz und stellte ihn Entwicklern und Forschern zur Nutzung, Änderung und Verteilung zur Verfügung. Diese Initiative folgt auf NVIDIAs Einführung des CUDA Tile GPU-Programmierparadigmas mit CUDA 13.1 am 4. Dezember und markiert damit die umfassendste Funktionserweiterung der Plattform seit ihrer Einführung im Jahr 2006. Der Schritt steht im Einklang mit der jüngsten Offenheitsstrategie von NVIDIA für das CUDA-Ökosystem und widerruft die proprietäre Lizenz für CUDA Tile IR. CUDA Tile IR basiert auf dem MLIR-Framework (Multi-Level Intermediate Representation) des LLVM-Projekts. MLIR wurde in den Bereichen KI und Hochleistungsrechnen eingesetzt, darunter AMDs Computing- und KI-Software-Stack, Googles IREE-Projekt, das mehrere Hardwareplattformen unterstützt, und Intels XeVM MLIR-Dialekt für seine Hardware. Andere IR-Frameworks wie ONNX-MLIR, Torch-MLIR und MLIRE-AIE nutzen ebenfalls das MLIR-System. Die MLIR-Grundlage ermöglicht möglicherweise die Konvertierung von CUDA Tile IR in andere Backends und bietet eine technische Grundlage für die Unterstützung verwandter Computermodelle in Nicht-NVIDIA-GPU- oder Beschleunigerumgebungen. Das Open-Sourcing von CUDA Tile IR soll Kompatibilitäts- und Portierungsprojekte, einschließlich ZLUDA, vorantreiben. Das Open-Source-CUDA-Tile-Projekt umfasst einen Tile-MLIR-Dialekt, native Python-API-Bindungen, Bytecode-Darstellung und eine Konformitätstestsuite. NVIDIA gab an, dass CUDA Tile IR „eine MLIR-basierte Zwischendarstellungs- und Compiler-Infrastruktur für die CUDA-Kernel-Optimierung ist, mit Schwerpunkt auf der Unterstützung kachelbasierter Rechenmuster und optimiert für NVIDIA Tensor Core-Einheiten.“ Das Unternehmen fügte hinzu, dass das Projekt „ein vollständiges Ökosystem zum Ausdrücken und Optimieren gekachelter Berechnungen für NVIDIA-GPUs bereitstellt, mit dem Ziel, die Entwicklung von Hochleistungs-CUDA-Kerneln zu vereinfachen, indem Abstraktionen für gängige Kachelmuster, Speicherhierarchieverwaltung und GPU-spezifische Optimierungen bereitgestellt werden.“





