如何获得cuda版本?

Hai*_*ang 390 cuda

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

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

har*_*ism 542

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

nvcc --version
Run Code Online (Sandbox Code Playgroud)

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

从应用程序代码中,您可以使用查询运行时API版本

cudaRuntimeGetVersion()
Run Code Online (Sandbox Code Playgroud)

或驱动程序API版本

cudaDriverGetVersion()
Run Code Online (Sandbox Code Playgroud)

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

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

cat /usr/local/cuda/version.txt
Run Code Online (Sandbox Code Playgroud)

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

  • 在Ubuntu中,您可能需要安装`nvidia-cuda-tools`才能使此命令生效.只需输入`sudo apt install nvidia-cuda-toolkit`即可 (9认同)
  • 如果找不到`nvcc`,它应该在`/ usr/local/cuda/bin /`中. (7认同)
  • nvcc --version应该在Windows命令提示符下工作,假设nvcc在你的路径中. (6认同)
  • 支持`cat / usr / local / cuda / version.txt`。如果安装了nvidia-toolkit,则可以使用带有`nvcc --version`的流行方法,但是,如果只有cuda运行时,则可能不存在nvcc。@RutgerHofste可能指出了这种情况。例如([Tensorflow设置说明](https://www.tensorflow.org/install/gpu#ubuntu_1804_cuda_10)不要安装nvcc) (6认同)
  • 请注意,您的系统上可能安装了两个或更多 nvcc 二进制文件,因此运行“nvcc”可能会选择旧版本。这实际上是因祸得福,因为您可能会发现需要修改 PATH 以便它选择较新的 nvcc 版本。 (2认同)
  • “/usr/local/cuda/bin/nvcc --version”和“nvcc --version”显示不同的输出。 (2认同)
  • 还有`/usr/lib/cuda/version.txt` (2认同)
  • nvcc --version 显示的 cuda 版本与我机器上的版本不同。我必须更新 .bashrc 文件中的环境变量,因为它显示正确的版本 - PATH 和 LD_LIBRARY_PATH - https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions (2认同)

mww*_*web 143

在Ubuntu Cuda V8上:

$ cat /usr/local/cuda/version.txt
Run Code Online (Sandbox Code Playgroud)

  • 使用这个我得到"CUDA版本8.0.61",但是nvcc --version给了我"Cuda编译工具,7.5版本,V7.5.17"你知道错配的原因吗? (13认同)
  • 这比harrism的答案更通用,因为它不需要安装`nvcc`(需要管理员权限) (7认同)
  • 适用于 AWS Linux 深度学习 AMI (2认同)
  • 赞成作为更正确的答案,我的 CUDA 版本是 9.0.176,并且在 nvcc -V 中没有提到 (2认同)

sco*_*owe 38

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

回顾一下,您可以使用

nvcc --version
Run Code Online (Sandbox Code Playgroud)

找出 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
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

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

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

其输出结果与上面相同,同样可以进行解析。

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

/usr/local/cuda/bin/nvcc --version
Run Code Online (Sandbox Code Playgroud)

其中的输出

CUDA Version 10.1.243
Run Code Online (Sandbox Code Playgroud)

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

cat /usr/local/cuda/version.txt
Run Code Online (Sandbox Code Playgroud)

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

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

CUDA Version 10.1.243
Run Code Online (Sandbox Code Playgroud)

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

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

同样,您可以在未安装 CUDA 时安装 CPU 版本的 pytorch。

if nvcc --version 2&> /dev/null; then
    # Determine CUDA version using default nvcc binary
    CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9]\+\.[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]\+\.[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
Run Code Online (Sandbox Code Playgroud)

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


Sid*_*idK 25

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

conda list cudatoolkit
Run Code Online (Sandbox Code Playgroud)

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

conda list cudnn
Run Code Online (Sandbox Code Playgroud)

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

conda install -c anaconda cudatoolkit
conda install -c anaconda cudnn
Run Code Online (Sandbox Code Playgroud)

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

nvidia-smi
Run Code Online (Sandbox Code Playgroud)

或者

nvcc --version
Run Code Online (Sandbox Code Playgroud)

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

如果您想手动安装 CUDA、CUDNN 或 tensorflow-gpu,您可以查看此处的说明https://www.tensorflow.org/install/gpu

  • `nvidia-smi` 不会给你安装的版本,只是支持的版本,这对这个问题没有用,请参阅@mostafa.elhoushi 的答案下的评论。 (3认同)
  • 如果您使用 conda 安装了 cuda 工具包,则“nvcc --version”在 anaconda 提示符中不起作用,如果您在非 conda 安装的 anaconda 提示符之外表示它,则它是已接受答案的重复。 (3认同)
  • 支持如何检查 anaconda 中是否安装了 cuda。 (2认同)

Emi*_*sic 20

在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


Shi*_*hah 18

对于CUDA版本:

nvcc --version
Run Code Online (Sandbox Code Playgroud)

对于cuDNN版本:

对于Linux:

使用以下命令查找cuDNN的路径:

$ whereis cuda
cuda: /usr/local/cuda
Run Code Online (Sandbox Code Playgroud)

然后使用它从头文件中获取版本,

$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
Run Code Online (Sandbox Code Playgroud)

对于Windows,

使用以下命令查找cuDNN的路径:

C:\>where cudnn*
C:\Program Files\cuDNN7\cuda\bin\cudnn64_7.dll
Run Code Online (Sandbox Code Playgroud)

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

type "%PROGRAMFILES%\cuDNN7\cuda\include\cudnn.h" | findstr CUDNN_MAJOR
Run Code Online (Sandbox Code Playgroud)

  • 你说的是CUDA SDK。也许问题出在 CUDA 运行时和驱动程序上 - 那么这不适合。(或者问题可能是关于计算能力 - 但不确定情况是否如此。) (2认同)
  • @Lorenz - 在某些情况下我没有安装 nvidia-smi。另外,当您进行调试时,最好知道东西在哪里。如果你想在 Linux 上卸载 cuda,很多时候你唯一的选择就是手动查找版本并删除它们。另外,请注意答案包含 CUDA 以及 cuDNN,稍后 smi 不会显示。我已经更新了使用 nvidia-smi 的答案,以防万一您唯一感兴趣的是 CUDA 的版本号。 (2认同)
  • `nvidia-smi` 与安装的 CUDA 版本没有任何关系。它甚至没有附带 CUDA 工具包,而是来自 NV 驱动程序包。它显示最大支持的 CUDA 版本,仅此而已。 (2认同)

mos*_*shi 18

如果你跑

nvidia-smi
Run Code Online (Sandbox Code Playgroud)

您应该在命令输出的右上角找到CUDA版本。至少我发现CUDA版本10.0的输出例如 在此处输入图片说明

  • 这个答案是不正确的,这只表明驱动程序CUDA版本支持。它不提供任何有关安装了哪个 CUDA 版本甚至是否安装了 CUDA 的信息 (29认同)
  • `nvcc --version` 和 `nvidia-smi` 没有给我相同的 CUDA 版本。事实证明你的(“nvidia-smi”)是错误的。 (6认同)
  • 看起来`nvidia-smi`只输出旧版本的驱动程序版本。 (4认同)
  • 这个答案实际上是错误的。`nvidia-smi` 显示已安装驱动程序支持的最高 CUDA 版本。请编辑。 (4认同)
  • 该cuda版本仅显示gpu cuda功能,而不显示用于运行时api的cuda版本。 (3认同)
  • 该CUDA版本显示仅适用于410.72之后的驱动程序版本。即使没有安装CUDA,它也将显示CUDA版本。因此,此信息目前没有任何意义。参考:https://devtalk.nvidia.com/default/topic/1045528/nvidia-smi-doesn-t-show-cuda-version-even-after-installation/ (2认同)
  • nvidia-smi 仅显示已安装驱动程序的最高兼容 cuda 版本。这不一定是当前安装的cuda版本! (2认同)

小智 14

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

import torch

print(torch.version.cuda)
Run Code Online (Sandbox Code Playgroud)

  • 警告:这将告诉您 PyTorch 构建所针对的 cuda 版本,但不一定是您可以安装的 PyTorch 版本。 (5认同)

小智 10

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

  • 对于那些想知道的人:`deviceQuery`是一个要构建的示例程序(Linux:在`/ usr/local/cuda/samples`中运行`make`,然后是`./bin/x86_64/linux/ release/deviceQuery`). (3认同)

小智 7

在 Windows 10 上,我在“C:\Program Files\NVIDIA Corporation\NVSMI”中找到了 nvidia-smi.exe;在 cd 进入该文件夹(在我的情况下不在 PATH 中)和“.\nvidia-smi.exe”之后,它显示 在此输入图像描述

  • 这不会显示当前安装的 CUDA 版本,而仅显示可用于您的 GPU 的最高兼容 CUDA 版本。请参阅对此其他答案的评论/sf/answers/3900223351/。 (4认同)

Mic*_*iak 6

我也想知道这些信息,以便我可以安装 PyTorch,以便它可以在我的 Window 10 系统上利用我的 GPU。我可以从我的 NVidia 控制面板找到此信息。如果你有Windows系统但没有安装这个,你可以在这里获取它:

https://nvidia.custhelp.com/app/answers/detail/a_id/4733/~/nvidia-control-panel-windows-store-app

安装完成后,找到并启动 NVIDIA 控制面板:

在此输入图像描述

一旦启动,在左下角,单击 **onc sec, ** 链接:

在此输入图像描述

在此页面中,单击“组件”选项卡。这就是我发现我安装了 CUDA 11.7 的方式。

在此输入图像描述


小智 5

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

“这个程序的诞生是对 CPU-Z 和 GPU-Z 等其他 Z 实用程序的模仿。CUDA-Z 显示了有关支持 CUDA 的 GPU 和 GPGPU 的一些基本信息。它适用于 nVIDIA Geforce、Quadro 和 Tesla 卡、ION芯片组。”

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

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

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


kma*_*o23 5

可以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
Run Code Online (Sandbox Code Playgroud)

或者,可以通过首先使用以下命令查找安装目录来手动检查版本:

$ whereis -b cuda         
cuda: /usr/local/cuda
Run Code Online (Sandbox Code Playgroud)

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


小智 5

如果nvcc --version不适合你那么使用cat /usr/local/cuda/version.txt

  • 对于我(在 Ubuntu 上),以下命令有效 ```cat /usr/local/cuda/version.json```。 (3认同)

Rou*_*han 5

使用张量流:

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']}")
Run Code Online (Sandbox Code Playgroud)

张量流版本:2.4.0

CUDA版本:11.0

库德恩版本:8


小智 5

如果您安装了多个 CUDA,则系统中加载的一个是与“nvcc”关联的 CUDA。因此,“nvcc --version”显示您想要的内容。