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

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


当前回答

正如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中的另一版本早于上述版本,则可能会报告版本不准确,因此请谨慎使用。

其他回答

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

我已经安装了5.0和5.5

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

此命令适用于Windows和Ubuntu。

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

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

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

您可以在此处找到图像。

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

使用CUDA运行时API C++包装器编程(注意:我是作者):

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;
}

如果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使用相同版本的驱动程序。