戴尔笔记本双显卡配置nvidia367+cuda8.0+caffe(通用版)

大家好,最近闲的无聊,我的戴尔笔记本(2011年买的,i7-2600M,显卡nvida GT525M)装了ubuntu16.04,突发奇想,应该叫贼心不死吧,因为之前真没用这台笔记本装成过,当然台式机除外了。笔记本的双显卡装cuda,我觉得要靠运气和人品,没错我测试成功了。哈哈……特此博客跟大家分享下,其中有些关键点,我会告诉你如何处理的。当然我这个不是傻瓜教程,毕竟思路和方法才是最关键的。

首先说下我的硬件:

戴尔n5100笔记本:

 i7-2600M

nvida gt525M 1G

inter集显

操作系统:ubuntu 16.04 LTS

一、屏蔽 nouveau 

创建

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
内容

blacklist nouveau
options nouveau modeset=0

更新一下

sudo update-initramfs -u

重新系统 (要进入文本模式,Ctrl+Alt+F1),看下nouveau 是否被屏蔽,使用命令:

lsmod | grep nouveau

如果没有输出,证明已经成功屏蔽nouveau

二、安装显卡驱动 nvidia 367

直接在文本模式下,安装显卡驱动:

sudo apt-get install nvidia-367

安装完成后,重启下:

sudo reboot 

打开 关于这台计算机,出现如下画面,证明安装显卡成功。


三、安装CUDA8.0

进入nvidia官网,下载cuda8.0:https://developer.nvidia.com/cuda-downloads


请安装上图操作,一般不会有问题。

安装过程可能出现:

/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link

解决办法:

两步,更名+重新链接

sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
sudo ldconfig #立即生效

cuda8.8环境配置,进入~/.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}}


然后设置环境变量,在命令行输入:

sudo gedit /etc/profile

在打开的文件末尾加入:

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


保存,创建链接文件:

sudo gedit /etc/ld.so.conf.d/cuda.conf


在打开的文件中添加如下的语句:

/usr/local/cuda/lib64

保存,执行:

sudo ldconfig

链接立刻生效

下面测试下CUDA 是否安装成功:

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery

出现一下信息,证明安装成功CUDA


四、(可选)cudnn安装

首先,说明一下,这个是可选的,因为对于我这个款的gpu 性能太低,所以不能支持cudnn,如果装了cudnn 到时候安装caffe还是需要屏蔽掉,不然make runtest会报错!

cudnn官方网站:https://developer.nvidia.com/rdp/cudnn-download

进去之后,会让登陆,自己注册个账号,然后就可以下载了,这里选用cudnn v5



下载完之后,解压,得到是inclue和lib64文件。

复制文件

sudo cp lib64* /usr/local/cuda/lib64/
sudo cp include/cuda.h /usr/local/cuda/include/

更新软连接

sudo rm -rf libcudnn.so libcudnn.so.5 #删除原先的动态文件 
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo lin -s libcudnn.so.5 libcudnn.so

然后,输入以下命令:(这个为什么要加呢?主要是编译caffe是,可能会出现/sbin/ldconfig.real: /usr/local/cuda-8.0/targets/x86_64-Linux/lib/libcudnn.so.5 不是符号连接‘’)

sudo ln -sf /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5.1.5 /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5 

立刻生效

sudo ldconfig

这样cudnn 就安装完了!

再强调一遍,这是可选的安装!

五、caffe 安装

终于到了安装caffe ,是不是很激动呢

准备一下,配置依赖包,这是我需要出现配置的情况,你在编译还有其他的依赖,就自己补上。正所谓缺啥补啥!

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler libatlas-base-dev liblmdb-dev
libgflags-dev libgoogle-glog-dev liblmdb-dev


首先去github下载:

git clone https://github.com/weiliu89/caffe.git

生成Makefile.config文件

cp Makefile.config.example Makefile.config

这里不需要cudnn ,打开CMakeLists.txt ,USE_CUDNN 为OFF


打开Makefile.config文件,USE_CUDNN注释掉,加个#


编译,进入caffe的根目录下:

mkdir build
cd build
cmake -DBLAS=Open -DCUDA_NVCC_FLAGS=--Wno-deprecated-gpu-targets ..    #消除NVCC警告的,正常情况下,cmake ..
make all -j8
make runtest
make pycaffe

好了,到这里caffe 就安装完成了。



-------------------------------------------QAQ--------------------------------------------------------------------

1、进行make runtest,出现 Check failed: status == CUDNN_STATUS_SUCCESS (6 vs. 0) 错误?

这个问题的本质在于,你的GPU 版本过低导致的,你需要查看你的显卡是否支持cudnn。

这里USE_CUDNN=1 注释掉,CMakelists.txt 文件中USE_CUDNN 改成OFF

2、nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). ??

cmake -DBLAS=Open -DCUDA_NVCC_FLAGS=--Wno-deprecated-gpu-targets ..

3、/home/liang/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp:120:54:error: ‘NppiGraphcutState’ has not been declared
     typedef NppStatus (*init_func_t)(NppiSize oSize, NppiGraphcutState** ppState, Npp8u* pDeviceMem);

解决办法:

在graphcuts.cpp中将
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) 


改为
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值