zoukankan      html  css  js  c++  java
  • 配有Tesla K40c的服务器新装Ubuntu16.04并安装CUDA8.0、Anaconda3、Matlab2016a、OPENCV3.1、CuDNN5.1、MXNet

       注:本文原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/)

        决定加入深度学习的大军,感谢导师给配了台新设备!第一次接触服务器并配置开发环境,整个过程中遇到不少坑,但是好在最后都成功解决了。不过有点担心的是,Tesla k40c 默认还要一个辅助供电,我目前只插了8pin的供电接口,6pin的供电接口没插,不知道后续计算会不会受影响……心里怕怕的……

        首先报一下硬件配置:

            服务器:联想TD350:

                       CPU:Intel® Xeon(R) CPU E5-2620 v4 @ 2.10GHz × 32 

                       内存:16G × 2条

                       硬盘:2TB

               显卡:Tesla K40c

    一、安装Ubuntu16.04 LTS 64bit

        自行下载安装程序iso文件,用ultraISO制作成优盘启动盘。安装。

    二、安装CUDA8.0

        Tesla K40c 是纯计算卡,切换至这款显卡后,无法显示GUI界面,按照同学的说法“再装块其他的独显作为显示”,虽然可行,但是白白浪费一块独显。按照以下方法可以做到平时显示用Intel自带集显,运算时再切换至Tesla K40c。

    1. 检查是否正确识别显卡:

        在Terminal中输入:

    lspci | grep -i nvidia

        显示:

    81:00.0 3D controller: NVIDIA Corporation GK110BGL [Tesla K40c] (rev a1)

    2. 查看GCC安装版本:

    gcc --version

        显示:

    gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
    Copyright (C) 2015 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    3. 查看是否已有安装的NVIDIA驱动:

        如果有,请卸载。本人的服务器是新的,所以木有安装过。

    lsmod | grep nvidia

    4. 查看集显驱动:

    lsmod | grep nouveau

    5. 下载CUDA8.0:

        去cuda官网下载对应版本的驱动,请下载.run格式的安装文件,不要下载deb格式的!把安装文件放在任意目录下。

    6. 禁用显卡驱动:

        Ctrl + Alt + F1 进入tty1界面。

        关闭桌面服务:

    sudo service lightdm stop

        把自带显卡驱动加入黑名单:

    cd /etc/modprobe.d/
    
    sudo touch blacklist-nouveau.conf
    
    sudo su root
    
    echo "blacklist nouveau">>blacklist-nouveau.conf 
    echo "options nouveau modeset=0">>blacklist-nouveau.conf

        立即生效:

    sudo update-initramfs -u

        重启系统。

    7. 安装CUDA:

        再次进入tty1,并再次关闭桌面服务,找到刚才存放.run安装程序的路径,安装一下,后面跟上参数!!

    sudo ./cuda_8.0.44_linux.run --no-opengl-libs

        按照提示,输入yes或者回车,装完后开启桌面服务:

    sudo service lightdm start

        重启。

    8. 后续配置:

    2016年12月16日补充:ubuntu16.04下创建这个问题件后,开机会提示问题,然后会自动删除这个文件,没这个文件一切也挺正常的。。所以暂时可以不用改这个文件了。

        创建 /etc/X11/xorg.conf 文件,内容如下:

    Section "Device"
      Identifier "intel"
      Driver "intel"
      BusID "PCI:0@0:2:0"
      Option "AccelMethod" "SNA" 
    EndSection

        打开文件 /etc/default/grub, 在 GRUB_CMDLINE_LINUX_DEFAULT 后增加一个参数: "nogpumanager"。

        立即生效:

    sudo update-grub

    9. 配置环境变量:

        /etc/profile文件最后增加两行:

    export PATH=$PATH:/usr/local/cuda-8.0/bin    
    export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/lib

        我的CUDA装在默认位置,如果你的不是,请自行修改上述路径吧~

        立即生效:

    source /etc/profile

    10. 验证安装:

        终端输入:

    lsmod | grep nvidia

        显示:

    nvidia_drm             45056  0
    nvidia_modeset        765952  1 nvidia_drm
    nvidia              11485184  1 nvidia_modeset
    drm_kms_helper        147456  2 ast,nvidia_drm
    drm                   360448  6 ast,ttm,drm_kms_helper,nvidia_drm

        终端输入:

    nvcc -V

        显示:

    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2016 NVIDIA Corporation
    Built on Sun_Sep__4_22:14:01_CDT_2016
    Cuda compilation tools, release 8.0, V8.0.44

     

    三、 安装Anaconda3

        官网下载python3.5版本,cd到安装程序目录下执行:

    sudo sh Anaconda3-4.2.0-Linux-x86_64.sh

        安装过程中提示要不要加入环境变量啥的,都选yes。

     

    四、 安装Matlab2016a

        下载好破解版的Matlab iso镜像, cd到镜像文件目录下执行:

    sudo mount -t iso9660 -o loop R2016a_glnxa64.iso /mnt
    
    cd /mnt
    ./install

        一开始输入破解文件夹内的序列号,装完以后,把破解文件夹内的两个lib开头的文件拷到 /usr/local/MATLAB/R2016a/bin/glnxa64/ 目录下,注意操作权限。

        打开Matlab:

    cd /usr/local/MATLAB/R2016a/bin
    ./matlab

        定位到破解文件夹内的lic文件。

     

        安装一个插件:

    sudo apt-get install matlab-support

        按照要求输入matlab执行程序所在bin文件夹的上层目录。

        以后就可以直接在终端里输入 matlab 来启动啦!

     

    五、安装OPENCV3.1

        先装下各种可能用到的依赖库吧:

    
    
    sudo  apt-get update
    sudo  apt-get install  build-essential

    sudo apt-get install libopenblas-dev sudo apt-get install liblapack-dev sudo apt-get install libatlas-base-dev


    sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

        安装cmake、git,这里还要安装下cmake的gui程序,后续编译opencv我们在gui界面操作!

    sudo apt-get install cmake git cmake-qt-gui

     

        下载opencv3.1源码以及扩展包源码:

    cd /home/noah/
    mkdir opencv
    mkdir build cd opencv git clone https:
    //github.com/Itseez/opencv.git git clone https://github.com/Itseez/opencv_contrib.git

         

        使用cmake-gui编译至刚才创建的build文件夹

        终端输入:

    cmake-gui

        配置方法可以参考我在windows下编译opencv的博文,主要看下anaconda这些有没有被检测到,还要在扩展包路径里选择 /opencv_contrib/modules 文件夹。

        编译好之后,终端进入build文件夹:

    make -j16

        大家根据自己CPU情况更改数字哦,make过程会很久,特别是到opencv_perf_stitch 和python3 这两步时,估计要等四十分钟………………完成后,安装:

    sudo make install

     

        安装完后,检测一下,终端输入python,然后import cv2试试,如果出现说什么libstdc++.so.6 有问题,软连接一下:

    sudo ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /home/noah/anaconda3/lib/libstdc++.so.6

        同理,如果libgomp.so.1文件有问题,也软连接一下:

    sudo ln -sf /usr/lib/x86_64-linux-gnu/libgomp.so.1 /home/noah/anaconda3/lib/libgomp.so.1

        再import cv2就可以咯~~~~

     

    六、安装CuDNN5.1

        去官网下载最新版本CuDNN5.1,tga格式。

        终端输入:

    tar -zxf cudnn-8.0-linux-x64-v5.1.tgz 
    cd cuda/
    
    sudo cp lib64/* /usr/local/cuda-8.0/lib64/
    sudo cp include/cudnn.h /usr/local/cuda-8.0/include/

     

    七、安装MXNet

        下载mxnet:

    git clone https://github.com/dmlc/mxnet.git ~/mxnet --recursive

        修改 /mxnet/make/config.mk,把USE_CUDNN=0、USE_CUDA=0 都改成=1,并且指定CUDA路径:/usr/local/cuda,在mxnet根目录下编译:

    make -j16

        cd /mxnet/python 目录,执行:

    python setup.py install

        跑下示例程序吧~~ cd /mxnet/example/image-classification/,执行:

    python train_mnist.py --gpus 0

        没问题的话就OK啦!!

    附:参考资料

    http://www.cnblogs.com/muchong/p/6093328.html

    https://my.oschina.net/u/1046919/blog/479947

    http://www.cnblogs.com/gaowengang/p/6068788.html

    http://mxnet.io/get_started/setup.html#installing-mxnet

    http://jingyan.baidu.com/article/d45ad148a78cbe69552b8089.html

        

        

  • 相关阅读:
    tomcat shutdown后,进程还存在linux系统中的解决办法
    nginx反向代理tcp协议的80端口
    redis集群搭建中遇到的一些问题
    《将博客搬至CSDN》
    最短路路径(1.1版待更新)
    线段树
    SDUT 3341 数据结构实验之二叉树二:遍历二叉树
    二叉树的遍历
    爆头题HDU
    图的入度和出度以及图的新的存储形式
  • 原文地址:https://www.cnblogs.com/noahzn/p/6143547.html
Copyright © 2011-2022 走看看