GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Main page
  • Contents
  • Current events
  • Random article
  • About Wikipedia
  • Contact us
  • Help
  • Learn to edit
  • Community portal
  • Recent changes
  • Upload file
  • Special pages
  • Search
  • Donate

This view

  • Original page
  • New address

GeezerVison is showing en.wikipedia.org — Nvidia CUDA Compiler - Wikipedia

Nvidia CUDA Compiler
DeveloperNvidia
ReleaseJune 2007 (2007-06)
Stable release
12.6.0 / August 2024 (2024-08)
Available inEnglish
TypeCompiler
LicenseProprietary
Websitedocs.nvidia.com/cuda/cuda-compiler-driver-nvcc

Nvidia CUDA Compiler (NVCC) is a compiler by Nvidia intended for use with CUDA. It is proprietary software.

Compiler

CUDA code runs on both the central processing unit (CPU) and graphics processing unit (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 GNU Compiler Collection (GCC) or Intel C++ Compiler (ICC) or Microsoft Visual C++ Compiler (MVCC), and sends device code called "kernels" (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] According to Nvidia provided documentation, nvcc in version 7.0 supports many language constructs that are defined by the C++11 standard, and a few from C99. In version 9.0, several more constructs from the C++14 standard are added.[2]

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 (cuda) and the CUDA runtime library (cudart).

Other widely used libraries:

  • CUBLAS: BLAS implementation
  • CUFFT: FFT implementation
  • CUDPP (Data Parallel Primitives): Reduction, Scan, Sort.
  • Thrust: Reduction, Scan, Sort.

See also

  • OpenCL
  • Heterogeneous System Architecture
  • CUDA binary (cubin) – a type of fat binary

References

  1. ↑ "CUDA LLVM Compiler". Nvidia Developer. Retrieved Apr 6, 2016.
  2. ↑ "CUDA C++ Programming Guide". NVIDIA Documentation Hub. Retrieved 2019-06-28.

General

  1. David B. Kirk, and Wen-mei W. Hwu. Programming massively parallel processors: a hands-on approach. Morgan Kaufmann, 2010.
  2. "Nvidia CUDA Compiler Driver NVCC". Nvidia Documentation Hub. Archived from the original on Oct 13, 2023.
  3. "CUDPP". GPGPU. Archived from the original on Nov 17, 2018.

External links

  • Official website
Retrieved from "https://en.wikipedia.org/w/index.php?title=Nvidia_CUDA_Compiler&oldid=1329279119"
Categories:
  • Nvidia software
  • Compilers
Hidden categories:
  • Articles with short description
  • Short description is different from Wikidata
  • Official website different in Wikidata and Wikipedia
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.