Nvidia CUDA 编译器

Nvidia CUDA CompilerNVCC)是Nvidia 公司开发的CUDA 编译器,属于专有软件。

编译器
CUDA程序需要运行在CPU和GPU上。NVCC将CUDA程序拆分为两部分:主机程序(运行在CPU上)交由C语言编译器处理,如GCC、Intel C++编译器(ICC)、微软Visual C++编译器(MVCC)等均可处理;设备程序,又被称为 Kernels,则由 NVCC 进一步编译,再发送给 GPU 执行。NVCC基于LLVM。依据 NVIDIA 官方文档,7.0 版本 NVCC 支持很多 C++11 标准语言特性和部分C99规范。9.0版本加入了C++14标准的部分特性。

任何包含CUDA语言(.cu)的项目必须用 nvcc 编译。NVCC并非独立的编译器,它通过调用其他编译器(如 cudacc、g++、cl)和其他必要工具来编译源码。NVCC可输出C语言代码(CPU程序),该代码随后必须由其他工具继续编译为机器码。NVCC也可以输出PTX或机器码。CUDA代码必须包含CUDA核心函数库(cuda)和CUDA运行时库(cudart)。

其他常用库:

  • CUBLAS:Nvidia显卡上的BLAS算法实现
  • CUFFT:Nvidia显卡上的FFT算法实现
  • CUDPP(数据并行原语):归约、扫描、排序。
  • Thrust:归约扫描、排序(现已合并到cccl)

参见

  • OpenCL

*

参考
外部链接
*

评论 (0)

  • 还没有评论,来抢沙发吧。