为了账号安全,请及时绑定邮箱和手机立即绑定

Ubuntu16.04 系统+tesla k80+cuda9.0+cudnn7.1+anaconda3.5+tensorflow1.5.0

标签:
ZBrush

1.两块显卡

2.tensorflow1.5只支持到cuda9.0

3.电脑硬件信息如下图:

webp

webp

安装单系统(语言英文)

1.不自动更新+不下载第三方

2.分区:

 sda1:第一个  bios reserve(bios保留分区)   挂载在biosgrub 主分区  1M

 sda2: 第二个  ETX4  挂载在 /  主分区  50G~几乎整个磁盘的大小

 sda3: 第三个  交换空间(swap)逻辑分区  内存大小 68888M

安装驱动

ps. ppa源安装无法匹配正确版本驱动

1.去官网下载最新的驱动run文件,选择系统的时候,不要选择ubuntu16.04,选择的话容易选到deb文件,应该选择linux-64bit版本

2.安装NVIDIA驱动程序(如果事先有装但失败的,先卸载)

$  sudo apt remove --purge nvidia*

3.禁用驱动

1)在Ubuntu16.04中,我们可以通过以下操作禁用nouveau:

a.在/etc/modprobe.d中创建文件blacklist-nouveau.conf

$ sudo vim /etc/modprobe.d/blacklist-nouveau.conf

在文件中输入以下内容:

blacklist nouveau

options nouveau modeset=0

b.执行

$ sudo update-initramfs -u

c.查看nouveau是否已经成功禁用

$  lsmod | grep nouveau

若无内容输出,则禁用成功,若仍有内容输出,请检查上述操作,并重复。

操作无误但仍有输出,则可重启,进入用户登录界面时(不要登录进桌面),按Ctrl+Alt+F1进入字符终端界面,输入用户名和密码进行登录,登录成功后,再次查看

$  lsmod | grep nouveau

这时,我们已经成功禁用了nouveau,无输出

2)关闭图形化界面

$sudoservice lightdm stop

3)安装驱动

注意进入你下载的目录

给驱动run文件赋予执行权限:

sudo chmod a+x NVIDIA-Linux-x86_64-390.46.run

#后面的参数非常重要,不可省略:

sudo ./NVIDIA-Linux-x86_64-390.46.run –no-opengl-files

–no-opengl-files:表示只安装驱动文件,不安装OpenGL文件。这个参数不可省略,否则会导致登陆界面死循环,英语一般称为”login loop”或者”stuck in login”。

–no-x-check:表示安装驱动时不检查X服务,非必需。

–no-nouveau-check:表示安装驱动时不检查nouveau,非必需。

-Z, --disable-nouveau:禁用nouveau。此参数非必需,因为之前已经手动禁用了nouveau。

-A:查看更多高级选项。

必选参数解释:因为NVIDIA的驱动默认会安装OpenGL,而Ubuntu的内核本身也有OpenGL、且与GUI显示息息相关,一旦NVIDIA的驱动覆写了OpenGL,在GUI需要动态链接OpenGL库的时候就引起问题。

可以使用下面的命令打开图形化界面:

sudo service lightdm start

之后,按照提示安装,成功后重启即可。 如果提示安装失败,不要急着重启电脑,重复以上步骤,多安装几次即可。

Driver测试:

nvidia-smi

#若列出GPU的信息列表,表示驱动安装成功

nvidia-settings

#若弹出设置对话框,亦表示驱动安装成功,我们没有出正确结果,但目前没有发现问题

CUDA9.0 安装

到NVIDIA官网中,找到CUDA 9.0并下载,注意与tensorflow版本对应

webp

之后,重启系统,在登录界面时按Ctrl+Alt+F1进入字符终端界面,登录成功后,

关闭图形化界面

$ sudo service lightdm stop

找到下载文件的路径,键入下面的命令安装:

$ sudo sh cuda_9.0.176_384.81_linux.run

单击回车,直到提示“是否为NVIDIA安装驱动?”

选择否,因为已经安装好驱动程序,其他都是默认。

webp

最后你会看到cuda驱动、sample、tookit已经安装成功,但是缺少一些库。

webp

添加这些库

$ sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

重新启动图形化界面

$ sudo service lightdm start

同时按住Alt + ctrl +F7,返回到图形化登录界面,输入密码登录。

如果能够成功登录,则表示不会遇到循环登录的问题,基本说明CUDA的安装成功了

重启电脑,检查Device Node Verification

$ sudo reboot

$ ls /dev/nvidia*

webp

a、若结果显示

/dev/nvidia0    /dev/nvidiactl    /dev/nvidia-uvm

