Content deleted Content added
LLVM based. |
|||
(23 intermediate revisions by 17 users not shown) | |||
Line 1:
{{Short description|Proprietary compiler by Nvidia}}
{{Infobox software
| name
| title
| logo
| logo caption
| logo size =
| logo alt =
| screenshot
| caption
| screenshot size =
| screenshot alt =
| author = <!-- Human name(s) -->
|
| latest release version = 12.6.0▼
▲| released = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
▲| latest release version =
▲| latest release date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| latest preview version =
| latest preview date
▲| programming language =
▲| operating system =
| size =
▲| platform =
| language = English
| language count = <!-- DO NOT include this parameter unless you know what it does
| genre = [[Compiler]]
▲| language footnote =
| license = [[Proprietary software|Proprietary]]
▲| website = {{URL|http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/#introduction}}
}}
''' Nvidia CUDA Compiler''' ('''NVCC''') is a [[compiler]] by [[Nvidia]] intended for use with [[CUDA]]. It is [[proprietary software]].
''' Nvidia CUDA Compiler''' ('''NVCC''') is a [[proprietary software|proprietary]] [[compiler]] by [[Nvidia]] intended for use with [[CUDA]]. CUDA codes runs on both the [[CPU]] and [[GPU]]. NVCC separates these two parts and sends host code (the part of code which will be run on the [[CPU]]) to a [[C (programming language)|C]] compiler like [[GNU Compiler Collection|GCC]] or [[Intel C++ Compiler]] (ICC) or [[Microsoft Visual C]] Compiler, and sends the device code (the part which will run on the GPU) to the GPU. The device code is further compiled by NVCC. NVCC is based on LLVM<ref>{{cite web|title=CUDA LLVM Compiler|url=https://developer.nvidia.com/cuda-llvm-compiler|publisher=NVIDIA Corporation|accessdate=Apr 6, 2016}}</ref>.▼
==Compiler==
Any source file containing CUDA language extensions (.cu) must be compiled with nvcc. NVCC is a compiler driver which works by invoking all the necessary tools and compilers like cudacc, g++, cl, etc. NVCC can output either C code (CPU Code) that must then be compiled with the rest of the application using another tool or PTX or object code directly. An executable with CUDA code requires: the CUDA core library (cuda) and the CUDA runtime library (cudart).▼
▲
▲Any source file containing CUDA language extensions (.cu) must be compiled with nvcc. NVCC is a compiler driver which works by invoking all the necessary tools and compilers like cudacc, g++, cl, etc. NVCC can output either C code (CPU Code) that must then be compiled with the rest of the application using another tool or [[Parallel Thread Execution]] (PTX) or object code directly. An executable with CUDA code requires: the CUDA core [[Library (computing)|library]] (cuda) and the CUDA runtime library (cudart).
Other widely used libraries:
Line 45 ⟶ 46:
* [[OpenCL]]
* [[Heterogeneous System Architecture]]
* [[CUDA binary]] (cubin) – a type of fat binary
== References ==
{{Reflist}}
===General===
# David B. Kirk, and Wen-mei W. Hwu. Programming massively parallel processors: a hands-on approach. Morgan Kaufmann, 2010.
# {{Cite web |title=Nvidia
# {{Cite web |title=CUDPP |url=http://gpgpu.org/developer/cudpp |url-status=dead |archive-url=https://web.archive.org/web/20181117222643/http://gpgpu.org/developer/cudpp |archive-date=Nov 17, 2018 |website=GPGPU}}
== External links ==
[[Category:Nvidia]]▼
*{{Official website|docs.nvidia.com/cuda/cuda-compiler-driver-nvcc}}
[[Category:Compilers]]▼
▲[[Category:Nvidia software]]
▲[[Category:Compilers]]
|