Ubuntu16.04 cuda8.0 GPU驱动配置
- ubuntu 16.04 64bit
- 显卡:NVIDIA Tesla k40m + 集成显卡
更换阿里源
更换之前要先备份之前的源:
1 | sudo cp /etc/apt/source.list /etc/apt/source.list.bak |
编辑源列表文件:
1 | sudo vim/etc/apt/sources.list |
原来的列表删除,替换:
1 | # deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted |
更新:
1 | sudo apt-get update |
Ubuntu16.04挂载新硬盘并格式化硬盘
查看硬盘:
1 | sudo fdisk -l |
新建分区:
1 | $ sudo fdisk /dev/sdb |
之后进入command状态,大概是这么操作的:
- 输入 m 查看帮助
- 输入 p 查看 /dev/sdb 分区的状态
- 输入 n 创建sdb这块硬盘的分区
- 选 p primary =>输入 p
- Partition number =>分一个区所以输入 1
- 其他的默认回车即可
- 最后输入 w 保存并退出 Command 状态。
操作示例:
1 | Command (m for help): n |
在通过查看命令即可查看,新增的硬盘.
格式化:
1 | $ sudo mkfs.ext4 /dev/sdb1 # ext4为分区格式 |
挂载:
1 | sudo mkdir /home/data |
开机自动挂载:
1 | $ sudo blkid |
添加UUID到/etc/fstab 添加UUID=63295b70-daec-4253-b659-821f51200be9 /home/data ext4 defaults,errors=remount-ro 0 1到/etc/fstab 其中UUID后面跟sdb1的UUID 重启。
安装必要的软件
1 | sudo apt-get install vim git openssh-server |
检查是否正确识别显卡
1 | lspci | grep -i nvidia |
查看是否已有安装的NVIDIA驱动
1 | lsmod | grep nvidia |
查看集显驱动
1 | lsmod | grep nouveau |
禁用nouveau驱动和相关的驱动包
用编辑器打开blacklist.conf配置文件
1 | sudo gedit /etc/modprobe.d/blacklist.conf |
在文件的最后一行加入下面的命令,屏蔽有影响的驱动包(这里有的博客添加了blacklist amd76x_edac,但是经测试后不加也是可以安装成功的)
1 | blacklist rivafb |
禁用 nouveau 内核模块:
1 | $echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf |
卸载所有安装的nvidia驱动
1 | sudo apt-get remove –purge nvidia* |
重启
1 | sudo reboot |
GPU驱动配置
根据GPU型号从相应网站下载驱动,例如使用NVIDIA Tesla M60,从NVIDIA网站选择对应的型号和操作系统,CUDA Toolkit版本,下载驱动文件,如NVIDIA-Linux-x86_64-375.66.run,运行驱动文件,根据提示安装:
安装驱动
安装驱动可能需要的依赖(可选):
1 | $sudo apt-get update |
进入命令行界面
1 | Ctrl-Alt+F1 |
关闭桌面服务
1 | sudo service lightdm stop |
给驱动run文件赋予执行权限
1 | sudo chmod a+x NVIDIA-Linux-x86_64-384.66.run |
安装: 注意下面参数
1 | sudo ./NVIDIA-Linux-x86_64-384.66.run –no-x-check –no-nouveau-check –no-opengl-files |
注意:安装CUDA时一定使用runfile文件,这样可以进行选择。不再选择安装驱动,以及在弹出xorg.conf时选择NO.不要使用ubuntu设置中附加驱动中驱动
报错:
(1)ERROR: Unable to load the kernel module ‘nvidia.ko’. This happens most frequently when this kernel module was built against the wrong or improperly configured kernel sources, with a version of gcc that differs from the one used to build the target kernel, or if a driver such as rivafb, nvidiafb, or nouveau is present and prevents the NVIDIA kernel module from obtaining ownership of the NVIDIA graphics device(s), or no NVIDIA GPU installed in this system is supported by this NVIDIA Linux graphics driver release.
解决方法:
- 禁用nouveau驱动和相关的驱动
- 首先,Ctrl+Alt+F1进入命令提示符界面
- 然后,输入对应的username和passwd进入命令行.
- 最后,使用指令sudo service lightdm stop 关闭图形界面,再利用cd指令进入下载好的驱动目录
1 | sudo chmod 755 NVIDIA-Linux-x86_64-384.111.run #修改权限(否则没有访问权限,无法进行指令安装) |
(2) WARNING: Unable to find a suitable destination to install 32-bit compatibility libraries. Your system may not be set up for 32-bit compatibility. 32-bit compatibility files will not be installed; if you wish to install them, re-run the installation and set a valid directory with the —compat32-libdir option.
解决方法:
运行命令:
1 | sudo aptitude install ia32-libs |
安装cuda
注意这里下载的是cuda8.0的runfile(local)文件。
这里是nvidia给出的官方安装指南(遇到问题时可以查阅)
下载完cuda8.0后,执行如下语句,运行runfile文件:
1 | sudo sh cuda_8.0.27_linux.run |
因为驱动之前已经安装,这里就不要选择安装驱动。其余的都直接默认或者选择是即可。
使用:
1 | sudo gedit /etc/profile |
打开“profile”文件,在末尾处添加(注意不要有空格,不然会报错):
1 | export PATH=/usr/local/cuda-8.0/bin:$PATH |
重启电脑:
1 | sudo reboot |
测试cuda的Samples:
1 | cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery |
OpenCV3.1配置
安装依赖库
1 | sudo apt-get install build-essential |
下载 源码
或着用git clone:
1 | cd ~/opencv310 |
CMake Opencv源码
建立一个编译目录(例如:/build)把cmake后的文件都放在这里边。
1 | cd ~/opencv |
cmake时ippicv_linux_20151201.tgz总是不能成功下载,故cmake之前将./downloads/linux-808b791a6eac9ed78d32a7666804320e 文件拷贝至./opencv-3.1.0/3rdparty/ippicv/ 路径下(先执行一次cmake 命令生成文件路径,在将ippicv_linux_20151201.tgz复制进去) 首先,手动下载ippicv
然后开始cmake,这里需要注意几个cmake的参数,比较重要。
1 | sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local WITH_LIBV4L=ON .. |
切记最后’..’两个点之前要加空格!!
把代码编译成可执行文件
这里官方推荐使用多进程编译,推荐七个进程:
1 | # 报错: |
安装
1 | sudo make install |
配置库文件路径
1 | /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf' |
设置环境变量
1 | sudo vim/etc/bash.bashrc |
查看
1 | pkg-config --modversion opencv |
运行测试
我是用python+opencv的,我这里直接运行opencv自带的python的例子程序,TX1自带摄像头不能用,需要使用外接USB摄像头,插入USB接口即可,无需安装驱动,也无需改动测试代码。
1 | cd <opencv3.1.0_dir>/samples/python/ |
colmap配置
clone colmap源码到本地:
1 | git clone https://github.com/colmap/colmap |
安装依赖:
1 | sudo apt-get install cmake build-essential libboost-all-dev libeigen3-dev libsuitesparse-dev libfreeimage-dev libgoogle-glog-dev libgflags-dev libglew-dev qtbase5-dev libqt5opengl5-dev |
配置Ceres Solver:
1 | sudo apt-get install libatlas-base-dev libsuitesparse-dev |
配置和编译colmap:
1 | cd path/to/colmap |
运行colmap:
1 | colmap -h |
Caffe配置
安装依赖:
1 | sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler |
有一定几率安装失败而导致后续步骤出现问题,所以要确保以上依赖包都已安装成功,验证方法就是重新运行安装命令,如验证 git cmake build-essential是否安装成功共则再次运行以下命令:
1 | sudo apt-get install git cmake build-essential |
安装的路径下 clone :
1 | git clone https://github.com/BVLC/caffe.git |
进入 caffe ,将 Makefile.config.example 文件复制一份并更名为 Makefile.config ,也可以在 caffe 目录下直接调用以下命令完成复制操作 :
1 | sudo cp Makefile.config.example Makefile.config |
复制一份的原因是编译 caffe 时需要的是 Makefile.config 文件,而Makefile.config.example 只是caffe 给出的配置文件例子,不能用来编译 caffe。
参考我的Makefile.config:
1 | ## Refer to http://caffe.berkeleyvision.org/installation.html |
可以开始编译了,在 caffe 目录下执行 :
1 | make all -j8 |
darknet配置
环境: Ubuntu16.04 + Titan X + Cuda8.0 + OpenCV3.1 + Python2.7
请参考前文。
1 | git clone https://github.com/pjreddie/darknet |
可能出现的报错:
(1)error:/usr/bin/ld: 找不到 -lippicv</br >
collect2: error: ld returned 1 exit status </br >
Makefile:82: recipe for target ‘libdarknet.so’ failed </br >
解决方法:找到-lippicv对应的库(libippicv.a),该库位于 安装目录./opencv-3.1.0/3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64文件夹下 ,进入该文件夹下执行
1 | sudo cp sudo cp libippicv.a /usr/local/lib/ |
参考
- https://www.liaohuqiu.net/cn/posts/ssh-public-key-auto-login/
- https://blog.csdn.net/asukasmallriver/article/details/72927860
- https://blog.csdn.net/u011440558/article/details/78358447
- https://www.mtyun.com/library/how-to-install-caffe-on-centos7
- https://blog.csdn.net/qq_28413479/article/details/76377184
- https://blog.csdn.net/yhaolpz/article/details/71375762
- https://www.jianshu.com/p/10ed332caf07