title: 什么是 NVIDIA CUDA 编译器驱动程序? abbreviation: nvcc
NVIDIA CUDA 编译器驱动程序是一个用于编译
CUDA C/C++ 程序的工具链。它输出符合主机 ABI 的二进制可执行文件,其中包含要在 GPU 上执行的
PTX 和/或
SASS —— 即所谓的"胖二进制文件"。这些二进制文件可以使用与其他二进制文件相同的工具(如 Linux 上的 readelf)进行检查,但还可以使用专门的
CUDA 二进制工具集 进行额外操作。
包含的 PTX 代码按
计算能力 (Compute Capability)
进行版本控制,通过向 --gpu-architecture 或 --gpu-code 选项传递 compute_XYz 值来配置。
包含的 SASS 代码按
流式多处理器架构版本 (SM architecture version)
进行版本控制,通过向 --gpu-architecture 或 --gpu-code 选项传递 sm_XYz 值来配置。将 compute_XYz 传递给 --gpu-code 也会触发生成与
PTX 版本相同的
SASS 代码。
主机/CPU 代码的编译是使用主机系统的编译器驱动程序完成的,例如 gcc 编译器驱动程序。请注意,不要将编译器驱动程序与硬件驱动程序(如
NVIDIA GPU 驱动程序)混淆。
nvcc 的文档可以在
此处 找到。