如何获得cuda版本?

时间:2012-03-15 20:30:53

标签: cuda

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

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

25 个答案:

答案 0 :(得分:455)

正如Jared在评论中提到的那样,从命令行:

nvcc --version

(或/usr/local/cuda/bin/nvcc --version)给出了CUDA编译器版本(与工具包版本匹配)。

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

查询运行时API版本
cudaRuntimeGetVersion()

或带

的驱动程序API版本
cudaDriverGetVersion()

Daniel指出,deviceQuery是一个SDK示例应用程序,可以查询上述内容以及设备功能。

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

cat /usr/local/cuda/version.txt

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

答案 1 :(得分:119)

在Ubuntu Cuda V8上:

$ cat /usr/local/cuda/version.txt

答案 2 :(得分:16)

在Ubuntu上:

尝试

$ cat /usr/local/cuda/version.txt 要么 $ cat /usr/local/cuda-8.0/version.txt

有时文件夹名为" Cuda-version"。

如果以上都不起作用,请尝试去 $ /usr/local/ 并找到您的Cuda文件夹的正确名称。

输出应类似于: CUDA Version 8.0.61

答案 3 :(得分:14)

对于CUDA版本:

nvcc --version

对于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

答案 4 :(得分:10)

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

答案 5 :(得分:4)

您可能会发现CUDA-Z很有用,以下是他们网站的引用:

“这个程序诞生时模仿了另一个Z-utilities,如CPU-Z和GPU-Z.CUDA-Z显示了一些关于支持CUDA的GPU和GPGPU的基本信息。它适用于nVIDIA Geforce,Quadro和Tesla卡,ION芯片组。“

http://cuda-z.sourceforge.net/

在支持选项卡上有源代码的URL:http://sourceforge.net/p/cuda-z/code/,下载实际上不是安装程序,而是可执行文件本身(没有安装,所以这是“快速”)。

此实用程序提供了大量信息,如果您需要知道它是如何派生的,则需要查看源代码。您可以搜索与此类似的其他实用程序。

答案 6 :(得分:4)

我们提供了三种检查版本的方法: 在我的情况下,输出如下: 方式1:-

cat /usr/local/cuda/version.txt

输出:-

CUDA Version 10.1.243

方法2:-

nvcc --version

输出:-

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

方法3:-

/usr/local/cuda/bin/nvcc --version

输出:-

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

方式4:-

nvidia-smi
NVIDIA-SMI 450.36.06    Driver Version: 450.36.06    CUDA Version: 11.0

输出不相同。不知道为什么会这样。

答案 7 :(得分:3)

安装CUDA之后,可以通过以下方式检查版本:nvcc -V

我已安装了5.0和5.5,因此它提供了

Cuda编译工具,版本5.5,V5.5,0

此命令适用于Windows和Ubuntu。

答案 8 :(得分:3)

除了上面提到的那些,你的CUDA安装路径(如果在安装过程中没有改变)通常包含版本号

执行which nvcc应该给出路径,这将为您提供版本

PS:这是一种快速而肮脏的方式,上面的答案更优雅,并且会产生相当大的努力

答案 9 :(得分:3)

首先你应该找到Cuda的安装位置。

如果它是here之类的默认安装,则位置应为:

对于ubuntu:

  

的/ usr /本地/ CUDA

在此文件夹中,您应该有一个文件

  

version.txt

使用任何文本编辑器打开此文件或运行:

cat version.txt

从文件夹

<强> OR

 cat /usr/local/cuda/version.txt 

答案 10 :(得分:3)

使用以下命令检查Conda的CUDA安装:

conda list cudatoolkit

以及以下命令来检查conda安装的CUDNN版本:

conda list cudnn

如果要通过CONDA安装/更新CUDA和CUDNN,请使用以下命令:

conda install -c anaconda cudatoolkit
conda install -c anaconda cudnn

或者,您可以使用以下命令来检查CUDA的安装:

nvidia-smi

OR

nvcc --version

如果您通过Anaconda软件包使用tensorflow-gpu(您可以通过在控制台中简单地打开Python并检查默认的python启动时是否显示Anaconda,Inc.来进行验证,或者可以运行哪个python并检查位置) ,那么手动安装CUDA和CUDNN很可能行不通。您将不得不通过conda更新。

如果您想手动安装CUDA,CUDNN或tensorflow-gpu,可以在https://www.tensorflow.org/install/gpu

中查看说明。

答案 11 :(得分:2)

其他受访者已经描述了可以使用哪些命令来检查 CUDA 版本。在这里,我将描述如何将这些命令的输出转换为“10.2”、“11.0”等形式的环境变量。

回顾一下,你可以使用

nvcc --version

找出CUDA版本。 我认为这应该是您的第一个停靠港。 如果您安装了多个版本的 CUDA,此命令应打印出 PATH 中最高的副本版本。

输出如下:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Thu_Jun_11_22:26:38_PDT_2020
Cuda compilation tools, release 11.0, V11.0.194
Build cuda_11.0_bu.TC445_37.28540450_0

我们可以通过 sed 传递此输出以仅挑选 MAJOR.MINOR 版本号。

CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9\.]\+\).*$/\1/p')

如果 nvcc 不在您的路径中,您应该能够通过指定 nvcc 默认位置的完整路径来运行它。

