nvcc & nvidia-smi
- CUDA有两个API:Runtime API和Driver API。Runtime API由CUDA Toolkit安装程序提供。Driver API由GPU驱动安装程序提供支持。
nvcc --version
显示的是Runtime API的CUDA版本,由CUDA Toolkit installer安装;而nvidia-smi
显示的是Driver API的版本,由GPU driver installer安装。- 如果使用CUDA Toolkit安装程序,通常它也会集成GPU驱动,这样两个API的版本就会一致;如果单独安装了GPU驱动,可能会导致两个版本不一致,但通常Driver API版本更高不会影响Runtime API的使用。
如何选择与CUDA版本匹配的Pytorch
nvcc --version 与 nvidia-smi的版本不一致的情况下,该如何选择与CUDA版本匹配的Pytorch呢?
其实,观察Pytorch官网的安装命令,细心的你应该能够发现在命令中指定CUDA版本时,用的是 cudatoolkit,而 nvcc --version 显示的版本就是通过CUDA Toolkit Installer在安装时决定的因此,我们应该选择与 nvcc--version 对应的CUDA版本匹配的Pytorch。