Ubuntu16.04 + GPU Tesla V100 + CUDA + CuDNN

文章目录

  • 前置条件
  • 1. 基本概念
  • 2. 需要用到的文件
    • 2.1 驱动文件
    • 2.2 CUDA
    • 2.3 CUDNN
    • 2.4 Tensorflow
    • 2.5 版本配套关系
      • 2.5.1 显卡驱动版本号与CUDA版本号对应关系
      • 2.5.2 cuDNN版本和CUDA版本关系
      • 2.5.3 CUDA-cuDNN-TF的关系
    • 2.6 相关指导资料
  • 3. 环境准备和检查
  • 4. 安装驱动
    • 4.1 旧驱动检查
    • 4.2 安装驱动
    • 4.3 新驱动检查
    • 4.4 驱动卸载
  • 5. 安装CUDA
    • 5.1 安装前准备
    • 5.2 开始安装CUDA
    • 5.3 安装CUDA补丁
    • 5.4 添加环境变量
    • 5.5 检查
    • 5.6 卸载CUDA
  • 6. 安装tensorflow
    • 6.1 安装前的准备
    • 6.2 安装tensorflow
    • 6.3 检查gpu和cpu版本的tf
    • 6.4 卸载tensorflow
  • 7. 安装CUDNN
  • 8. 可能遇到的问题
  • 9. 参考

前置条件

  • 确认你的电脑上有一张支持CUDA的显卡
lspci | grep -i nvidia

只有英伟达的部分中高端显卡才支持CUDA,因此确认是英伟达的显卡之后,还要查看你的显卡型号是否包含在NVIDIA官网的CUDA GPUs列表里面,里面包含的显卡类型都支持CUDA.

  • 确认你安装的Linux发行版
    查看CUDA支持的Linux版本,确认你的系统是否支持.
