(转)深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0

 

 

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

发表于2016年07月15号52nlp

接上文《深度学习主机攒机小记》,这台GTX1080主机准备好之后,就是配置深度学习环境了,这里选择了比较熟悉Ubuntu系统,不过是最新的16.04版本,另外在Nvidia GTX1080的基础上安装相关GPU驱动,外加CUDA8.0,因为都比较新,所以踩了很多坑。

1. 安装Ubuntu16.04

不考虑双系统,直接安装 Ubuntu16.04,从ubuntu官方下载64位版本: ubuntu-16.04-desktop-amd64.iso 。

在MAC下制作了 Ubuntu USB 安装盘,具体方法可参考: 在MAC下使用ISO制作Linux的安装USB盘,之后通过Bios引导U盘启动安装Ubuntu系统:

1)一开始安装就踩了一个坑,选择”Install Ubuntu”回车后过一会儿屏幕显示“输入不支持”,google了好多方案,最终和ubuntu对显卡的支持有关,需要手动添加显卡选项: nomodeset,使其支持Nvidia系列显卡,参考:安装ubuntu黑屏问题的解决 or How do I set ‘nomodeset’ after I’ve already installed Ubuntu?

2) 磁盘分区,全部干掉之前主机自带的Window 10系统,分区为 /boot, /, /home 等几个目录,同时把第二块4T硬盘也挂载了上去,作为数据盘。

3)安装完毕后Ubuntu 16.04的分辨率很低,在显卡驱动未安装之前,可以手动修改一下grub文件:

sudo vim /etc/default/grub

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo’
#GRUB_GFXMODE=640×480
# 这里分辨率自行设置
GRUB_GFXMODE=1024×768

sudo update-grub

4)安装SSH Server,这样可以远程ssh访问这台GTX1080主机:

sudo apt-get install openssh-server

5)更新Ubuntu16.04源,用的是中科大的源

cd /etc/apt/
sudo cp sources.list sources.list.bak
sudo vi sources.list

把下面的这些源添加到source.list文件头部:

deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

最后更新源和更新已安装的包:

sudo apt-get update
sudo apt-get upgrade

2. 安装GTX1080驱动

安装 Nvidia 驱动 367.27

sudo add-apt-repository ppa:graphics-drivers/ppa

第一次运行出现如下的警告:

Fresh drivers from upstream, currently shipping Nvidia.

## Current Status

We currently recommend: `nvidia-361`, Nvidia’s current long lived branch.
For GeForce 8 and 9 series GPUs use `nvidia-340`
For GeForce 6 and 7 series GPUs use `nvidia-304`

## What we’re working on right now:

– Normal driver updates
– Investigating how to bring this goodness to distro on a cadence.

## WARNINGS:

This PPA is currently in testing, you should be experienced with packaging before you dive in here. Give us a few days to sort out the kinks.

Volunteers welcome! See also: https://github.com/mamarley/nvidia-graphics-drivers/

http://www.ubuntu.com/download/desktop/contribute
更多信息: https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa
按回车继续或者 Ctrl+c 取消添加

回车后继续:

sudo apt-get update
sudo apt-get install nvidia-367
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev

之后重启系统让GTX1080显卡驱动生效。

3. 下载和安装CUDA

在安装CUDA之前,google了一下,发现在Ubuntu16.04下安装CUDA7.5问题多多,幸好CUDA8已出,支持GTX1080:

New in CUDA 8

Pascal Architecture Support
Out of box performance improvements on Tesla P100, supports GeForce GTX 1080
Simplify programming using Unified memory on Pascal including support for large datasets, concurrent data access and atomics*
Optimize Unified Memory performance using new data migration APIs*
Faster Deep Learning using optimized cuBLAS routines for native FP16 computation
Developer Tools
Quickly identify latent system-level bottlenecks using the new critical path analysis feature
Improve productivity with up to 2x faster NVCC compilation speed
Tune OpenACC applications and overall host code using new profiling extensions
Libraries
Accelerate graph analytics algorithms with nvGRAPH
New cuBLAS matrix multiply optimizations for matrices with sizes smaller than 512 and for batched operation

不过下载CUDA需要注册和登陆NVIDIA开发者账号,CUDA8下载页面提供了很详细的系统选择和安装说明,

