Autor | Nvidia |
---|---|
Pierwsze wydanie | 1.0 / 23.06.2007 |
Aktualna wersja stabilna | 12.2 (28 czerwca 2023) [±] |
Platforma sprzętowa | GPU firmy Nvidia |
System operacyjny | GNU/Linux, Windows, macOS |
Rodzaj | biblioteka i środowisko programistyczne |
Licencja | własnościowa, freeware |
Strona internetowa |
CUDA (ang. Compute Unified Device Architecture) – opracowana przez firmę Nvidia uniwersalna architektura procesorów wielordzeniowych (głównie kart graficznych) umożliwiająca wykorzystanie ich mocy obliczeniowej do rozwiązywania ogólnych problemów numerycznych w sposób wydajniejszy niż w tradycyjnych, sekwencyjnych procesorach ogólnego zastosowania.
Integralną częścią architektury CUDA jest oparte na języku programowania C środowisko programistyczne wysokiego poziomu, w którego skład wchodzą m.in. specjalny kompilator (nvcc), debugger (cuda-gdb, który jest rozszerzoną wersją debuggera gdb umożliwiającą śledzenie zarówno kodu wykonywanego na CPU, jak i na karcie graficznej), profiler oraz interfejs programowania aplikacji. Dostępne są również biblioteki, które można wykorzystać w językach Python, Fortran, Java, C# oraz Matlab. Pierwsze wydanie środowiska współpracowało z systemami operacyjnymi Windows oraz Linux. Od wersji 2.0 działa również z macOS.
W grach komputerowych moc obliczeniową można wykorzystać do obliczeń fizyki w grach, ale CUDA jest również wykorzystywana do przyspieszania obliczeń w takich dziedzinach jak biologia, fizyka, kryptografia i inne obliczenia inżynierskie. Dla potrzeb tego segmentu Nvidia opracowała specjalny procesor graficzny Tesla.
Niektóre projekty przetwarzania rozproszonego BOINC wykorzystują do obliczeń architekturę CUDA[5][6].
Kolejna wersja architektury CUDA (CUDA 3.0) obsługuje procesory graficzne o architekturze Fermi. Cuda 3.0 zapewnia pełniejsze wsparcie dla konstrukcji języka C++ (m.in. jednolitą przestrzeń adresową dla wskaźników, obsługę dziedziczenia, a od wersji 3.1 – funkcji rekurencyjnych i wskaźników na funkcje). Cuda 3.0 umożliwia wykonywanie kilkunastu kerneli jednocześnie na jednym GPU (o architekturze Fermi). Wraz z nową generacją procesorów Nvidia udostępniła wsparcie dla środowiska Visual Studio 2008[7].