Ubuntu16.04安装Nvidia驱动cuda,cudnn和tensorflow-gpu

2024-08-28 11:32

本文主要是介绍Ubuntu16.04安装Nvidia驱动cuda,cudnn和tensorflow-gpu,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 本文个人博客地址: 点击查看
  • 之前有在阿里云GPU服务器上弄过: 点击查看, 这里从装Nvidia开始

一、 安装Nvidia驱动

1.1 查找需要安装的Nvidia版本

1.1.1 官网
  • 官网上查找: https://www.nvidia.com/Download/index.aspx?lang=en-us
    • 这里是 GeForce GTX 1080 TI
    • 如下图,推荐 410 版本的

GPU对应nvidia版本

GPU对应驱动版本

1.1.2 命令行查看推荐驱动
  • 查看驱动:ubuntu-drivers devices, 如下图
ubuntu@ubuntu-System-Product-Name:~$ ubuntu-drivers devices
== cpu-microcode.py ==
driver   : intel-microcode - distro free== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
vendor   : NVIDIA Corporation
modalias : pci:v000010DEd00001B06sv00001458sd0000374Dbc03sc00i00
driver   : nvidia-410 - third-party free recommended
driver   : nvidia-384 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin
driver   : nvidia-390 - third-party free
driver   : nvidia-396 - third-party free
  • 注意这里添加了ppa, 若是没有,可能最新的只有nvidia-384, 但是若想安装cuda-9.0 需要大于384.81, 不然后面安装tensorflow-gpu 之后也会报错
    • 图片对应网址:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

cuda版本对应nvidia版本

  • 添加 ppa:
    • sudo add-apt-repository ppa:graphics-drivers/ppa (注意联网,去掉代理)
    • sudo apt update
  • 然后执行ubuntu-drivers devices就可以看到如上的结果
  • 安装:
    • 可能需要的依赖:sudo apt install dkms build-essential linux-headers-generic
    • 有些可能需要禁用nouveau模块,查看:https://blog.csdn.net/u012235003/article/details/54575758
    • sudo apt-get install linux-headers-$(uname -r)
    • sudo apt install nvidia-410
    • 重启机器
  • 查看:
    • nvidia-smi
    • 显示如下结果
(wangyongzhi_ml) ubuntu@ubuntu-System-Product-Name:/usr/local/cuda-10.0/bin$ nvidia-smi
Thu Oct 25 15:49:46 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.66       Driver Version: 410.66       CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:01:00.0  On |                  N/A |
|  0%   44C    P8    20W / 250W |     42MiB / 11174MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX 108...  Off  | 00000000:02:00.0 Off |                  N/A |
|  0%   50C    P8    20W / 250W |      2MiB / 11178MiB |      0%      Default |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0       949      G   /usr/lib/xorg/Xorg                            39MiB |
+-----------------------------------------------------------------------------+

二、安装cuda

  • 官网: https://developer.nvidia.com/cuda-toolkit-archive
  • 选择想要安装的版本,这里选择的是cuda-9.0, 下载
  • 安装
    • chmod +x cuda_9.0.176_384.81_linux-run
    • sudo ./cuda_9.0.176_384.81_linux-run
    • 根据提示安装选择即可
    • 添加环境变量
      • vim ~/.bashrc
      • 加入环境变量
# cuda9.0
export PATH=/usr/local/cuda-9.0/bin/:$PATH;
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/:$LD_LIBRARY_PATH;
  • 测试1
    • nvcc -V
    • 如下图,版本为V9.0.176
(wangyongzhi_ml) ubuntu@ubuntu-System-Product-Name:~/wangyongzhi/software$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
  • 测试2
    • 如果上面安装过程中选择了安装Examples, 会在 ~ 文件夹下生成测试NVIDIA_CUDA-9.0_Samples 的文件
    • 进入: cd NVIDIA_CUDA-9.0_Samples
    • make
    • 进入 NVIDIA_CUDA-9.0_Samples/bin/x86_64/linux/release 文件夹
      • 执行: ./deviceQuery, 可以看到类似如下信息
./deviceQuery Starting...CUDA Device Query (Runtime API) version (CUDART static linking)Detected 2 CUDA Capable device(s)Device 0: "GeForce GTX 1080 Ti"CUDA Driver Version / Runtime Version          10.0 / 9.0CUDA Capability Major/Minor version number:    6.1Total amount of global memory:                 11174 MBytes (11717181440 bytes)(28) Multiprocessors, (128) CUDA Cores/MP:     3584 CUDA CoresGPU Max Clock rate:                            1683 MHz (1.68 GHz)Memory Clock rate:                             5505 MhzMemory Bus Width:                              352-bitL2 Cache Size:                                 2883584 bytesMaximum Texture Dimension Size (x,y,z)         1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layersMaximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layersTotal amount of constant memory:               65536 bytesTotal amount of shared memory per block:       49152 bytesTotal number of registers available per block: 65536Warp size:                                     32Maximum number of threads per multiprocessor:  2048Maximum number of threads per block:           1024

