Překladač NVIDIA CUDA - NVIDIA CUDA Compiler - Wikipedia
Původní autoři | Nvidia |
---|---|
Typ | překladač |
Licence | proprietární software |
webová stránka | dokumenty |
Překladač Nvidia CUDA (NVCC) je proprietární překladač podle Nvidia určené pro použití s CUDA. CUDA kód běží na obou procesor a GPU. NVCC odděluje tyto dvě části a odesílá hostitelský kód (část kódu, která bude spuštěna na procesor ) na a C kompilátor jako GCC nebo Překladač Intel C ++ (ICC) nebo Microsoft Visual C Kompilátor a odešle kód zařízení (část, která bude spuštěna na GPU) na GPU. Kód zařízení je dále kompilován NVCC. NVCC je založeno na LLVM.[1] Podle dokumentace poskytované Nvidia podporuje nvcc ve verzi 7.0 mnoho jazykových konstrukcí, které jsou definovány C ++ 11 standardní a pár C99 funkce také. Ve verzi 9.0 několik dalších konstrukcí z C ++ 14 standard jsou podporovány.[2]
Jakýkoli zdrojový soubor obsahující příponu jazyka CUDA (.cu) musí být kompilován s nvcc. NVCC je ovladač kompilátoru, který funguje vyvoláním všech potřebných nástrojů a překladačů, jako jsou cudacc, g ++, cl atd. NVCC může vydávat buď C kód (CPU Code), který pak musí být zkompilován se zbytkem aplikace pomocí jiného nástroje nebo PTX nebo přímo objektový kód. Spustitelný soubor s kódem CUDA vyžaduje: základní knihovnu CUDA (cuda) a běhovou knihovnu CUDA (cudart).
Další široce používané knihovny:
- CUBLAS: Implementace BLAS
- CUFFT: implementace FFT
- CUDPP (Data Parallel Primitives): Redukce, skenování, třídění.
- Tah: zmenšení, skenování, třídění.
Viz také
Reference
- ^ „CUDA LLVM Compiler“. NVIDIA Corporation. 7. května 2012. Citováno 6. dubna 2016.
- ^ "Průvodce programováním CUDA C". docs.nvidia.com. Citováno 2019-06-28.
- David B. Kirk a Wen-mei W. Hwu. Programování masivně paralelních procesorů: praktický přístup. Morgan Kaufmann, 2010.
- Dokumentace Nvidia na nvcc. https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/
- CUDPP. https://web.archive.org/web/20181117222643/http://gpgpu.org/developer/cudpp
Tento počítačový článek je pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |