W zeszłym tygodniu @NVIDIA wprowadziła CUDA 13.1, a w nim nowy paradygmat programowania równoległego - kafelki. "Tradycyjna" CUDA ujawnia model sprzętowy i programistyczny z pojedynczą instrukcją i wieloma wątkami (SIMT) dla deweloperów. 1/6
Ten paradygmat pozwala na maksymalną elastyczność, ale może stać się nużący i trudny do optymalizacji. Paradygmat kafelkowy traktuje tensory jako podstawowe obiekty i działa na ich podstawie. Jest to warstwa pośrednia do języków wyższego poziomu. 2/6
Programowanie oparte na kafelkach umożliwia programowanie algorytmu poprzez określenie fragmentów danych, czyli kafelków, a następnie zdefiniowanie obliczeń wykonywanych na tych kafelkach. 3/6
Nie musisz ustawiać, jak twój algorytm jest wykonywany na poziomie element po elemencie: kompilator i czas wykonania zajmą się tym za ciebie. 4/6
Co ciekawe, programowanie oparte na kafelkach będzie dostępne najpierw dla rozwoju w Pythonie, dzięki cuTile Python. Tradycyjnie najwyższy poziom języka programowania dla CUDA, C++, zostanie wydany później. 5/6
10,79K