엔비디아 CUDA 컴파일러

엔비디아 CUDA 컴파일러
개발자엔비디아
발표일2007년 6월(18년 전)(2007-06)
안정화 버전
12.6.0 / 2024년 8월(1년 전)(2024-08)
언어영어
종류컴파일러
라이선스사유
웹사이트docs.nvidia.com/cuda/cuda-compiler-driver-nvcc

엔비디아 CUDA 컴파일러(Nvidia CUDA Compiler, NVCC)는 엔비디아CUDA와 함께 사용하기 위해 개발한 컴파일러이다. 이는 사유 소프트웨어이다.

컴파일러

CUDA 코드는 중앙 처리 장치 (CPU)와 그래픽 처리 장치 (GPU) 모두에서 실행된다. NVCC는 이 두 부분을 분리하여 호스트 코드(CPU에서 실행될 코드 부분)를 C 컴파일러(예: GNU 컴파일러 모음 (GCC) 또는 인텔 C++ 컴파일러 (ICC) 또는 마이크로소프트 비주얼 C++ 컴파일러)로 보내고, 장치 코드(GPU에서 실행될 부분)는 GPU로 보낸다. 장치 코드는 NVCC에 의해 추가로 컴파일된다. NVCC는 LLVM을 기반으로 한다.[1] 엔비디아가 제공한 문서에 따르면, 버전 7.0의 nvcc는 C++11 표준에서 정의된 많은 언어 구성을 지원하며, C99의 일부 구성을 지원한다. 버전 9.0에서는 C++14 표준의 더 많은 구성이 추가되었다.[2]

CUDA 언어 확장(.cu)을 포함하는 모든 소스 파일은 nvcc로 컴파일해야 한다. NVCC는 cudacc, g++, cl 등 필요한 모든 도구와 컴파일러를 호출하여 작동하는 컴파일러 드라이버이다. NVCC는 C 코드(CPU 코드)를 출력할 수 있으며, 이 코드는 다른 도구를 사용하여 애플리케이션의 나머지 부분과 함께 컴파일되거나, Parallel Thread Execution (PTX) 또는 객체 코드를 직접 출력할 수 있다. CUDA 코드가 포함된 실행 파일은 CUDA 코어 라이브러리 (cuda)와 CUDA 런타임 라이브러리 (cudart)가 필요하다.

널리 사용되는 다른 라이브러리:

  • CUBLAS: BLAS 구현
  • CUFFT: FFT 구현
  • CUDPP (데이터 병렬 프리미티브): 축소, 스캔, 정렬.
  • Thrust: 축소, 스캔, 정렬.

같이 보기

각주

  1. “CUDA LLVM Compiler”. Nvidia Developer. 2016년 4월 6일에 확인함. 
  2. “CUDA C++ Programming Guide”. 《NVIDIA Documentation Hub》 (미국 영어). 2019년 6월 28일에 확인함. 

일반

  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》. 2023년 10월 13일에 원본 문서에서 보존된 문서. 
  3. “CUDPP”. 《GPGPU》. 2018년 11월 17일에 원본 문서에서 보존된 문서. 

외부 링크

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya