Nvidia CUDA 컴파일러
Nvidia CUDA Compiler원저작자 | 엔비디아 |
---|---|
유형 | 컴파일러 |
면허증. | 독자적인 소프트웨어 |
웹 사이트 | docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/ #소개 |
NVCC(Nvidia CUDA 컴파일러)는 NVIDIA가 CUDA와 함께 사용하는 전용 컴파일러입니다.CUDA 코드는 CPU와 GPU 모두에서 실행됩니다.NVCC는 이 두 부분을 분리하여 호스트 코드(CPU에서 실행되는 코드의 일부)를 GCC, 인텔 C++ 컴파일러, Microsoft ICC와 같은 C 컴파일러에 전송합니다.GPU에서 실행되는 부분). 디바이스 코드는 NVCC에 의해 추가로 컴파일됩니다.NVCC는 LLVM을 [1]기반으로 합니다.Nvidia가 제공한 문서에 따르면 버전 7.0의 nvcc는 C++11 표준에 의해 정의된 많은 언어 구성 및 일부 C99 기능을 지원합니다.버전 9.0 에서는, C++14 표준의 몇개의 컨스트럭트가 [2]서포트되고 있습니다.
CUDA 언어 확장자(.cu)를 포함하는 소스 파일은 nvcc를 사용하여 컴파일해야 합니다.NVCC는 cudacc, g++, cl 등 필요한 모든 툴과 컴파일러를 호출하여 동작하는 컴파일러 드라이버입니다.NVCC는 C 코드(CPU 코드) 중 하나를 출력할 수 있습니다.이 코드는 다른 툴, PTX 또는 오브젝트 코드를 사용하여 다른 애플리케이션과 함께 컴파일해야 합니다.CUDA 코드를 사용하는 실행 파일에는 CUDA 코어 라이브러리(cuda)와 CUDA 런타임 라이브러리(cudart)가 필요합니다.
기타 널리 사용되는 라이브러리:
- CUBLAS: BLAS 구현
- 커프티: FFT 구현
- CUDPP(데이터 패럴렐 프리미티브):축소, 스캔, 정렬.
- 추력: 감소, 스캔, 정렬.
「 」를 참조해 주세요.
- OpenCL
- 이기종 시스템 아키텍처
- CUDA 바이너리(큐빈)– Fat 바이너리의 일종
레퍼런스
- ^ "CUDA LLVM Compiler". NVIDIA Corporation. 7 May 2012. Retrieved Apr 6, 2016.
- ^ "CUDA C Programming Guide". docs.nvidia.com. Retrieved 2019-06-28.
- 데이비드 B.커크, 그리고 문메이 W. 후.대규모 병렬 프로세서의 프로그래밍: 실천적인 접근법.모건 카우프만, 2010년
- Nvidia Documentation on nvcc.https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/
- CUDP. https://web.archive.org/web/20181117222643/http://gpgpu.org/developer/cudpp