这里选择了Ubuntu16.04系统runfile安装方案,千万不要选择deb方案,前方无数坑:

下载的“cuda_8.0.27_linux.run”有1.4G,按照Nivdia官方给出的方法安装CUDA8:

sudo sh cuda_8.0.27_linux.run --tmpdir=/opt/temp/

这里加了–tmpdir主要是直接运行“sudo sh cuda_8.0.27_linux.run”会提示空间不足的错误,其实是全新的电脑主机,硬盘足够大的,google了以下发现加个tmpdir就可以了:

Not enough space on parition mounted at /.
Need 5091561472 bytes.

Disk space check has failed. Installation cannot continue.

执行后会有一系列提示让你确认,非常非常非常非常关键的地方是是否安装361这个低版本的驱动:

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?

答案必须是n,否则之前安装的GTX1080驱动就白费了,而且问题多多。

Logging to /opt/temp//cuda_install_6583.log
Using more to view the EULA.
End User License Agreement
————————–

Preface
——-

The following contains specific license terms and conditions
for four separate NVIDIA products. By accepting this
agreement, you agree to comply with all the terms and
conditions applicable to the specific product(s) included
herein.

Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?
(y)es/(n)o/(q)uit: n

Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]:

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y

Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y

Enter CUDA Samples Location
[ default is /home/textminer ]:

Installing the CUDA Toolkit in /usr/local/cuda-8.0 …
Installing the CUDA Samples in /home/textminer …
Copying samples to /home/textminer/NVIDIA_CUDA-8.0_Samples now…
Finished copying samples.

===========
= Summary =
===========

Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /home/textminer

Please make sure that
– PATH includes /usr/local/cuda-8.0/bin
– LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
To install the driver using this installer, run the following command, replacing with the name of this run file:
sudo .run -silent -driver

Logfile is /opt/temp//cuda_install_6583.log

安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:

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

最后再来测试一下CUDA,运行:

nvidia-smi

结果如下所示:

再来试几个CUDA例子:

cd 1_Utilities/deviceQuery
make

这里如果提示gcc版本过高,可以安装低版本的gcc并做软连接替换,具体方法请自行google,我用低版本的gcc4.9替换了ubuntu16.04自带的gcc5.x版本。

“/usr/local/cuda-8.0″/bin/nvcc -ccbin g++ -I../../common/inc -m64 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_60,code=compute_60 -o deviceQuery.o -c deviceQuery.cpp
“/usr/local/cuda-8.0″/bin/nvcc -ccbin g++ -m64 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_60,code=compute_60 -o deviceQuery deviceQuery.o
mkdir -p ../../bin/x86_64/linux/release
cp deviceQuery ../../bin/x86_64/linux/release

执行 ./deviceQuery ,得到:

./deviceQuery Starting…

CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: “GeForce GTX 1080”
CUDA Driver Version / Runtime Version 8.0 / 8.0
CUDA Capability Major/Minor version number: 6.1
Total amount of global memory: 8112 MBytes (8506179584 bytes)
(20) Multiprocessors, (128) CUDA Cores/MP: 2560 CUDA Cores
GPU Max Clock rate: 1835 MHz (1.84 GHz)
Memory Clock rate: 5005 Mhz
Memory Bus Width: 256-bit
L2 Cache Size: 2097152 bytes
Maximum 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 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 2 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GTX 1080
Result = PASS

再测试试一下nobody:

cd ../../5_Simulations/nbody/
make

执行:

./nbody -benchmark -numbodies=256000 -device=0

得到:

> Windowed mode
> Simulation data stored in video memory
> Single precision floating point simulation
> 1 Devices used for simulation
gpuDeviceInit() CUDA Device [0]: “GeForce GTX 1080
> Compute 6.1 CUDA device: [GeForce GTX 1080]
number of bodies = 256000
256000 bodies, total time for 10 iterations: 2291.469 ms
= 286.000 billion interactions per second
= 5719.998 single-precision GFLOP/s at 20 flops per interaction

