linux查看cuda版本

1.cat /usr/local/cuda/version.json
2.或者 nvcc -V(注意是大写 )
3 nvidia-smi

1和3中显示的是11.3

centos 查看cuda多版本 如何查看cuda版本linux_linux


centos 查看cuda多版本 如何查看cuda版本linux_CUDA_02

2中显示的是10.1

centos 查看cuda多版本 如何查看cuda版本linux_CUDA_03

CUDA有两个主要的API:runtime(运行时) API和driver API。这两个API都有对应的CUDA版本(如10.1和11.3等)。

  • 用于支持driver API的必要文件(如libcuda.so)是由GPU driver installer安装的nvidia-smi就属于这一类API。 用于支持`runtime
  • API的必要文件(如libcudart.so以及nvcc)是由CUDA Toolkit installe`r安装的。(CUDA
    Toolkit Installer有时可能会集成了GPU driver Installer)。

nvcc是与CUDA Toolkit一起安装的CUDA compiler-driver tool,它只知道它自身构建时的CUDA runtime版本。它不知道安装了什么版本的GPU driver,甚至不知道是否安装了GPU driver。

综上,如果driver API和runtime API的CUDA版本不一致可能是因为你使用的是单独的GPU driver installer,而不是CUDA Toolkit installer里的GPU driver installer

runtime和driver API区别

runtime和driver API在很多情况非常相似,也就是说用起来的效果是等价的,但是你不能混合使用这两个API,因为二者是互斥的。也就是说在开发过程中,你只能选择其中一种API。简单理解二者的区别就是:runtime是更高级的封装,开发人员用起来更方便,而driver API更接近底层,速度可能会更快

也就是说driver 与runtime并不是一一对应的哦,CUDA Toolkit(runtime)本质上只是一个工具包而已,所以我可以在同一个设备上安装很多个不同版本的CUDA Toolkit,比如同时安装了CUDA 9.0、CUDA 9.2、CUDA 10.0三个版本。
既然NVIDIA显卡驱动和CUDA Toolkit本身是不具有捆绑关系的,也不是一一对应的关系,那为啥我们总是傻傻分不清楚呢。。。因为离线安装的CUDA Toolkit会默认携带与之匹配的最新的驱动程序!!!

这也就能解释,为啥NVIDIA的官网里同时有
CUDA Toolkit

NVIDIA Driver
两种下载了

顺便附上cudnn的下载,注意下载cuDNN,需要注册一个账号才能下载

如果你之前使用了PPA安装驱动,可能会出现只装了driver的情况
参考 只安装nvidia driver的另一种方式

不过,我现在遇到的问题是,服务器的tf是1.15,无法兼容cudatoolkit9,也不支持11,根本没法加速
在读了 显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么?之后,发现,安装多版本 cuda ,多版本之间切换是可以实现的,我们应该可以直接再额外装一个cudatoolkit10,见Ubuntu安装多版本cuda,并在多版本之间切换。

———————————————————————————————————————————————————————

顺便附上linux下cudnn版本查询方法

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
1
此处的/usr/local/cuda/include/cudnn.h

可能会因为机器不同而不同,我也不知道当年师兄们是怎么装的,我的cudnn.h在/usr/include里面
如果你也和我一样,找不到cudnn.h 可以通过find语句全局查找

sudo find / -name ‘cudnn.h’

————————————————