或显示出类似的信息,应该有三个(包含一个类似/dev/nvidia-uvm的),则安装成功。

b、大多数结果可能会是这样

ls: cannot access/dev/nvidia*: No such file or directory

或是这样的,只出现

/dev/nvidia0    /dev/nvidiactl

a中的一个或两个,但没有/dev/nvidia-uvm,即文件显示不全。

解决方法:

首先要添加一个启动脚本

$ sudo vim /etc/rc.local

把文件的第一行的#!/bin/sh -e中的-e去掉,

在#!/bin/sh和exit 0之间,添加以下内容

/sbin/modprobe nvidia

if["$?" -eq 0];then

# Count the number of NVIDIA controllers found.

NVDEVS=`lspci | grep -i NVIDIA`

N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`

NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`

N=`expr $N3D + $NVGA- 1`

for i in `seq 0 $N`; do

mknod -m 666 /dev/nvidia$i c 195 $i

done

mknod -m 666 /dev/nvidiactl c 195 255

else

exit 1

fi

/sbin/modprobe nvidia-uvm

if["$?" -eq 0];then

# Find out the major device number used by the nvidia-uvm driver

D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`

mknod -m 666 /dev/nvidia-uvm c $D 0

else

exit 1

fi

保存文件并重启,再次查看,这时你应该能直接看到/dev目录下的三个nvidia的文件

输入:

$ ls /dev/nvidia*

结果显示:

/dev/nvidia0    /dev/nvidiactl    /dev/nvidia-uvm

成功!如果还是没有出现,先不管他,跑后面的samples例子,然后会出来

接着,设置环境变量。

终端中输入

$ sudo vim /etc/profile

在打开的文件末尾,添加以下两行。

64位系统:

$export PATH=/usr/local/cuda-9.0/bin:$PATH

$export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH

32位系统:

$export PATH=/usr/local/cuda-9.0/bin:$PATH

$export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib:$LD_LIBRARY_PATH

保存文件,并重启。因为source /etc/profile是临时生效,重启电脑才是永久生效。

重启电脑,检查上述的环境变量是否设置成功。

a.验证驱动版本

$ cat /proc/driver/nvidia/version

webp

b.验证CUDA Toolkit

$ nvcc -V

webp

如果这里面出不来,那么先编译运行例子后再回来验证

最后,我们需要尝试编译cuda提供的例子,看cuda能否正常运行

打开终端输入(注意你安装的路径,替换user_name)

$ cd /home/user_name/NVIDIA_CUDA-9.0_Samples

$ make

系统就会自动进入到编译过程,整个过程大概需要十几到二十分钟,请耐心等待。如果出现错误的话,系统会立即报错停止。

如果编译成功,最后会显示Finished building CUDA samples,如下图所示。

webp

运行编译生成的二进制文件。

编译后的二进制文件默认存放在NVIDIA_CUDA-9.0_Samples/bin中。

接着在终端中输入 :

$ cd bin/x86_64/linux/release$ ./deviceQuery

结果如下图所示:看到类似如下图片中的显示,则代表CUDA安装且配置成功,其中 Result = PASS代表成功,若失败 Result = FAIL

webp

最后再检查一下系统和CUDA-Capable device的连接情况

终端输入 :

$ ./bandwidthTest

看到类似如下图片中的显示,则代表成功

webp

在官网上下载适合cuda版本的deb文件或tgz文件。  cudnn-9.0-linux-x64-v7.1.tgz

把头文件和库文件拷贝到cuda的安装目录中,首先确保cuda的安装目录是/usr/local/cuda/,之前安装cuda时,已经默认安装目录为/usr/local/cuda/了

sudo tar -xzvf  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  

webp

文件拷贝成功

webp

webp

查看cudnn版本

sudo cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A2  

安装Anaconda

然后执行:bash Anaconda×××-Linux-x86_64.sh ,然后一直enter键,中途会遇到([y]/n)? 的提示,输入y即可。

安装好后,在终端输入Python即可看见:Python 3.6.4 |Anaconda, Inc.|,表明安装成功。

安装tensorflow(cpu版)

官方的建议是即时你有gpu,但也可以先装一个cpu版,创建环境的命令为:

conda create -n tensorflow python=3.6  

(一定要指定python版本,python=3.6)

source activate tensorflow #激活tensorflow环境  

cd /Downloads#切换到whl文件所在文件夹  

pip install --ignore-installed --upgrade tensorflow-1.5.0-py3-none-linux_x86_64.whl #不要用sudo pip,也不要用pip3  



作者:敲可爱的小超银
链接:https://www.jianshu.com/p/f00b657ccaae


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消