配置 联想笔记本G480 双显卡(intel集成显卡和N卡独立显卡GeForce
610M)
ubuntu14.0464位 cuda7.5 cudnn5.1 opencv3.0 +caffe
现在是2016年8月这个方法早晚失效 我因为看别人教程 安装过程中各个版本问题兼职要吐了 记录一下
步骤1安装依赖库
步骤
2
下载
cuda7.5
步骤
3
安装
cuda
步骤
4
安装例程
步骤
5
安装
opencv3.0
步骤
6
安装
cudnn5.1
步骤
7
安装
caffe
双显卡注意: 我的G480笔记本有intel集成显卡和N卡独立显卡,
负责GUI界面的是集成显卡,他在安装cuda的过程中被+屏蔽了
导致之后的重启会黑屏 后面会解决这个问题 ,(没用网上提到的那个nouveas方法,太复杂了!!!,)
注意:网上有提到一定要禁用这个nouveas才行,涉及到linux显卡驱动啥的????可我还是没用
(安好cuda后我重启了一下,无法进入图形界面,我都听见那个登录界面的声音了,可就是黑屏,只能Ctrl+atl+F1进入tty界面,,造成这个问题的原因是 ( 我的G480笔记本有intel集成显卡和N卡独立显卡,负责GUI界面的集成显卡,他在安装cuda的过程中被+屏蔽了 )
)
解决办法是:来自知乎大神 https://www.zhihu.com/question/35249192/answer/61880911 安装gdm
如果你很不幸的进不了Ubuntu GUI界面,就按ctrl+shift+F1进入命令行界面,然后输入以下命令先停掉lightdm,然后安装gdm(把gdm设置为默认开启模式)再重启一下电脑就进了。
sudo stop lightdm
sudo apt-get install gdm
作者:快乐的猫
链接:https://www.zhihu.com/question/35249192/answer/108564240
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
其他解决办法:
我还在网上找到了很多其他的解决办法 例如1用run安装而不用deb安装,其间要选择不安装opengl(同样出自上面那个知乎网址)
2 用prime切换 3按的时候禁用nouveas 可是这就还要让我再重装一遍啊(重装系统吧,因为进不去GUI了)我都装到现在了,
另外:强烈推荐按照 步骤来 按顺序 特别是caffe一定要最后弄 (原因:caffe在makefile关系到前面的东西)
步骤0验证是否满足安装条件
验证你的gpu支持是否支持Cuda
打开支持Cuda运算的Gpu列表,只要你的GPU在里面找得到就没问题
$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [GeForce 610M] (rev a1)
我查到了
GeForce 610M
它的
Compute Capability
是
2.1
,不到
3
,所以不能用
cudnn
,这个后面会讲到,也会安装
cudnn
(虽然不能用)
确认你的系统是X86架构,可通过下面的命令查询 必须是x86_64
$ uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubu
安装gccUbuntu 14.04已经自带gcc4.8.4,无需自行下载,检查gcc版本可通过如下方法:
$ gcc --version
注意:网上有人推荐升级到gcc4.9 我觉得不对我看官网文档里推荐的就是gcc4.8版本的 不推荐升级
步骤1
安装依赖库
安装一些基本依赖项:
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
$ sudo apt-get install --no-install-recommends libboost-all-dev
$ sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
我是先卸载已有N卡驱动, (就算觉得这是新电脑没装过驱动可以不用做这个,也推荐做一下这, 以防万一啊)
sudo apt-get remove --purge nvidia*
注意
:这里卸载了就不需要 再手动安装了 后面的安装
cuda
会安装驱动,网上有说手动安装的,我不推荐。
步骤
2
下载
cuda7.5
地址
https://developer.nvidia.com/cuda-toolkit
现在的版本是
7.5
版 , 进入下载页面,选择
linux --
》
x86_64 --
》
ubuntu --
》》
14.04--
》
deb
(
local
)
注意
:我选择的是
deb
(
local
), 我觉得
deb
(
network
)联网 安装 实在是不放心,
run
版本涉及到手动选择配置一些东西,我用不着,。
验证Cuda安装包
$ md5sum filename
推荐一定要验证一下 谨慎 以防万一
如果下载没出错,那得到的MD5序列号和那个页面中是一致的,否则只能重新下载。
步骤
3
安装
cuda
cd进cuda安装包所在的目录,执行以下命令
$ sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
添加环境变量
$ sudo gedit /etc/profile
#
在末尾添加(注意自己的
Cuda
版本):
# export PATH=/usr/local/cuda-7.5/bin:$PATH
# export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
$ source /etc/profile
$ sudo reboot
查看GPU驱动版本、Cuda版本:正常安装的话,会出现版本信息,如果没出现说明安装出错,
$ cat /proc/driver/nvidia/version
dong@dong-Lenovo-G480:~$
cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 352.63 Sat Nov 7 21:25:42 PST 2015
GCC version: gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
$ nvcc -V
dong@dong-Lenovo-G480:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Tue_Aug_11_14:27:32_CDT_2015
Cuda compilation tools, release 7.5, V7.5.17
步骤
4
安装例程
cuda-install-samples-7.5.sh ~/cuda
编译
cd进NVIDIA_CUDA-7.5_Samples中make:
$ cd ~/cuda/NVIDIA_CUDA-7.5_Samples
$ make
#
编译结果在
~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release
中
执行编译结果,确认安装配置
$ cd
$ ./~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release/deviceQuery
dong@dong-Lenovo-G480:~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release$
./deviceQuery
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce 610M"
CUDA Driver Version / Runtime Version 7.5 / 7.5
CUDA Capability Major/Minor version number: 2.1
Total amount of global memory: 1024 MBytes (1073479680 bytes)
( 1) Multiprocessors, ( 48) CUDA Cores/MP: 48 CUDA Cores
GPU Max Clock rate: 950 MHz (0.95 GHz)
Memory Clock rate: 900 Mhz
Memory Bus Width: 64-bit
L2 Cache Size: 65536 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65535), 3D=(2048, 2048, 2048)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 32768
Warp size: 32
Maximum number of threads per multiprocessor: 1536
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (65535, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 1 copy engine(s)
Run time limit on kernels: No
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.5, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce 610M
Result = PASS
bandwidthTest确认
$ ./~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release/bandwidthTest
dong@dong-Lenovo-G480:~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release$ ./bandwidthTest
[CUDA Bandwidth Test] - Starting...
Running on...
Device 0: GeForce 610M
Quick Mode
Host to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 6446.0
Device to Host Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 6428.6
Device to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 12653.3
Result = PASS
NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.
步骤
5
安装
opencv3.0
先用了网上某个大神的方法 试着安装2.4版本oepncv, 听说是非常简单 但是
我在sudo ./opencv2_4_10.sh时,命令行出现很多绿色字体,GUI界面卡死
失败了!
那换方法,我又手动装了oepncv3.0 http://blog.csdn.net/u013915633/article/details/49886465
步骤
6
安装
cudnn5.1
cuDNN是GPU加速计算深层神经网络的库
注意
:这个因为
CUDNN要求GPU CUDA Capability 不小于3.0 ( 来自大神http://blog.csdn.net/eagelangel/article/details/50562065
),我的只有
2.1
,所以实际不能用
cudnn
。
,我怎么知道不行的,我后面才知道的,
现在还是先安了再说
,仅仅是记录了
下载
cudnn https://developer.nvidia.com/cudnn
(网上好多人说,注册以后还要一两天才能下载,,我不是,我注册完了直接就能下载了)
我下载了
cudnn-7.5-linux-x64-v5.1.tgz
安装在终端中切换到文件所在文件夹,输入下面指令:
$ sudo tar xvf cudnn-7.0-linux-x64-v4.0-prod.tgz
$ cd cuda/include
$ sudo cp *.h /usr/local/include/
$ cd ../lib64
$ sudo cp lib* /usr/local/lib/
$ cd /usr/local/lib
$ sudo chmod +r libcudnn.so.4.0.4
$ sudo ln -sf libcudnn.so.4.0.4 libcudnn.so.4
$ sudo ln -sf libcudnn.so.4 libcudnn.so
$ sudo ldconfig
注意(我安装的是libcudnn.so.4.0.7
,跟上面的例子对应就好,,,,上面的版本号要自己对应)
步骤
7
安装
caffe
请确保
cudnn
和
oepncv3.0
都安装完成了 再进行这一步
Caffe下载
直接从github下载最新版本,下载前切换到home目录
$ cd ~
$ git clone git://github.com/BVLC/caffe.git
编译Caffe
$ cd ~/caffe
$ cp Makefile.config.example Makefile.config
#
修改
Makefile.config
文件:
#
如果安装了
Opencv3.0,
去掉
OPENCV_VERSION := 3
的注释
#
如果安装了
cudnn,
去掉
USE_CUDNN := 1
的注释
注意:这里还可能 与BLAS有关,先标注下
保存后重新编译:
注意:::caffe需要一个BLAS。。。BLAS有3钟种选择,1 ATLAS 2 MKL 3 openBLAS
$ sudo make clean
(第一次编译不用这个,之后重新编译时候用)
$ sudo make all
$ sudo make test
$ sudo make runtest
本人编译的时候最后一步的时候,出现这样的错误:
libcudart.so.7.5 cannot open shared object file: No such file or directory
1
解决方法是这样,将一些文件复制到/usr/local/lib
文件夹下:
$ sudo cp /usr/local/cuda-7.5/lib64/libcudart.so.7.5 /usr/local/lib/libcudart.so.7.5 && sudo ldconfig
$ sudo cp /usr/local/cuda-7.5/lib64/libcublas.so.7.5 /usr/local/lib/libcublas.so.7.5 && sudo ldconfig
$ sudo cp /usr/local/cuda-7.5/lib64/libcurand.so.7.5 /usr/local/lib/libcurand.so.7.5 && sudo ldconfig
123
再次,尝试sudomake runtest
命令,出现如下:
显示很多绿色的RUN
注意:这里出现问题
F0823 12:59:13.293607 16025cudnn_tanh_layer.cpp:13] Check failed: status == CUDNN_STATUS_SUCCESS(6 vs. 0) CUDNN_STATUS_ARCH_MISMATCH
*** Check failure stack trace: ***
@ 0x2b7d843c9daa (unknown)
@ 0x2b7d843c9ce4 (unknown)
@ 0x2b7d843c96e6 (unknown)
这就是上文说的
这个因为
CUDNN要求GPU CUDA Capability 不小于3.0 ( 来自大神http://blog.csdn.net/eagelangel/article/details/50562065
),我的只有
2.1
,所以实际不能用
cudnn
。
只能禁用
cudnn
,再重新编译!!!
再
sudo make runtest
很多很多绿色的 RUN OK 最后是
[
RUN ] ConvolutionLayerTest/1.TestGradient3D
[
OK ] ConvolutionLayerTest/1.TestGradient3D (450 ms)
[----------]
15 tests from ConvolutionLayerTest/1 (1390 ms total)
[----------]
Global test environment tear-down
[==========]
2021 tests from 267 test cases ran. (593012 ms total)
[
PASSED ] 2021 tests.
至此,caffe安装完成。
最后注意: 上面没有写到python 没有 写到mnist
附录:
第1
caffe需要一个BLAS。。。BLAS有3钟种选择,1 ATLAS 2 MKL 3 openBLAS
我好像选了BLAS?????? 我不明白
这个好像是一个运算库吧,可以加速运算什么,那个MKL性能最好,我用的是 前面安装依赖项的时候就着按了 atlas
第2 用vi编辑的时候 更进入vi以后 用i表示插入 (但是在vi里面删除功能真烂)
第3 dpkg是软件管理系统 管理deb文件
-i表示安装
第4 下面命令里 -y表示 确定安装 就不用再确定了
- sudo apt-get install build-essential -y