cuda 安装

简介

CUDA 是并行计算的平台和类C编程模型,我们能很容易的实现并行算法,就像写C代码一样。只要配备的NVIDIA GPU,就可以在许多设备上运行你的并行程序,无论是台式机、笔记本抑或平板电脑。熟悉C语言可以帮助你尽快掌握CUDA。

cuDNN 是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但是一般会采用这个加速库。

MXNet 是灵活且高效的深度学习库,其有点灵活,轻量,国人参与开发,文档齐全。

环境介绍

  1. 系统环境

    1
    2
    3
    4
    5
    6
    7
    8
    gt@yixue-pc:~$ cat /etc/lsb-release
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=18.04
    DISTRIB_CODENAME=bionic
    DISTRIB_DESCRIPTION="Ubuntu 18.04 LTS"

    gt@yixue-pc:~$ uname -m
    x86_64
  2. 显卡 显卡驱动版本查看
    这一步很重要,根据版本下载对应的安装文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    gt@yixue-pc:~$ cat /proc/driver/nvidia/version
    NVRM version: NVIDIA UNIX x86_64 Kernel Module 390.116 Sun Jan 27 07:21:36 PST 2019
    GCC version: gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04)

    gt@yixue-pc:~$ nvidia-smi
    Wed May 29 15:27:36 2019
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 390.116 Driver Version: 390.116 |
    |-------------------------------+----------------------+----------------------+
    | 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 Off | N/A |
    | 0% 30C P5 34W / 250W | 0MiB / 11175MiB | 3% Default |
    +-------------------------------+----------------------+----------------------+

    +-----------------------------------------------------------------------------+
    | Processes: GPU Memory |
    | GPU PID Type Process name Usage |
    |=============================================================================|
    | No running processes found |
    +-----------------------------------------------------------------------------+

    gt@yixue-pc:~$ lspci | grep -i nvidia
    01:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)
    01:00.1 Audio device: NVIDIA Corporation GP102 HDMI Audio Controller (rev a1)
    gt@yixue-pc:~$ lsmod | grep -i nvidia
    nvidia_uvm 757760 0
    nvidia_drm 40960 0
    nvidia_modeset 1048576 1 nvidia_drm
    nvidia 14376960 2 nvidia_uvm,nvidia_modeset
    drm_kms_helper 167936 1 nvidia_drm
    drm 401408 3 drm_kms_helper,nvidia_drm
    ipmi_msghandler 53248 2 ipmi_devintf,nvidia

ubuntu18.04 安装 cuda

  1. 环境准备

    • ubuntu 下载环境依赖

      1
      2
      3
      4
      5
      6
      7
      8
      # 一些依赖
      sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

      # 查看对应的驱动是否安装
      ubuntu-drivers devices

      # 自动安装推荐的驱动
      sudo ubuntu-drivers autoinstall
    • 下载cuda、cudann (根据环境下载对应的版本)
      cuda 下载
      cudnn 下载

  2. 安装

    • sh 安装 cuda

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      # gcc (ubuntu18.04 默认 gcc 7.4) 需要 4.8
      sudo apt-get install gcc-4.8
      sudo apt-get install g++-4.8

      cd /usr/bin

      sudo mv gcc gcc.bak #备份
      sudo ln -s gcc-4.8 gcc #重新链接

      sudo mv g++ g++.bak
      sudo ln -s g++-4.8 g++

      # 查看版本
      gcc -v
      g++ -v

      # 执行脚本
      sh cuda_9.0.176_384.81_linux.run
      sh cuda_9.0.176.1_linux.run
      sh cuda_9.0.176.2_linux.run
      sh cuda_9.0.176.3_linux.run
      sh cuda_9.0.176.4_linux.run
      # 根据提示选择安装 注意不要安装驱动

      # 验证版本
      gt@yixue-pc:~$ nvcc --version
      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

      # vim /etc/profile
      export PATH=$PATH:/usr/local/cuda-9.0/bin
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
      export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-9.0/lib64

      source /etc/profile
    • 安装 cudann

      1
      2
      3
      4
      5
      6
      # 解压
      tar xvzf cudnn-9.0-linux-x64-v7.6.0.64.tgz

      sudo cp cuda/include/cudnn.h    /usr/local/cuda/include      注意,解压后的文件夹名称为cuda ,将对应文件复制到 /usr/local中的cuda内
      sudo cp cuda/lib64/libcudnn*    /usr/local/cuda/lib64
      sudo chmod a+r /usr/local/cuda/include/cudnn.h   /usr/local/cuda/lib64/libcudnn*

卸载cuda

官方文档

1
root@yixue-pc:/usr/local/cuda/bin# ./cuda-uninstaller

参考资料

安装mxnet+显卡驱动+cuda9.1+cudnn7.1