ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

非root用户安装cuda、cudnn(for tensorflow==2.1.0,CUDA 10.1,cuDNN 7.6.5)

2020-03-02 20:37:56  阅读:1513  来源: 互联网

标签:10.1 root cuDNN cuda 服务器 PATH 安装


为何有这种需求:

  • 服务器上非root账户;
  • hanlp以tensorflow2.0+为基础;
  • 服务器原有cuda版本9.0,cudnn7.1.3,均不符tensorflow2.1.0要求,无法启动GPU运算

踩坑合集

1.上官网下载与tensorflow=2.1.0对应的cuda(cuda 10.1)

甩链接:https://developer.download.nvidia.cn/compute/cuda/10.1/secure/Prod/local_installers/cuda_10.1.105_418.39_linux.run?UUvkAs5eLLflJ9-SZeJcpjj1RqWq8jb840M4qQTJu9iakJQX4SeKmj7_KYRXeSj6VtgRRmNHzHEhNfWTagv9-yq4uvAWixZNxv7zJrULNG2ij7tzxqAtM6c20aoO9jqHJXVwZG-t-3b5eIWWA-9PbLOfTROELXFlzwgZBsiz9P4wkIbGIObwz2ab2KU

甩图:

 

坑1:

我是在本机完成下载之后将运行文件.run上传到服务器的(怕服务器太慢,结果发现是我多虑了,服务器下载速度快),结果使用winscp传输后,在服务器直接运行

sh cuda*.run 

直接报错:

gzip: stdin: unexpected end of file
Extraction failed.
Ensure there is enough space in /tmp and that the installation package is not corrupt
Signal caught, cleaning up

多次查找问题后发现其实是个白痴原因导致该错误:我在将本地文件上传服务器时,在winscp里直接将文件拖拽过去了。如果老老实实选择“上传”这种正规操作,就没有这种问题了。当然,如果你直接把文件下载到服务器,你也不会遇到这种问题。。。

 

安装过程中情况较为复杂。由于我本人没有root权限,故整个过程参考https://blog.csdn.net/hizengbiao/article/details/88625044,亲测有效。在安装过程中,因为没有root权限所以略去了对NVIDIA显卡驱动的安装(或升级)。但这里埋下一个隐患,那就是,对于CUDA 10.1而言,显卡驱动至少应该在>= 418.39以上。当前这个数值怎么查看?输入命令`nvidia-smi`,driver version对应的数字就是。

如果你的驱动没有达标,运行tensorflow的时候程序一般会这样提示你:

cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version

 

安装后截图:

2.下载和tf=2.1.0对应的cuDNN(7.6.5)并安装

  • cuDNN下载页面:https://developer.nvidia.com/cudnn
  • 注意,点击「Download cuDNN」之后,会让你注册并填写一个survey。耐着性子填完吧!注册和登录的地方,或许有的地方会被墙,或者至少也是在不翻墙的情况下很龟速,如果你打不开页面,可以想想是不是应该翻墙

 

  • 下载好cuDNN文件后,发现后缀是.solitairetheme8,直接按照.tar解压。然后将解压得到的结果,按照以下方式复制粘贴到cuda-10.1的安装目录下:
cp ~/cuda/cuda-10.1/cuDNN/include/cudnn.h ~/cuda/cuda-10.1/include
cp ~/cuda/cuda-10.1/cuDNN/lib64/lib* ~/cuda/cuda-10.1/lib64

chmod a+r ~/cuda-10.0/include/cudnn.h ~/cuda-10.0/lib64/libcudnn*

*注:`~/cuda/cuda-10.1/cuDNN/`是我cuDNN文件解压所在的位置;~/cuda/cuda-10.1/是我运行`sh cuda*.run`安装cuda 10.1的位置。我们这一通复制粘贴,就是为了把cuDNN的文件放到CUDA目录下。

  • 之后建立软链接:
cd ~/cuda/cuda-10.1/lib64
ln -sf libcudnn.so.7.6.4 libcudnn.so.7
ln -sf libcudnn.so.7 libcudnn.so
ldconfig -v
  • 最重要的:在.bashrc文件里配置路径(我的家目录为/home/shenfei1,改成你的)
export PATH=/home/shenfei1/cuda/cuda-10.1/bin${PATH:+:${PATH}}  
export LD_LIBRARY_PATH=/home/shenfei1/cuda1/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

修改之后,执行`source ~/.bashrc`使之生效。

  1. 验证nvcc版本,看看安装是否成功

$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Fri_Feb__8_19:08:17_PST_2019
Cuda compilation tools, release 10.1, V10.1.105

  注意最后一行release 10.1, V10.1.105。若nvcc命令找不到,说明中间安装有误

illusion_小驴 发布了56 篇原创文章 · 获赞 87 · 访问量 12万+ 私信 关注

标签:10.1,root,cuDNN,cuda,服务器,PATH,安装
来源: https://blog.csdn.net/weixin_41712499/article/details/104618529

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有