在服务器上,使用nvidia-smi和nvcc --version两个命令都可以查看所谓的cuda版本,但是经常是可以发现二者是不同的。比如,我的nvcc-V(nvcc --version)查到的cuda版本是11.1,而nvidia-smi是cuda version:12.2。
Nvidia显卡驱动与Cuda关系
Cuda是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行。但是Nvidia显卡驱动与Cuda并不是一对一对应的关系,所以我们在一个系统中可以下载多个版本的Cuda,比如Cuda9.0、Cuda10.0、Cuda11.0,安装足够新版本的Nvidia显卡驱动向下兼容Cuda版本即可。所以Nvidia显卡驱动与Cuda并不是一对一对应的关系,Nvidia显卡驱动只要满足Cuda版本的最低要求即可。
Cuda的driver API 和runtime API
CUDA有两个主要的API,driver API(nivdia-smi中显示的cuda)和runtime API(nvcc --version显示的cuda),两者都有相应的版本。driver API由显卡驱动安装程序安装,runtime API由CUDA toolkit工具包安装程序安装。使用Cuda基于toolkit,所以cuda实际使用版本以nvcc --version中的cuda版本为准。