1. 查看CUDA版本

cuda默认安装在/usr/local目录,可以使用ls -l /usr/local | grep cuda查看该目录下有哪些cuda版本

假设有如下输出:

lrwxrwxrwx  1 root root    8 Apr 26  2019 cuda -> cuda-9.0

drwxr-xr-x 11 root root 4096 Apr 26  2019 cuda-10.0

drwxr-xr-x 11 root root 4096 Apr 26  2019 cuda-8.0

drwxr-xr-x 11 root root 4096 Apr 26  2019 cuda-9.0

则表示当前机器上安装了8.0、9.0、10.0三个cuda版本,/usr/local/cuda是一个软链接,链接到了/usr/local/cuda-9.0目录,表示当前使用的是cuda-9.0版本。

如果要查看详细的cuda版本号,可以用如下两种方法:

1)nvcc --version,如果提示找不到该命令,则执行/usr/local/cuda/bin/nvcc --version,如果报找不到该路径或文件,则表示nvcc没有安装,可以sudo apt install nvidia-cuda-toolkit安装

2)cat /usr/local/cuda/version.txt

如果当前机器上安装了多个cuda版本,可以使用修改软链接的方式来修改系统使用的cuda版本,命令如下:

sudo ln -snf/usr/local/cuda-8.0/usr/local/cuda

2. 查看cuDNN版本号

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

3. CUDA是否可用于当前AI开发框架?

确定了CUDA版本号,那么该版本是否可以用于当前安装的AI开发框架呢?如pytorch、tf?

1)如果使用pytorch,可以使用如下语句查询是否可用:

import torch

print(torch.__version__)  # 查看torch当前版本号

print(torch.version.cuda)  # 编译当前版本的torch使用的cuda版本号

print(torch.cuda.is_available())  # 查看当前cuda是否可用于当前版本的Torch,如果输出True,则表示可用

2)如果使用tf,则没有pytorch这么方便的方式来查看CUDA是否可用

只能在 import tensorflow as tf 的时候才能发现CUDA是否可用,如果不可用,会有如下类似的报错:

ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

这就表示当前tf需要CUDA 9.0,但是没有找到,决定tf应该使用哪个版本的CUDA,是tf安装目录下的一个_pywrap_tensorflow_internal.lib库文件定义的,里面是如何实现的,就得去看源码了。

但是我们可以用更简单的方法来查看tf与CUDA的对应关系,可用过官网查询:

4. 其他疑问

我们还经常用到nvidia-smi命令,使用该命令会有如下输出:

nvidia-smi命令可以查看GPU的具体使用情况,同时也会列出 CUDA Version。

如果nvidia-smi命令列出的CUDA版本与nvcc -V列出的版本号不一致,可能是由以下原因之一引起的:

1)安装多版本cuda后,还没有刷新环境变量,刷新即可;

2)CUDA有两种API,分别是运行时API和驱动API,即所谓的Runtime API与Driver API,nvidia-smi的结果除了有GPU驱动版本型号,还有CUDA Driver API的版本号,这里是10.0,而nvcc的结果是对应CUDA Runtime API

补充说明:在安装CUDA 时候会安装3大组件,分别是 NVIDIA 驱动、toolkit和samples。NVIDIA驱动是用来控制GPU硬件,toolkit里面包括nvcc编译器等,samples或者说SDK 里面包括很多样例程序包括查询设备、带宽测试等等。上面说的CUDADriver API是依赖于NVIDIA驱动安装的,而CUDA Runtime API 是通过CUDA toolkit安装的。

