美文网首页Linux我爱编程
Ubuntu16.04 系统+tesla k80+cuda9.0

Ubuntu16.04 系统+tesla k80+cuda9.0

作者: 敲可爱的小超银 | 来源:发表于2018-08-07 18:04 被阅读699次

    1.两块显卡

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

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

    安装单系统(语言英文)

    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版本对应

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

    关闭图形化界面

    $ sudo service lightdm stop

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

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

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

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

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

    添加这些库

    $ 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*

    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

    b.验证CUDA Toolkit

    $ nvcc -V

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

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

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

    $ cd /home/user_name/NVIDIA_CUDA-9.0_Samples

    $ make

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

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

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

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

    接着在终端中输入 :

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

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

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

    终端输入 :

    $ ./bandwidthTest

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

    在官网上下载适合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  

    文件拷贝成功

    查看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  

    验证安装

    (tensorflow)$ python  

    import tensorflow as tf  

    hello = tf.constant('Hello, TensorFlow!')  

    sess = tf.Session()  

    sess.run(hello)  

    GPU版下载对应GPU版本,安装方式一样

    opencv安装

    相关文章

      网友评论

        本文标题:Ubuntu16.04 系统+tesla k80+cuda9.0

        本文链接:https://www.haomeiwen.com/subject/qhwavftx.html