Zestaw narzędzi dla twórców oprogramowania
Wprowadzenie do programowania GPU
- Przystępne samouczki w formatach audio i wideo
- Pełne uzupełnienie dokumentacji CUDA zawierające przewodniki po optymalizacji dla Fermi
- NVIDIA oraz Uniwersytet Illinois publikują pierwszy na świecie podręcznik programowania procesorów masowo równoległych: David Kirk, NVIDIA oraz Dr. Wen-mei Hwu, University of Illinois
Pomoc na temat CUDA
- Rozpocznij korzystanie z forów dyskusyjnych CUDA
- Zarejestruj się jako programista CUDA
- Zgłaszaj błędy, uzyskaj dostęp do wczesnych wersji oprogramowania
Narzędzia programistyczne
- Sterowniki dla układów GPU Tesla
- Kompilator CUDA C i C++ dla układów GPU
- Zawiera debugger CUDA GDB oraz narzędzie CUDA Visual Profiler
- Sterowniki OpenCL, Visual Profiler, przykładowe próbki kodu w SDK i inne
- Kompilator PGI Fortran ze wsparciem dla CUDA
- Parallel NSight dla środowiska IDE Visual Studio do tworzenia kodu dla GPU (znane wcześniej jako „Nexus”)
Przykładowe próbki kodu i biblioteki
- Udostępnione przez firmę NVIDIA
- Przykładowe próbki kodu w CUDA SDK
- Biblioteka CUDA BLAS (część pakietu narzędziowego)
- Biblioteka CUDA FFT (część pakietu narzędziowego)
- Implementacja mnożenia macierzy rzadkiej przez wektor, autorstwa firmy NVIDIA: kod, publikacja 1, publikacja 2
- Biblioteka NPP: NVIDIA Performance Primitives (wczesna wersja): nacisk na przetwarzanie obrazu i wideo
- Pochodzące z innych źródeł
- Biblioteka cuDPP (CUDA data parallel primitives)
- CULA Tools: LAPACK dla układów GPU z obsługą CUDA – firmy EM Photonics
- MAGMA: LAPACK dla układów GPU z obsługą CUDA oraz wielordzeniowych układów CPU – oprogramowanie opracowane przez grupę Jacka Dongarra
- Metoda gradientów sprzężonych wykorzystująca preconditioner Jacobiego
- GPULib: biblioteka funkcji matematycznych dla programów IDL i MATLAB
- GPU VSIPL: biblioteka związana z przetwarzaniem sygnałów
- Biblioteka związana z widzeniem komputerowym i obrazowaniem
- OpenCurrent: wykorzystująca akcelerację CUDA biblioteka typu open source do rozwiązywania równań różniczkowych cząstkowych, metodą elementu skończonego na siatkach regularnych
- libSVM w CUDA / na układach GPU
Kompilatory z automatyczną optymalizacją kodu pod kątem przetwarzania współbieżnego (za pomocą dyrektyw)
- Kompilatory PGI Fortran i C na CUDA C z automatyczną optymalizacją kodu pod kątem przetwarzania współbieżnego
- Kompilatory CAPS HMPP C i Fortran na CUDA C z automatyczną optymalizacją kodu pod kątem przetwarzania współbieżnego
Wsparcie dla programów MATLAB, Mathematica, R, LabVIEW
- MATLAB
- Zapisz się na prowadzone przez firmę MathWorks testy beta wersji wykorzystującej akcelerację GPU
- Publikacja firmy MathWorks: Akceleracja funkcji programu MATLAB w CUDA za pomocą plików wykonywalnych MEX
- Obszerna strona na temat wsparcia dla CUDA w programie MATLAB
- Wtyczka Jacket firmy Accelereyes umożliwiająca korzystanie z CUDA w programie MATLAB
- GPULib: biblioteka funkcji matematycznych dla programów MATLAB i IDL
- Wtyczka z obsługą CUDA do programu Mathematica
- Wykonywanie obliczeń na układach GPU w środowisku statystycznym R
- Biblioteka CUDA GPU dla programu LabVIEW firmy National Instruments
Obsługa języków i środowisk Fortran, Java, Python, C++, .NET, F#
- Fortran
- Kompilator PGI CUDA Fortran
- Translator z języka Fortran na C dla CUDA
- FLAGON: biblioteka wykorzystujących GPU funkcji numerycznych dla języka Fortran 95
- Wrapper CUDA dla języka Python: PyCUDA
- Wrapper dla języka Java
- Integracja .NET z CUDA
- Thrust: biblioteka szablonów C++ wprowadzająca obsługę CUDA
- CuPP : framework w C++ dla CUDA
- Libra: warstwa abstrakcyjna w C/C++ dla CUDA
- F# dla CUDA
Narzędzia związane z produktywnością i klastrami
- Wsparcie dla CUDA na platformie Eclipse
- CUDA Occupancy Calculator (kalkulator obciążenia GPU w środowisku CUDA)
- Rozszerzenia firmy ClusterCorp zapewniające obsługę CUDA w klastrach Rocks
- Platform Cluster Manager firmy Platform Computing dla układów GPU Tesla
- PBS Works dla układów GPU Tesla
- Penguin Computing Scyld