4 grudnia firma NVIDIA udostępniła CUDA Tile IR o otwartym kodzie źródłowym, pośrednią reprezentację programowania procesorów graficznych. Firma udostępniła kod w serwisie GitHub na licencji Apache 2.0, udostępniając go do użytku, modyfikacji i dystrybucji przez programistów i badaczy. Inicjatywa ta jest następstwem wprowadzenia przez firmę NVIDIA 4 grudnia paradygmatu programowania procesorów graficznych CUDA Tile w wersji CUDA 13.1, co oznacza najbardziej wszechstronne rozszerzenie funkcji platformy od jej premiery w 2006 roku. Posunięcie to jest zgodne z najnowszą strategią otwartości firmy NVIDIA na ekosystem CUDA, cofając jej zastrzeżoną licencję na CUDA Tile IR. CUDA Tile IR jest zbudowana na platformie MLIR (Multi-Level Intermediate Representation) projektu LLVM. MLIR został zastosowany w sztucznej inteligencji i obliczeniach o wysokiej wydajności, w tym w stosie obliczeniowym AMD i stosie oprogramowania AI, projekcie IREE firmy Google, który obsługuje wiele platform sprzętowych, oraz dialekcie XeVM MLIR firmy Intel dla sprzętu. Inne platformy IR, takie jak ONNX-MLIR, Torch-MLIR i MLIRE-AIE również wykorzystują system MLIR. Podstawa MLIR potencjalnie umożliwia konwersję CUDA Tile IR na inne backendy, oferując bazę techniczną do obsługi powiązanych modeli obliczeniowych w środowiskach GPU lub akceleratorach innych niż NVIDIA. Oczekuje się, że open source CUDA Tile IR przyspieszy projekty dotyczące kompatybilności i przenoszenia, w tym ZLUDA. Projekt CUDA Tile o otwartym kodzie źródłowym obejmuje dialekt Tile MLIR, natywne powiązania API języka Python, reprezentację w kodzie bajtowym i zestaw testów zgodności. NVIDIA stwierdziła, że CUDA Tile IR to „oparta na MLIR pośrednia reprezentacja i infrastruktura kompilatora do optymalizacji jądra CUDA, skupiająca się na obsłudze wzorców obliczeniowych opartych na kafelkach i zoptymalizowana pod kątem jednostek NVIDIA Tensor Core”. Firma dodała, że projekt „zapewnia kompletny ekosystem do wyrażania i optymalizowania obliczeń kafelkowych dla procesorów graficznych NVIDIA, a jego celem jest uproszczenie rozwoju wysokowydajnych jąder CUDA poprzez zapewnienie abstrakcji dla typowych wzorców kafelkowych, zarządzania hierarchią pamięci i optymalizacji specyficznych dla procesora graficznego”.





