ubuntu16.04+cuda9.0+cudnn7.1.4环境搭建

ubuntu16.04+cuda9.0+cudnn1.7.1环境搭建

安装Ubuntu16.04

  • TUNA下载Ubuntu镜像
  • 利用大白菜将Ubuntu镜像刻录到U盘,制作成启动盘
  • 安装时将Ubuntu分成以下几个区
    • /boot :400Mb
    • swap:和内存大小相同
    • /:余下空间
  • Ubuntu 的软件源配置文件是 /etc/apt/sources.list。将系统自带的该文件做个备份,将该文件替换为下面内容,即可使用 TUNA 的软件源镜像。
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

安装CUDA9.0

  • 下载CUDA9.0
  • 卸载已有nvidia驱动
sudo apt-get autoremove --purge nvidia-*
  • 下载完成后
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub   #添加key
sudo apt update
sudo apt -y install cuda
sudo dpkg -i 其他补丁
  • 添加环境变量。打开/etc/profile文件,将如下内容加入文件末尾
export CUDA_HOME=/usr/local/cuda-9.0
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

使用如下命令使profile文件立刻生效,不然重启后才会生效

source /etc/profile
  • 输入nvcc -v看到相应的nvcc编译器信息,那么CUDA配置成功
  • 使用sudo prime-select intel/nvidia可以切换使用集成显卡和独立显卡,使用prime-select query可以查询当前使用的显卡,使用nvidia-smi命令可以查看独立显卡使用情况
  • 修改.bashrc文件,在环境变量LD_LIBRARY_PATH中添加路径/usr/local/cuda/lib64:/usr/lib/nvidia-XXX其中XXX是nvidia显卡驱动号,如nvidia-375。添加后即便sudo prime-select intel使用集成显卡,也可以使用独立显卡进行CUDA运算,此时可使用独立显卡的全部运算资源。
  • 重新启动计算机。重启后可能出现循环启动的问题,要么是安装的驱动版本不对,要么是bios上关于显卡的设置不对,可以在bios上设成只用intel显卡或只用nvidia显卡

设置关机时自动切换成集成显卡

关机时自动切换成集成显卡可以保证下次开机时能够使用nvidia显卡的全部运算能力
* 进入目录cd /etc/init.d/
* 创建脚本sudo gedit intel-gpu
* 输入以下内容

#!/bin/bash
# /etc/init.d/intel-gpu

### BEGIN INIT INFO
# Provides:          intel-gpu
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Selects the intel GPU over the NVIDIA
### END INIT INFO

case "$1" in 
    start)
        ;;
    stop)
        /usr/bin/prime-select intel
        ;;
    *)
        echo "Usage: /etc/init.d/intel-gpu start|stop"
        exit 1
        ;;
esac

exit 0
  • 添加运行权限sudo chmod +x /etc/init.d/intel-gpu
  • 注册自动运行服务sudo update-rc.d intel-gpu defaults

安装cuDNN7.1.4

  • 下载cuDNN7.1.4。需要先注册一个账号,如果是使用python的话,下载Runtime就行了
    这里写图片描述
  • 安装cuDNN:sudo dpkg -i cuDNN文件.deb

安装Anaconda

  • 下载Anaconda*.sh文件
  • 添加运行权限sudo chmod+x anaconda文件.sh
  • 安装./anaconda文件.sh
  • 将anaconda文件目录的所有权改成当前用户,安装完时可能会是root:root,这会导致后面安装一些包没有权限而失败。sudo chown -R 用户:用户 anaconda目录
  • 参照TUNA说明添加Anaconda源。默认源在国外可能比较慢。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

安装pytorch

  • conda search pytorch查找适合的pytorch版本
  • conda install pytorch=0.4.1=py36_cuda90_cudnn7he774522_1安装特定版本的特定编译版pytorch
  • 测试cuda运算
import torch
torch.cuda.is_available()

参考文献

发布了22 篇原创文章 · 获赞 21 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/liucc09/article/details/82731517
今日推荐