Ubuntu14.04配置OpenCL版本caffe (AMD显卡)---- 问题总结(持续更新)

开始安装AMDAPPSDK之前,确保你已经安装好AMD闭源显卡驱动!

首先,建议大家阅读下面这篇博客,里面提到了一种完成的caffe-opencl配置方法,大家先参照着这篇博文做:
http://blog.csdn.net/legendluo/article/details/51635346

如果你在配置过程中遇到一下问题,可以尝试一下我的解决方法:

(1)在root模式下安装完AMDAPPSDK之后,发现在/etc/profile和~/.bashrc文件中没有所说的环境变量:

这个时候你需要手动地添加环境变量,具体来说:
sudo gedit ~/.bashrc
此时你在root权限下打开了bashrc这个文件(这样你编辑完毕之后才有权限保存),然后再文件末尾添加AMDAPPSDKROOT=/opt/AMDAPPSDKXXX(这部分替换为具体的目录名),然后ctrl+s保存。然后source ~/.bashrc使编辑后的bashrc生效。你可以选择在上述的2个文件之一中添加环境变量(都添加好像也没问题),具体区别大家可以参考下面这篇文章:
http://blog.csdn.net/chenchong08/article/details/7833242


(2)按照我推荐的那篇文章用小程序进行测试,在编译的时候会提示说找不到CL/cl.h:

这可能就跟上面环境变量出问题有关系。下面我们理清思路来解决这个问题:
(大家可以在Ubuntu的软件中心中下载安装QtCreator,这是一个IDE,或者说你可以把它当成一个简单的文档编辑器,方便创建各种格式的文档,比如建立测试文件时用到的.cpp文件和.cl文件)
首先我们要搞清楚这一条编译指令的具体含义是什么。
g++ hello_world.cpp -o hello_world -I $AMDAPPSDKROOT/include -L $AMDAPPSDKROOT/lib/x86_64 -lOpenCL
参照下面这篇博文,你可以大致了解这条指令的含义。重点说明的是,出问题的一般都是-I 和-L后面的路径出了错。你可以把$AMDAPPSDKROOT换成你安装AMDAPPSDK的路径,比如/opt/AMDAPPSDK-3.0,再分别加上后面的/include和/lib/x86_64就构成完整的路径,而这个路径用于说明链接编译需要用到的头文件(在include目录下面你就可以找到CL/cl.h了,在lib那个目录里面你可以找到libOpenCL.so这个动态链接库)。
如果接下来再次编译成功了,说明应该是可以编译OpenCL程序了。


(3)配置clBLAS出现问题
如果是这部分出现了问题,建议大家去这个网站看看官方推荐的配置步骤:
https://github.com/clMathLibraries/clBLAS/wiki/Build

如果是安装boost加速库的问题,大家参照这个网站进行配置:
http://blog.chinaunix.net/uid-12226757-id-3427282.html

如果是安装google test的问题,目前来看推荐大家直接安装libgtest-dev,具体可以参照下面这篇文章进行安装:
http://blog.csdn.net/officercat/article/details/39299553

如果是安装ACML/CBLAS的问题,注意ACML和CBLAS是二选一的,显然安装CBLAS是更加方便的,直接sudo apt-get install libblas-dev

重点来了,如果你是按照官方的CMAKE方法编译安装clBLAS的话,可能会遇到这些问题:
(如果是有些依赖包没安装的话,你按照要求安装上依赖包就行)

<1>cmake的时候提示在系统中找不到可用的OpenCL
输入ccmake . ,你会进入cmake的配置界面,然后按照cmake那条指令对应地配置相应项,然后依然将OpenCL-。。。-DIR那一项配置配置为/opt/AMDAPPSDK-3.0/include那个地址,然后保存退出,然后再多尝试编译几次。如果是使用cmake的话,可以在存有makefile的目录下输入ccmake .(注意,命令包括ccmake、一个空格和一个点.),然后再具体配置opencl的路径(就是在AMDAPPSDK下面的include)。

<2>提示说找不到Fortran-Compiler
需要安装fortran包,运行 sudo apt-get  install gfortran即可安装完毕。

<3>sudo make提示warning说很多文件找不到,然后出现2个error

如果遇到了这个问题,我选择放弃官方的编译方法,转投我给出的那篇用于安装参考的博客里面提到的方法,就是另外找一个clBLAS包,使用travis的编译方法进行编译。我使用这种编译方法能够成功编译出packsge压缩包。之前你所安装的那些依赖项依然有效,另外还需要注意下面几个问题:

---最好还是先安装一下travis,方法是: sudo apt-get install travis(其实我感觉装不装都一样)

---后续在caffe目录下改Makefile的时候,注意:如果你是单独编译的opencv,那么需要注意那个libcodecs那个东西;如果你是libopencv-dev,就别乱改,不然后面会报错。

---编译完成之后,把得到的那个压缩包解压然后放到你要放的clBLAS目录,然后再去caffe下面改Makefile里面那个clBLAS的目录参数。



目前来看,大部分的训练样例都是可以跑的,只是在make runtest的时候我这里会提示大约11个测试没有通过,不知道怎么解决。。。。。

(这篇博客是持续更新的,如果大家也遇到问题,可以提出来一起解决)

你可能感兴趣的:(系统配置)