uname -m && cat /etc/*release
  • 确认你的系统安装了gcc编译工具

这个条件一般情况下是满足的,因为一般的Linux发行版在安装系统时就默认安装了gcc,从这里查看。
运行CUDA程序的时候不需要gcc,但是在使用CUDA工具进行开发的时候需要用到它。可以在bash中输入以下命令确认:

gcc --version
  • 确认你的系统已经安装了正确的kernel headers and development packages
    在安装CUDA驱动前,必须要安装好与你的Linux系统内核版本相匹配的内核头和开发包。比如你的系统内核版本是3.17.4-301,那么你必须也要安装3.17.4-301版本的内核头和开发包。

使用以下命令确认你的系统内核版本:

uname -r

不同的操作系统,通过这里查看。

1. 基本概念

  1. CUDA:用于GPU编程的语言,跑TF的时候用了GPU,TF里面很多函数(或者依赖库)是CUDA语言编写的。不同TF版本需要不同的CUDA。
  2. cuDNN:NVIDIA为深度学习,矩阵运算写的一个加速库。CUDA版本必须和cuDNN版本匹配。cuDNN和TF版本匹配与否则无所谓(不过CUDA和TF版本必须匹配,所以cuDNN版本和TF版本是间接依赖关系)。
  3. TF:这个没什么好说的。个人经验,别用太新的,如果每次都用最新的,那么进而导致CUDA也要不断更新
  4. CUDA驱动版本:保持最新就好了,CUDA驱动版本要求和CUDA版本匹配,而CUDA又要求cuDNN/TF是匹配的。不过CUDA驱动版本是向下兼容的,所以保持最新就没事。输入nvidia-smi可以查看。

:建议先安装 CUDA,再安装 tensorflow ,最后安装 cuDNN,严格按照这个顺序装,可以避免返工,避免一步错就必须重装。


2. 需要用到的文件

2.1 驱动文件

下载地址:https://www.nvidia.com/download/index.aspx?lang=en-us

2.2 CUDA

下载地址: https://developer.nvidia.com/cuda-toolkit-archive
指导资料:

  • CUDA Installation Guide for Microsoft Windows;
  • NVIDIA CUDA Installation Guide for Linux
  • https://blog.csdn.net/baobei0112/article/details/79755803

2.3 CUDNN

下载地址: https://developer.nvidia.cn/rdp/cudnn-archive
下载地址: https://developer.nvidia.com/rdp/cudnn-download
指导资料: https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
下载账号密码: cudnndown@163.com;Cudnndown123。这个账号好像失效了。。。

查了下,提供另外一种方式:

来,告诉你不需要登录不需要问卷调查,直接使用apt管理的方法,apt不比下载安装更方便啊。
开放的apt repo,你进去直接下载当然也是可以的。
参考他们N家自己开的docker项目 nvidia / cuda照着它dockerfile里公开的地址,你直接添加到你的ubuntu中就可以。
Index of /compute/cuda/repos/ubuntu1604/x86_64下面是显卡驱动和cuda开发套件。
Index of /compute/machine-learning/repos/ubuntu1604/x86_64 下面是libcudnn和libnccl完美,他家的一切都在这儿了。

作者:任卫
链接:https://www.zhihu.com/question/37082272/answer/330575612
来源:知乎

2.4 Tensorflow

下载地址: https://pypi.tuna.tsinghua.edu.cn/simple;https://pypi.python.org/pypi/
windows whl源:https://www.lfd.uci.edu/~gohlke/pythonlibs/#tensorflow
指导资料:https://www.tensorflow.org/install/pip?hl=ko

2.5 版本配套关系

2.5.1 显卡驱动版本号与CUDA版本号对应关系

显卡驱动版本号与CUDA版本号对应关系

2.5.2 cuDNN版本和CUDA版本关系

cuDNN版本和CUDA版本关系

2.5.3 CUDA-cuDNN-TF的关系

官方资料:https://www.tensorflow.org/install/source#tested_build_configurations
第三方资料:https://blog.csdn.net/oMoDao1/article/details/83241074?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

2.6 相关指导资料

维护多个cuda版本: https://blog.csdn.net/xs11222211/article/details/84782046

  • Ubuntu 16.04+1080Ti机器学习基本环境配置:https://blog.csdn.net/MahoneSun/article/details/80808930
  • Ubuntu16.04环境GPU驱动和tensorFlow安装小结 :http://3ms.huawei.com/hi/group/3050921/wiki_4891955.html
  • Ubuntu18.04 Install Cuda、Cudnn、Tensorflow-gpu: https://blog.csdn.net/qq_34296627/article/details/82833172
  • 英伟达驱动卸载:https://blog.csdn.net/ezhchai/article/details/80536949
  • 显卡性能:https://developer.nvidia.com/cuda-gpus

3. 环境准备和检查

重要:

  1. 建议按照2.5章节,下载好对应自己目标GPU的cuda、驱动和cudnn版本。
  2. 装好相应版本的编译器等。

检查:
关闭图形界面:
(1) sudo systemctl set-default multi-user.target (启动时默认多用户文本界面)
sudo systemctl set-default graphical.target (启动时默认图形界面)
(2) 或者也可以使用,关闭:sudo service lightdm stop
恢复:sudo service lightdm stop
(3) 关闭显卡驱动:
创建:/etc/modprobe.d/blacklist-nouveau.conf
编辑:blacklist nouveau
执行: options nouveau modeset=0
保存退出执行:sudo update-initramfs –u
验证是否关闭:lsmod | grep nouveau
没有输出则表示屏蔽好了,如果仍有输出,可以尝试重启.

4. 安装驱动

4.1 旧驱动检查

如果有旧的驱动,要完全卸载后再安装新的驱动。
卸载方式: 见4.4章节。

4.2 安装驱动

sudo sh cuda_9.0.176_384.81_linux.run
显示pass 就基本没什么问题了。

4.3 新驱动检查

nvidia-smi
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WAnzlBA5-1593317635768)(http://image.huawei.com/tiny-lts/v1/images/3ae7726cc85a1e89e679_555x160.png@900-0-90-f.png)]

4.4 驱动卸载

停止 lighttdm : sudo service lightdm stop OR sudo /etc/init.d/lightdm stop
卸载:sudo /usr/bin/nvidia-uninstall OR sudo apt-get install autoremove --purge nvidia* OR sudo apt-get remove purge nvidia*
参考资料:https://blog.csdn.net/ezhchai/article/details/80536949

5. 安装CUDA

5.1 安装前准备

  1. 确认计算机有支持计算的GPU板卡:
    lspci | grep –i nvidia (刷新:update-pciids)
    uname -m && cat /etc/*release

  2. 确认计算机是否有正确的kernel headers 和 development packages:
    在安装cuda驱动时,安装的内核头和开发包必须和系统运行的内核版本相一致;

    在这里查看CUDA支持的内核版本:

  • Native Linux Distribution Support in CUDA 9.0

  • Native Linux Distribution Support in CUDA 10.2

  • 确认内核版本: uname -r

  • 然后根据你的系统内核版本使用apt命令安装对应的内核头和开发包。在ubuntu中使用以下命令
    sudo apt-get install linux-headers-$(uname -r)
    当然,如果你的系统本身就满足要求,输入这条命令不会安装新的东西。
    其他Linux发行版安装内核头和开发包的命令参考这儿。

【注意】 如果改变了系统内核,对应的内核头和开发包也必须做相应更改,否则cuda将无法使用;

  1. 确认 gcc版本是否符合要求,对应的 gcc 在这里查看。
    gcc --version

5.2 开始安装CUDA

安装有两种方式:run包 和 deb包; 下载界面有相关安装方式; 建议用第一种。

两种安装方式的优缺点:

  • 使用.run包的优点是支持更多的Linux发行版,不管是使用.deb格式的Ubuntu/Debian,还是使用.rpm格式的其他大多数Linux发行版;其缺点是无法更新Linux系统的本地包管理系统,也就是只能单机/stand alone安装,无法在线更新,而且只支持64位的系统。

  • 使用指定发行版的安装包的优缺点和使用.run包刚好相反。

注意: 如果安装过驱动了,cuda 这里装驱动的时候要选 no

前面已经手动安装了NVIDIA驱动,所以在安装cuda时,询问是否安装NVIDIA图形驱动时选择否;其他询问默认即可;

sudo sh cuda_.run (driver 选no).

5.3 安装CUDA补丁

sudo sh patch1.run
sudo sh patch2.run
sudo sh patch3.run
sudo sh patch4.run

5.4 添加环境变量

5.4.1 etc/profile

$ sudo /etc/profile

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

最后记得: source /etc/profile

5.4.2 ~/.bashrc
$ sudo ~/.bashrc

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

最后记得: source ~/.bashrc

5.4.3 移除之前禁用的内容
移除这个文件:/etc/modprobe.d/blacklist-nouveau.conf

5.4.4 重启

5.5 检查

nvcc –V

5.6 卸载CUDA

sudo /usr/local/cuda-8.0/bin/uninstall_cuda-8.0.pl根据自己安装的版本卸载。

6. 安装tensorflow

6.1 安装前的准备

python2 = 2.7,
python3 = 3.3-3.6,
pip == 20.x,
setuptools >=40.x,
Numpy == 1.16.0  版本太高否则会出现问题 6.5(pip3 install numpy==1.16.0)
# Numpy == 1.16.0这个版本适配 tensorflow==1.12.0版本; 其他版本的tensorflow不一定是这个版本兼容。

6.2 安装tensorflow

注:根据这个地址查看CUDA和CUDNN以及Tensorflow的版本配套关系,安装合适Tensorflow。


Google 官方教程: https://www.tensorflow.org/install/gpu

pip install tensorflow==1.15
pip3 install tensorflow-gpu==1.15

国内:

pip3 install tensorflow==1.12.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip3 install tensorflow-gpu==1.12.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/

建议:1. 换国内源快。2. cpu和gpu版本一致。

6.3 检查gpu和cpu版本的tf

import tensorflow as tf
matrix1 = tf.constant([[3., 3.]])
matrix2 = tf.constant([[2.],[2.]])
product = tf.matmul(matrix1, matrix2)
sess = tf.Session()
print(product)

OR

python -c "import tensorflow as tf; print(tf.__version__)"

这里如果有问题,别急,先把CUDNN装好再检查一遍就知道gpu版本的tf装好了。

6.4 卸载tensorflow

sudo pip_x uninstall tensorflow
sudo pip_x uninstall tensorflow_gpu

7. 安装CUDNN

很简单,把下载好的CUDNN拷贝到安装地址,解压添加环境变量就好,执行以下命令。

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/ -d
chmod a+r /usr/local/cuda/include/cudnn.h

8. 可能遇到的问题

  1. No devices were found https://devtalk.nvidia.com/default/topic/1050968/nvidia-smi-quot-no-devices-were-found-quot-ubuntu-18-04/?offset=1
    https://devtalk.nvidia.com/default/topic/1046442/linux/nvidia-smi-no-devices-were-found-/
  2. 安装tensorflow 很慢
pip install tensorflow == xxx  -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install tensorflow-gpu == xxx  -i https://pypi.tuna.tsinghua.edu.cn/simple/
  1. 查看cuda 和 cudnn的版本
    查看cuda 版本
    cat /usr/local/cuda/version.txt
    查看cudnn 版本
    cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR –A
  2. /usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/dtypes.py:523: FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,)type’._np_qint8 = np.dtype([(“qint8”, np.int8, 1)])
    https://www.cnblogs.com/youpeng/p/11732790.html
  3. Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
    https://blog.csdn.net/hq86937375/article/details/79696023
  4. Pip安装很慢:更换pip源
su root
cd /
mkdir .pip
cd .pip
vim pip.conf
文件内容:
[global]
index-url =https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
  1. 卸载之后,重启一下。可以看到分辨率有所不同
    https://blog.csdn.net/ezhchai/article/details/69663082中描述的方法,重新安装cuda9.0和cudnn7.0即可。

9. 参考

NVLink 和 NVSwitch 区别和规格
tensorflow各个版本的CUDA以及Cudnn版本对应关系

GPU环境部署:Ubuntu16.04 + GPU Tesla V100 + CUDA + CuDNN相关推荐

  1. 深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow

    http://f.dataguru.cn/thread-660774-1-1.html 发表于 2016-7-20 09:04 | 只看该作者 |倒序浏览 |阅读模式 深度学习主机环境配置: Ubun ...

  2. 从零开始搭建深度学习服务器: 基础环境配置(Ubuntu + GTX 1080 TI + CUDA + cuDNN)

    从零开始搭建深度学习服务器: 基础环境配置(Ubuntu + GTX 1080 TI + CUDA + cuDNN) 首先先声明一下 这篇是转载来自  : 从零开始搭建深度学习服务器: 基础环境配置( ...

  3. ubuntu22.04安装显卡驱动+cuda+cudnn

    ubuntu22.04安装显卡驱动+cuda+cudnn 1. 下载驱动和卸载.禁用自带驱动程序 1.1 查看系统显卡型号 1.2 从NVIDIA官网下载相应驱动 1.3 卸载Ubuntu自带的驱动程 ...

  4. 干货|TensorFlow开发环境搭建(Ubuntu16.04+GPU+TensorFlow源码编译)

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习算法工程师 安装平台 1 平台 目前Tensor ...

  5. 深度学习环境配置Ubuntu16.04+CUDA8.0+CuDNN+Anaconda2+openCV2.4.9+caffe(全离线GPU版)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Bernice_lying [前言] 深度学习燎原之势势不可当,现在很多现场使用深度方法的比赛需要自行 ...

  6. anaconda tensorflow 2.3_TensorFlow开发环境搭建(Ubuntu16.04+GPU+TensorFlow源码编译)

    1 安装选择 1.1 平台 目前TensorFlow已支持Mac.Ubuntu和Windows三个主流平台(64位平台), 1.2 GPU vs CPU 在安装时可以选择安装版本是否支持GPU, 1. ...

  7. Pycharm基本使用与GPU环境部署

    一.基本配置 我们安装好PyCharm后,首先要进行一些小配置,比如主题,字体,字体颜色等. 我们打开PyCharm后,点开file,找到Setting 然后就会跳出Setting的窗口 可以说PyC ...

  8. 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080/980ti+CUDA8.0

    8月份的时候折腾tensorflow,在ubuntu上安装nvdia显卡驱动一直有问题,没有折腾好,今天看到这篇文章,起到了一定的帮助,记录一下. bing上搜索关键字,一定要搜索 ubuntu 16 ...

  9. gtx1080 matlab,深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0

    这个系列写了好几篇文章,这是相关文章的索引,仅供参考: 接上文<深度学习主机攒机小记>,这台GTX1080主机准备好之后,就是配置深度学习环境了,这里选择了比较熟悉Ubuntu系统,不过是 ...

最新文章

  1. python scale 窗口部件 使用_Tkinter介绍及教学-Python教学【StudyQuant-Python量化投资课堂】...
  2. java防止表单二次提交_防止表单重复提交
  3. Linux 开机文件系统发生错误
  4. LUA和C#关于字符串中\0的处理
  5. 【.Net Micro Framework PortingKit - 08】GPIO驱动
  6. adb push ,adb pull和adb install的区别
  7. python3什么意思_python3是什么意思啊
  8. 【43】学习处理模版化基类内的名称
  9. Xv6 Page Table
  10. python足球数据分析_我用Python对科比NBA生涯进行了一个数据分析
  11. 优启通制作系统u盘_优启通 v3.6.2020.0620 VIP版/免费版-好用的U盘启动盘制作工具...
  12. ADB 环境变量配置教学
  13. 第一台计算机英语句子,20个虚拟语气句子带翻译
  14. [荐][转]如何用美剧真正提升你的英语水平
  15. 从零构建通讯器--4.3日志打印实战,捋下main函数的调用顺序
  16. 【VINS-MONO测试】安卓手机采集mono+imu数据
  17. ThinkPHP6 预防XSS攻击的一点小建议
  18. remote-incorrect-username-or-password-access-token
  19. 小米AX9000安装docker的Portainer面板从社区版升级到商业版参考
  20. iOS 开发国外的一些网站

热门文章

  1. easyui datagrid自动换行行号自动变高
  2. coolpad(酷派)真机测试logcat打印日志输出level级别设置
  3. erlang项目常见OTP行为模式
  4. 喜报销发布V2.6.1,领导审批可选择“加签”人,已审批单据可“作废”
  5. 人工智能应用(二):从“估车价”看机器学习
  6. nodejs用egg框架实现图片上传
  7. 笔记本电脑彻底删除硬盘数据
  8. springboot使用注解作为切点
  9. UI界面中的图标设计趋势与最佳实践
  10. [开源工具]Win10-87键盘如何使用数字小键盘功能?