三、安装cudnn

  • 官网:https://developer.nvidia.com/rdp/cudnn-download
  • 选择cuda对应的版本, 我的选择如下图

cudnn版本

  • 安装
    • tar -zxvf cudnn-9.0-linux-x64-v7.3.1.20.tgz
    • 将解压得到的cuda 文件夹下的内容拷贝到对应的 /usr/local/cuda-9.0文件夹下即可

四、安装Anaconda和tensorflow-gpu

  • 官网: https://www.anaconda.com/download/#linux
  • 下载安装即可,我这里选择的是 python3.7 版本
  • 安装之后添加到环境变量:
# anaconda3
export PATH=/home/ubuntu/anaconda3/bin:$PATH
  • 创建虚拟环境,防止污染他人使用环境

    • conda create -n xxx python-3.6
    • conda install tensorflow-gpu
  • 测试

import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
  • 打印如下信息:
2018-10-25 16:25:35.683507: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1405] Found device 0 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.683
pciBusID: 0000:01:00.0
totalMemory: 10.91GiB freeMemory: 10.72GiB
2018-10-25 16:25:35.783459: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:897] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2018-10-25 16:25:35.783843: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1405] Found device 1 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.683
pciBusID: 0000:02:00.0
totalMemory: 10.92GiB freeMemory: 10.76GiB
2018-10-25 16:25:35.784321: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1484] Adding visible gpu devices: 0, 1
2018-10-25 16:25:36.069610: I tensorflow/core/common_runtime/gpu/gpu_device.cc:965] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-10-25 16:25:36.069634: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971]      0 1
2018-10-25 16:25:36.069637: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] 0:   N Y
2018-10-25 16:25:36.069639: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] 1:   Y N
2018-10-25 16:25:36.069852: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1097] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10367 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1)
2018-10-25 16:25:36.101498: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1097] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:1 with 10409 MB memory) -> physical GPU (device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:02:00.0, compute capability: 6.1)
Device mapping:
/job:localhost/replica:0/task:0/device:GPU:0 -> device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1
/job:localhost/replica:0/task:0/device:GPU:1 -> device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:02:00.0, compute capability: 6.1
2018-10-25 16:25:36.134430: I tensorflow/core/common_runtime/direct_session.cc:288] Device mapping:
/job:localhost/replica:0/task:0/device:GPU:0 -> device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1
/job:localhost/replica:0/task:0/device:GPU:1 -> device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:02:00.0, compute capability: 6.1

五、 多个cuda版本切换

  • 安装cuda-9.0 会在 /usr/local/ 目录下
    • 如下图,它会创建一个软连接指向了 /usr/local/cuda-9.0/
(wangyongzhi_ml) ubuntu@ubuntu-System-Product-Name:/usr/local$ ll
总用量 48
drwxr-xr-x 12 root root 4096 10月 25 14:51 ./
drwxr-xr-x 13 root root 4096 10月 25 09:39 ../
drwxr-xr-x  2 root root 4096 4月  21  2016 bin/
lrwxrwxrwx  1 root root   19 10月 25 00:41 cuda -> /usr/local/cuda-9.0/
drwxr-xr-x 19 root root 4096 10月 25 14:52 cuda-10.0/
drwxr-xr-x 18 root root 4096 10月 25 00:41 cuda-9.0/
drwxr-xr-x  2 root root 4096 4月  21  2016 etc/
drwxr-xr-x  2 root root 4096 4月  21  2016 games/
drwxr-xr-x  2 root root 4096 4月  21  2016 include/
drwxr-xr-x  4 root root 4096 4月  21  2016 lib/
lrwxrwxrwx  1 root root    9 10月 24 14:52 man -> share/man/
drwxr-xr-x  2 root root 4096 4月  21  2016 sbin/
drwxr-xr-x  8 root root 4096 4月  21  2016 share/
drwxr-xr-x  2 root root 4096 4月  21  2016 src/
  • 所以正常安装cuda 其他版本,然后创建软连接指向对应的版本即可
sudo rm -rf cuda
sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda

Reference

  • https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

  • https://blog.csdn.net/u012235003/article/details/54575758

这篇关于Ubuntu16.04安装Nvidia驱动cuda,cudnn和tensorflow-gpu的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114638

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP