NVIDIA CUDA Compiler

NVIDIA CUDA Compiler
Original author(s) Nvidia
Type compiler
License proprietary software
Website docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/#introduction

Nvidia CUDA Compiler (NVCC) is a 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 compiler like 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.[1]

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).

Other widely used libraries:

See also

References

  1. "CUDA LLVM Compiler". NVIDIA Corporation. Retrieved Apr 6, 2016.
  1. David B. Kirk, and Wen-mei W. Hwu. Programming massively parallel processors: a hands-on approach. Morgan Kaufmann, 2010.
  2. Nvidia Documentation on nvcc. http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/
  3. CUDPP. http://gpgpu.org/developer/cudpp


This article is issued from Wikipedia - version of the 4/7/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.