CUDA(Compute Unified Device Architecture)是一个由NVIDIA开发的应用程序编程接口(API),用于编写在NVIDIA GPU上运行的程序。CUDA驱动程序是NVIDIA提供的软件,它允许操作系统与GPU硬件通信。CUDA版本和CUDA驱动程序版本之间的区别在于它们分别代表了不同的软件层。
1. **CUDA版本**:
- CUDA是一个API和编译器工具集,它允许开发者编写和优化在GPU上运行的并行计算程序。
- CUDA版本通常与CUDA Toolkit相关联,这是NVIDIA提供的工具集,包括CUDA运行时库、CUDA编译器(nvcc)、CUDA编程模型、CUDA数学库等。
- CUDA版本号以数字形式表示,例如CUDA 10.2、CUDA 11.0等。
- CUDA版本定义了API的版本和兼容性,以及支持的功能。开发者需要根据他们使用的CUDA版本来编写和编译代码。
2. **CUDA驱动程序版本**:
- CUDA驱动程序是NVIDIA提供的一个软件,它作为操作系统与GPU硬件之间的桥梁。
- CUDA驱动程序负责管理GPU的硬件资源,如内存和计算能力,以及与图形用户界面(GUI)的交互。
- CUDA驱动程序版本通常与NVIDIA的图形驱动程序相关联,这些驱动程序可能包含多个组件,包括CUDA驱动程序。
- CUDA驱动程序版本号通常以数字和字母组合的形式表示,例如418.39、418.56等。
- CUDA驱动程序版本定义了与GPU硬件的兼容性,以及支持的功能。为了能够使用特定的CUDA版本,您需要安装与之兼容的CUDA驱动程序。
总结来说,CUDA版本是编程接口和工具集的版本,而CUDA驱动程序版本是与特定GPU硬件兼容的操作系统组件。开发者需要根据他们使用的CUDA版本来编写代码,并且需要安装与之兼容的CUDA驱动程序来运行这些代码。
我们应该选择与 nvcc --version 对应的CUDA版本匹配的Pytorch。
ref.【CUDA】nvcc和nvidia-smi显示的版本不一致?_nvidia-smi命令列出的cuda版本与nvcc -v列出的版本号不一致-CSDN博客
ref.CUDA版本不同:nvidia-smi和nvcc -V_nvidia-smi和nvcc-v的cuda版本不一致-CSDN博客