/usr/local/cuda/bin/nvcc --version

输出和上面一样,可以用同样的方式解析。

或者,您可以从 version.txt 文件中找到 CUDA 版本。

cat /usr/local/cuda/version.txt

其中的输出

CUDA Version 10.1.243

可以使用 sed 进行解析,以挑选出 MAJOR.MINOR 版本号。

CUDA_VERSION=$(cat /usr/local/cuda/version.txt | sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/')

请注意,有时 version.txt 文件指的是与 nvcc --version 不同的 CUDA 安装。在这种情况下,nvcc 版本应该是您实际使用的版本。

我们可以将这三种方法结合起来,以稳健地获得 CUDA 版本,如下所示:

if nvcc --version 2&> /dev/null; then
    # Determine CUDA version using default nvcc binary
    CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9\.]\+\).*$/\1/p');

elif /usr/local/cuda/bin/nvcc --version 2&> /dev/null; then
    # Determine CUDA version using /usr/local/cuda/bin/nvcc binary
    CUDA_VERSION=$(/usr/local/cuda/bin/nvcc --version | sed -n 's/^.*release \([0-9\.]\+\).*$/\1/p');

elif [ -f "/usr/local/cuda/version.txt" ]; then
    # Determine CUDA version using /usr/local/cuda/version.txt file
    CUDA_VERSION=$(cat /usr/local/cuda/version.txt | sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/')

else
    CUDA_VERSION=""

fi

此环境变量对于下游安装很有用,例如当 pip 安装为正确 CUDA 版本编译的 pytorch 副本时。

python -m pip install \
    "torch==1.9.0+cu${CUDA_VERSION/./}" \
    "torchvision==0.10.0+cu${CUDA_VERSION/./}" \
    -f https://download.pytorch.org/whl/torch_stable.html

同理,未安装CUDA的情况下也可以安装CPU版本的pytorch。

if [ "$CUDA_VERSION" = "" ]; then
    MOD="+cpu";
    echo "Warning: Installing CPU-only version of pytorch"
else
    MOD="+cu${CUDA_VERSION/./}";
    echo "Installing pytorch with $MOD"
fi

python -m pip install \
    "torch==1.9.0${MOD}" \
    "torchvision==0.10.0${MOD}" \
    -f https://download.pytorch.org/whl/torch_stable.html

但要小心,因为当您打算获得 GPU 支持时,您可能会意外安装仅支持 CPU 的版本。 例如,如果您在没有 GPU 的服务器登录节点上运行安装脚本,并且您的作业将部署到有 GPU 的节点上。在这种情况下,登录节点通常不会安装 CUDA。

答案 12 :(得分:2)

在 Windows 10 上,我在“C:\Program Files\NVIDIA Corporation\NVSMI”中找到了 nvidia-smi.exe;在 cd 进入该文件夹后(在我的情况下不在 PATH 中)和 '.\nvidia-smi.exe' 它显示 enter image description here

答案 13 :(得分:2)

如果您安装了 PyTorch,您只需在您的 IDE 中运行以下代码:

import torch

print(torch.version.cuda)

答案 14 :(得分:2)

打开终端并运行以下命令:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

您可以获得CUDA驱动版本CUDA运行时版本的信息,以及GPU的详细信息。我的输出的图像示例如下。

You can find the image here.

答案 15 :(得分:2)

您也可以使用:

nvidia-smi | grep "CUDA Version:" 

检索显式行。

答案 16 :(得分:2)

If your run

nvidia-smi

You should find the CUDA Version on the top right corner of the comand's output. At least I found that output for CUDA version 10.0 e.g., enter image description here

答案 17 :(得分:2)

通过在终端中键入以下内容,可以获得cuda版本:

$ nvcc -V

# below is the result
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

或者,可以通过首先找到安装目录来手动检查版本:

$ whereis -b cuda         
cuda: /usr/local/cuda

然后cd进入该目录并检查CUDA版本。

答案 18 :(得分:1)

在以下位置发现了我的地雷

MPI_Init()

at

Invalid MIT-MAGIC-COOKIE-1 key

使用

whereis cuda

CUDA版本9.1.85

答案 19 :(得分:1)

dpkg -l | grep cuda

如果您正在Linux中运行

答案 20 :(得分:1)

如果nvcc --version不适合您,则使用cat /usr/local/cuda/version.txt

答案 21 :(得分:0)

您可以使用

检查CUDA的版本。
nvcc -V

或者您可以使用

nvcc --version

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

whereis cuda 

然后做

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

答案 22 :(得分:0)

通过编程CUDA Runtime API C++ wrappers

auto v1 = cuda::version::maximum_supported_by_driver();
auto v2 = cuda::version::runtime();

这为您提供了一个cuda::version_t结构,您可以对其进行比较并进行流式传输,例如:

if (v2 < cuda::version_t{ 8, 0 } ) {
    std::cerr << "CUDA version " << v2 << " is insufficient." std::endl;
}

答案 23 :(得分:0)

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

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

首先运行whereis 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来使用相同版本的驱动程序。

答案 24 :(得分:0)

我得到/ usr / local-没有这样的文件或目录。尽管nvcc -V给出

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Sun_Sep__4_22:14:01_CDT_2016
Cuda compilation tools, release 8.0, V8.0.44