参考:
Nvidia GTX 1080 on Ubuntu 16.04 for Deep Learning
Ubuntu 16.04下安装Tensorflow(GPU)
ubuntu16.04安装 cuda7.5
Ubuntu16.04无法安装CUDA吗?
Ubuntu16.04+matlab2014a+anaconda2+OpenCV3.1+caffe安装
ubuntu 16.04 编译opencv3.1,opencv多版本切换
TensorFlow, Caffe, Chainer と Deep Learning大御所を一気に source code build で GPU向けに setupしてみた
feature request: support for cuda 8.0 rc
GTX 1080 CUDA performance on Linux (Ubuntu 16.04) preliminary results (nbody and NAMD)
Anyone able to run Tensorflow with 1070/1080 on Ubuntu 16.04/15.10/15.04?
Tensorflow on Ubuntu 16.04 with Nvidia GTX 1080

注:原创文章,转载请注明出处及保留链接“我爱自然语言处理”:http://www.52nlp.cn

本文链接地址:深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0http://www.52nlp.cn/?p=9226

相关文章:

  1. 深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow
  2. 深度学习主机攒机小记
  3. Mecab安装过程中的一些坑
  4. Ubuntu 64位系统下SRILM的配置详解
  5. Ubuntu8.10下moses测试平台搭建全记录
  6. 安装Srilm的一点新变化
  7. 翻译记忆产品小结
  8. Moses的一些新变化
  9. 斯坦福大学深度学习与自然语言处理第三讲:高级的词向量表示
  10. 基于哈希表和二叉树的词典研究(一)

 

 



 

 

  以上就是转载过来的博文,根据我的经验来看,其实 不是显卡驱动难装,也不是cuda 包不好用。

  你之所以会总是把你的系统装死机,或者在屏幕那里卡死,进不去系统。因为你安装的系统是 16.04, 实话跟你说吧,这个系统我觉得尚不完善,

  有很多漏洞,比如说:没有很好的支持 .deb 文件的安装,安装驱动总是卡死的情况。

 

  我在这里纠结了很久,一直觉得,哇,GTX 1080显卡哦,那得上 Ubuntu 16.04 才配得上这个卡啊,呵呵了。。。

  其实, Ubuntu 14.04 就够用了,我自己后来实在是受不了,在这里折腾了几天后,就安心的换回 麒麟14.04 了。。。

  依旧用的是 cuda 8.0 .deb 文件,就是简单的三个步骤:

  sudo dpkg -i ./cuda 8.0 ~.deb 

  sudo apt-get update

  sudo apt-get install cuda

 

   然后,看一下是否安装成功: nvidia-smi 

  当弹出成功的界面时,就可以重启机器,然后直接安装配置其他环境就可以了。根本不需要这么多烦恼。。。 

 

  总结起来就是:Fuck the 16.04 and the Ubuntu 14.04 Kylin will be your best choice ! 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

时间: 2024-09-21 00:05:43

(转)深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0的相关文章

个人学习oracle 环境配置

问题描述 个人学习oracle 环境配置 在家练习oracle,笔记本式i3,2G内存,320硬盘,现在要装这样的环境可以吗 Windows7+vmware workstation8.0+centos6.3+oracle11g,谁有安装笔记或文档帮忙提供份,网上看到的都是不完整的,还有VM SERVER和VM workstation的选择,这种情况下要怎么配置虚拟机的环境啊,比如内存硬盘都要留多少啊,才能满足oracle的学习? 解决方案 没事,直接装电脑里面吧!不要虚拟机,要不然你大脑更卡,虚

手把手教你安装深度学习软件环境(附代码)

