是否有任何快速命令或脚本来检查安装的CUDA版本?

我在安装目录下找到了4.0的手册,但我不确定它是否是实际安装的版本。


当前回答

对于CUDA版本:

nvcc --version

或者使用,

nvidia-smi

对于cuDNN版本:

对于Linux:

使用以下方法查找cuDNN的路径:

$ whereis cuda
cuda: /usr/local/cuda

然后使用该命令从头文件获取版本,

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

对于Windows,

使用以下方法查找cuDNN的路径:

C:\>where cudnn*
C:\Program Files\cuDNN7\cuda\bin\cudnn64_7.dll

然后使用它从头文件转储版本,

type "%PROGRAMFILES%\cuDNN7\cuda\include\cudnn.h" | findstr CUDNN_MAJOR

如果您在Windows上获得CUDA的两个不同版本-nvcc和NVIDIA smi显示的不同CUDA版本

其他回答

如果您已安装CUDA SDK,则可以运行“deviceQuery”查看CUDA的版本

正如Jared在命令行的评论中提到的:

nvcc --version

(或/usr/local/cuda/bin/nvcc-version)提供cuda编译器版本(与工具包版本匹配)。

从应用程序代码中,可以使用

cudaRuntimeGetVersion()

或驱动程序API版本

cudaDriverGetVersion()

正如Daniel所指出的那样,deviceQuery是一个SDK示例应用程序,可以查询上面的内容以及设备功能。

正如其他人所指出的,您也可以使用(例如,在Mac或Linux上)检查version.txt的内容

cat /usr/local/cuda/version.txt

但是,如果安装了CUDA工具包的另一个版本,而不是从/usr/local/CUDA符号链接的版本,则如果PATH中的另一版本早于上述版本,则可能会报告版本不准确,因此请谨慎使用。

您可以使用

nvcc -V

或者你可以使用

nvcc --version

或者您可以检查CUDA使用的位置

whereis cuda 

然后做

cat location/of/cuda/you/got/from/above/command

使用tensorflow:

import tensorflow as tf
from tensorflow.python.platform import build_info as build
print(f"tensorflow version: {tf.__version__}")
print(f"Cuda Version: {build.build_info['cuda_version']}")
print(f"Cudnn version: {build.build_info['cudnn_version']}")

tensorflow版本:2.4.0

Cuda版本:11.0

Cudnn版本:8

如果nvcc和nvidia-smi之间存在版本不匹配,则使用不同版本的cuda作为驱动程序和运行时环境。

为了确保使用相同版本的CUDA驱动程序,您需要做的是在系统路径上获取CUDA。

首先运行cuda所在的位置,找到cuda驱动程序的位置。

然后转到.bashrc并修改路径变量,并使用变量“LD_LIBRARY_path”设置搜索的目录优先顺序。

例如

$ whereis cuda
cuda: /usr/lib/cuda /usr/include/cuda.h /usr/local/cuda

CUDA安装在/usr/local/CUDA,现在我们需要将路径变量添加到.bashrc,如下所示:

vim  ~/.bashrc
export PATH="/usr/local/cuda/bin:${PATH}"

在该行之后,将目录搜索路径设置为:

export LD_LIBRARY_PATH="/usr/local/cuda/lib64:${LD_LIBRARY_PATH}"

然后保存.bashrc文件。并将其刷新为:

$ source ~/.bashrc

这将确保您有nvcc-V和nvidia-smi使用相同版本的驱动程序。