Linux上查看已安装的CUDA和cuDNN版本号以及如何查看当前pytorch使用的cuda版本相关推荐

  1. 如何查看cudnn当前版本_Linux上查看已安装的CUDA和cuDNN版本号

    做AI开发时,经常需要用到github上的各种代码,但是这些代码可能需要不同版本的AI开发框架和不同版本的CUDA.cuDNN才能跑通,于是我们的机器上可能要安装多个版本的CUDA和cuDNN,那么如 ...

  2. Linux查看系统信息的一些命令及查看已安装软件包的命令(转)

    系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # ho ...

  3. Linux查看系统信息的一些命令及查看已安装软件包的命令

    系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # ho ...

  4. 如何查看已安装的Linux内核

    有些时候,你可能需要检查或查看 Linux 系统上已安装内核列表.如果你不知道如何操作,请继续阅读. 查看已安装的Linux内核 RHEL/CentOS/Fedora 在终端中执行如下命令查看已安装的 ...

  5. 如何查看linux内核大小,如何查看已安装的Linux内核

    有些时候,你可能需要检查或查看 Linux 系统上已安装内核列表.如果你不知道如何操作,请继续阅读. 查看已安装的Linux内核: RHEL/CentOS/Fedora 在终端中执行如下命令查看已安装 ...

  6. linux查看软件包信息,Linux查看系统信息的一些命令及查看已安装软件包的命令...

    Linux查看系统信息的一些命令及查看已安装软件包的命令 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat ...

  7. linux如何查看centos版本信息,怎么查看已安装的CentOS版本信息

    一.如何查看已安装的CentOS版本信息: 1)[root@localhost ~]# cat /proc/version Linux version 2.6.18-194.el5 (mockbuil ...

  8. Linux 中查看已安装的磁盘驱动器清单技巧

    如果系统中安装了多个磁盘驱动器,且需要执行某些操作(比如重新分区),那么需要首先获取磁盘信息.而要获取磁盘驱动的信息,需要查看已安装的磁盘驱动的列表,这个列表就包含已安装的驱动器的许多信息. 查看已安 ...

  9. Linux上subversion的安装和使用

    目录 1.Linux上subversion下载... 3 2.Linux上subversion的安装... 6 2.1.查询系统之前安装的旧版本... 6 2.2.yum安装yum源默认版本... 7 ...

最新文章

  1. python给函数设置超时时间_在 Linux/Mac 下为Python函数添加超时时间
  2. 又为写作思路熬到秃头?这16篇最新论文打包送你
  3. html5长按保存,iOS UIWebView仿微信H5页面实现长按保存图片功能
  4. WinDbg配置与下载
  5. iOS核心动画之CALayer-自定义层
  6. hdu 2007 - 平方和与立方和
  7. python的遍历字典里的键然后放到一个列表里_Python列表和字典互相嵌套怎么办?看完让你没有疑惑...
  8. 阿里面试官:为什么MySQL数据库索引选择使用B+树而不是跳表?
  9. 代码版本管理软件Git的优势和用法
  10. 包工协议书样本_最新包工头劳务承包合同范本
  11. 《晚明》小说各战役配图
  12. SwiftUI 高级用法之ForEach如何使用 enumerated() UserDefaults.standard(教程含源码)
  13. java仓库管理设计报告_仓库管理系统(课程设计JSPJAVA大学设计).doc
  14. Jsp之一 WEB应用程序概述
  15. OKRs-E,OKR实战基础理论
  16. 卷积到底卷了个啥?--卷积定理详解(一)
  17. 微信开发实战(2)—微信公众平台接口调试工具
  18. 郑州轨道交通2050规划图
  19. STM32F030xx硬件SPI调试记录
  20. [LeetCode]390.消除游戏

热门文章

  1. 双击进入共享计算机时提示无法访问错误(连接共享打印机)
  2. lerna + yarn workspaces 使用备忘
  3. matlab学霸表白公式,怎么表白:数学函数表白
  4. 使用itextpdf实现横板PDF文件与竖版PDF文件的相互转换
  5. 制作路由器openwrt安装及配置
  6. 基于Linux操作系统的 智能家居的设计
  7. 微信小程序使用canvas绘图
  8. CrossApp logo 跨平台app开发引擎
  9. 骨传导加动圈,这款Dacom耳机有何出众之处?开箱验证
  10. 最全的PHP开发Android应用程序