为了进行强化学习研究,我最近购置了一台基于 Ubuntu 和英伟达 GPU 的深度学习机器.尽管目前在网络中能找到一些环境部署指南,但目前仍然没有全面的安装说明.另外,我也不得不阅读了很多文档来试图理解安装细节--其中的一些并不完整,甚至包含语法错误.因此,本文试图解决这个问题,提供一个详尽的软件环境安装指南. 本文将指导你安装 操作系统(Ubuntu) 4 种驱动和库(GPU 驱动.CUDA.cuDNN 和 pip) 5 种 Python 深度学习库(TensorFlow.Theano.CNT

java中学习笔记(环境配置、Hello World)

一.java开发环境的安装与配置 1.下载JDK. 2.安装JDK.注意在安装时安装路径中不要有空格,例如安装路径为:D:Javajdk1.6.0_30. 3.设置环境变量.可以是用户变量,也可以是系统变量.主要设置内容有:JAVA_HOME.PATH.CLASSPATH,如果没有则新建,如果有就编辑. JAVA_HOME=D:Javajdk1.6.0_30 JAVA_HOME指明JDK的安装路径,此路径下包括lib.bin.jre等文件夹.由于JAVA_HOME变量需要被引用,因此该值末尾不应

不用写代码就能实现深度学习?手把手教你用英伟达 DIGITS 解决图像分类问题

锋网首发.   引言 2006年,机器学习界泰斗Hinton,在Science上发表了一篇使用深度神经网络进行维数约简的论文 ,自此,神经网络再次走进人们的视野,进而引发了一场深度学习革命.深度学习之所以如此受关注,是因为它在诸如图像分类.目标检测与识别.目标跟踪.语音识别.游戏(AlphaGo)等多个领域取得了相当优秀的成绩,掀起了又一波人工只能浪潮.深度学习技术逐渐成为机器学习领域的前沿技术,近年来得到了突飞猛进的发展,这得益于机器学习技术的进步以及计算设备性能的提升.英伟达公司研发的图形处

Python Ubuntu虚拟机深度学习入门

更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud 当你打算开始学习深度学习+Python时,我强烈建议你使用Linux环境.因为深度学习工具可以更轻松地在Linux上进行配置和安装,从而可以快速开发和运行神经网络. 当然,配置你自己的深度学习+ Python + Linux开发环境可能是相当麻烦的任务, 特别是如果你的Linux是新手入门,使用命令行/终端,或手动编译和安装软件包时可能是非常困难的. 为了帮助你开始深度学习+ Python的学习,我已经创建了

玩深度学习选哪块英伟达 GPU?有性价比排名还不够!

与"传统" AI 算法相比,深度学习(DL)的计算性能要求,可以说完全在另一个量级上. 而 GPU 的选择,会在根本上决定你的深度学习体验.那么,对于一名 DL 开发者,应该怎么选择合适的 GPU 呢?这篇文章将深入讨论这个问题,聊聊有无必要入手英特尔协处理器 Xeon Phi,并将各主流显卡的性能.性价比制成一目了然的对比图,供大家参考. 先来谈谈选择 GPU 对研究深度学习的意义.更快的 GPU,能帮助新人更快地积累实践经验.更快地掌握技术要领,并把这些应用于新的任务.没有快速的反

专为深度学习设计的人工思维云

如今,人们大多听说过人工智能系统,如IBM的沃森系统.六年前,谷歌公司的阿尔法狗(alphago)击败了围棋世界冠军:卡耐基-梅隆大学的libratus不久前击败一位世界顶级扑克选手.而全球各地的许多计算机科学家正在研究人工智能系统,但这些将不会出现在新闻中. 在过去五年左右的时间里,机器学习作为人工智能(AI)技术的一种得到了快速发展,如今已经开始渗透到技术的每一个角落.从自驾车到网络广播,网络安全和视频监控,企业正在培训电脑替代人类做许多事情,并且做的更好,或者成本更低. 神经网络是一种旨在

深度学习入门:投身深度学习你需要哪些准备?

更多深度文章,请关注:https://yq.aliyun.com/cloud 我想回答一些我经常被问到的问题:我需要什么样的电脑来进行深度学习?为什么fast.ai推荐Nvidia GPU?你为初学者推荐什么深度学习库?你如何把深度学习引入生产?我认为这些问题都属于一个总的主题:你需要什么(硬件.软件.背景和数据)来进行深入学习? 这篇文章是针对那些新进入这个领域的,并且对入门感兴趣的人. 你需要的硬件 我们感谢游戏业 电子游戏行业(收入方面)大于电影和音乐行业的总和. 在过去的20年里,视频游

如何在实战路上与时俱进:深度学习最佳实践

自2006年Hinton提出神经网络新的训练方法起,深度学习发展迅速,促使人工智能在图像.语音.自然语言处理等多个领域有了实质性的突破,达到产业应用标准.然而,深度学习作为人工智能领域的一项前瞻技术,实践性强,入门门槛高,关于深度学习的研究与应用,现在仍有很多问题没有找到满意的答案,这些都给深度学习的广泛应用带来挑战.本文旨在提供一份清晰.简洁的深度学习实践说明,以便从事深度学习研究与工程技术人员能够快速掌握深度学习的实际经验. 第一节:深度学习概述 深度学习是模拟人脑进行分析学习的多层神经网络