Ubuntu18.0下安装cuda与cudnn,以及解决nvcc -V查看到的cuda与下载版本不一致的问题

安装cuda与cudnn

  1. 查看当前设备和cuda驱动版本:
    ubuntu-drivers devices
    nvidia-smi
    注意:高版本的驱动可以向下兼容低版本的cuda
  2. 下载cuda
    1). 查看驱动所能支持的cuda版本
    https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#abstract
    2). 下载对应的cuda版本
    https://developer.nvidia.com/cuda-toolkit-archive
    (注释:下载时记得选择对应的系统版本,下载类型选择runfile(local),
    由于版本的不同可能出现有两种情况:
    第一种:直接下载,注意patch也要下载,这是补丁,就是显示出来可以下载的都要下载
    第二种:出现一个wget … ,直接在新页面中打开wget后面的链接就行,下面的sudo sh …是具体的安装命令)
  3. 安装cuda
    找到下载cuda的目录,然后 sudo sh 文件名 (如:sudo sh cuda_11.1.0_455.23.05_linux.run),注意问是否要下载驱动时(一般都是第一个),输入n。 (如果显示more百分比,一直摁enter到100%即可,或者直接ctrl+c直接阅读完毕,然后输入是accept、y和enter键即可)
    注意:有补丁的也要安装补丁,步骤一样
  4. 将cuda的目录设置到PATH(注意你是cuda还是cuda-10.0,注意你的版本号),文件路径 ~/.bashrc
export CUDA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}

最后source ~/.bashrc

检测是否安装成功:
(注意: 找不到gcc或者make的话就下载
sudo apt-get install gcc
sudo apt-get install make
)

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

如果输出Result=PASS 则成功

  1. 安装cudnn(这里cuda不用改成对应的版本号,直接cuda即可)
    链接路径:https://developer.nvidia.com/rdp/cudnn-archive
    下载与cuda对应的cudnn版本,文件类型如下:cuDNN Library for Linux
    解压cudnn文件(注意解压后是一个cuda文件夹),命令如下:tar -zxvf cudnn-9.0-linux-x64-v7.1.tgz
    然后输入如下命令:
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ 
sudo chmod a+r /usr/local/cuda/include/cudnn.h 
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
  1. 查看cuda与cudnn版本(好像会自动)
cuda:  cat /usr/local/cuda/version.txt
cudnn:  cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
  1. 卸载显卡驱动(如果需要卸载的话)
sudo apt-get remove nvidia*

nvcc -V 与 cat查看cuda版本不一致解决方法:

  1. 卸载原先工具:sudo apt-get autoremove nvidia-cuda-toolkit
  2. 进入 /usr/local/cuda/bin 查看是否有nvcc,有说明cuda正常安装了,没有则是cuda没有安装,需要重新安装
    有nvcc的情况下: sudo gedit ~/.bashrc
    添加如下命令(注意:路径换成你自己安装的版本,例如cuda-10.0换成cuda-11.0之类的,这里请一定按路径是在""中的格式,其他格式都试过了,不行):
export LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH"
export PATH="/usr/local/cuda-10.0/bin:$PATH"
export CUDA_HOME="/usr/local/cuda-10.0:$CUDA_HOME"

最后:source ~/.bashrc 让更改的配置生效,查看nvcc -V 发现与cat一致。

为什么nvcc -V 与nvidia-smi不一致

因为cuda有两种API,分为运行API和驱动API,只要驱动API版本高于运行时API就没关系。nvidia-smi显示的是驱动API,nvcc -V显示的是运行时API。

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值