热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

查看cudacudnn版本&一些常见疑问

linux查看cuda、cudnn版本。以及推

一、快速确定版

查看cuda



    nvcc -V

查看cudnn



    dpkg -l | grep cudnn


二、历史方法

    有一些已经失效,这里仅仅作为备选

查看cuda



    方法一


    nvcc -V 或者 nvcc —version


    方法二


    cat /usr/local/cuda/version.txt 或者 cat /usr/local/cuda/version.json


查看cudnn



    方法一


    dpkg -l | grep cudnn


    方法二


    whereis cudnn_version 或者 whereis cudnn.h 获得真实路径。这里以/usr/local/cuda/include/为例


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


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


三、不建议使用的方法

方法一、pytorch 接口



    import torch


    # 查看torch的版本


    print(torch.__version__)


    # 查看cuda的版本


    print(torch.version.cuda)


    # 查看cudnn的版本


    print(torch.backends.cudnn.version())


方法二、nvidia-smi 命令



原因简单介绍



    对于算法工程师我们知道一般层级为GPU硬件-GPU驱动(driver)—cuda-(cudnn)-pytorch.


    其中cuda 一般也分两种:driver api(nvidia-smi显示的)和runtime api (nvcc -v等显示的)。用于支持driver api的必要文件由 GPU driver installer 安装,nvidia-smi就属于这一类API;而用于支持runtime api的必要文件是由 CUDA Toolkit installer 安装。nvcc是与CUDA Toolkit一起安装的CUDA compiler-driver tool,它只知道它自身构建时的CUDA runtime版本,并不知道安装了什么版本的GPU driver,甚至不知道是否安装了GPU driver。如果driver API和runtime API的CUDA版本不一致可能是因为你使用的是单独的GPU driver installer,而不是CUDA Toolkit installer里的GPU driver installer。一般现在大家使用docker 开发技术,宿主机安装driver, docker 内部安装cuda cudnn,这时一般nvidia-smi 和 nvcc -v 的结果便是不一样的,通常driver api 的版本能向下兼容 runtime api 的版本。


Nvidia 驱动和cuda对应表:
CUDA 12.0 Release Notes — cuda-toolkit-release-notes 12.0 documentation


    Conda安装的CUDA Toolkit和NVIDIA的CUDA Toolkit区别:Nvidia 官方提供的 CUDA Toolkit 是一个完整的工具安装包,其中提供了 Nvidia 驱动程序、开发 CUDA 程序相关的开发工具包等可供安装的选项。 Pytorch 之类的深度学习框架,一般仅使用 CUDA 的动态链接库支持程序的运行( Pytorch 本身与 CUDA 相关的部分是提前编译好的 ),就像常见的可执行程序一样。


    Pytorch 接口输出的 cuda 的版本并不一定是 Pytorch 在实际系统上运行时使用的 cuda 版本,而是编译该 Pytorch release 版本时使用的 cuda 版本。   torch.version.cuda 是位于 torch/version.py 中的一个变量, Pytorch 在基于源码进行编译时,通过tools/setup_helpers/cuda.py 来确定编译 Pytorch 所使用的 cuda 的安装目录和版本号。


    

切换多个版本的cuda:



    *查看环境变量 


    echo CUDA_HOME 或 CUDA_PATH


    *在/usr/local下,我们可以安装多个版本的cuda,


    *命令行输入以下命令,断开cuda文件与cuda-10.1的符号链接:


    sudo rm -rf cuda //注意:/usr/local/cuda 仅删除软链接, /usr/local/cuda/ 删除软链接所指向的目录的所有内容


    *命令行输入以下命令,建立cuda文件与cuda-9.0的符号链接:


    sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda


    *此时查看cuda版本,已经更改成功,


    Nvcc -v





参考链接


显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么? - 知乎


Ubuntu下查看cuda和cudnn版本 - CodeAntenna


【CUDA】nvcc和nvidia-smi显示的版本不一致? - 简书


查看linux环境下cudnn是否安装,Linux下安装cuda和对应版本的cudnn - CodeAntenna


Pytorch版本、CUDA版本与显卡驱动版本的对应关系 - 腾讯云开发者社区-腾讯云


Pytorch版本、CUDA版本与显卡驱动版本的对应关系_ruolyn的博客-CSDN博客_pytorch cuda版本对应关系


Pytorch 使用不同版本的 cuda - 知乎


推荐阅读
author-avatar
x洗不掉的思念
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有