如何在gj版本之间切换以在manjaro linux上使用cudnn 5加速(cuda 7.5)来构建torch7或caffe?

时间:2016-06-28 07:47:33

标签: linux gcc caffe torch cudnn

我尝试在manjaro linux上使用cuda 7.5在cudnn5支持下构建torch7或caffe。

gcc 6.1和gcc 4.9都可用。 gcc 6.1与cuda 7.5不兼容,导致在使用cudnn 5支持的情况下构建torch7和caffe时出错。

gcc4.9是从AUR存储库安装的:

jeanpat@dip4fish ~]$ whereis gcc-4.9
gcc-4: /usr/bin/gcc-4.9
[jeanpat@dip4fish ~]$ whereis g++-4.9
g++-4: /usr/bin/g++-4.9
[jeanpat@dip4fish ~]$ whereis g++
g++: /usr/bin/g++ /usr/share/man/man1/g++.1.gz
[jeanpat@dip4fish ~]$ whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/share/man/man1/gcc.1.gz /usr/share/info/gcc.info.gz

想法是在编译之前从gcc6.1切换到gcc4.9:

jeanpat@dip4fish ~]$ export CC=/usr/bin/gcc-4.9
[jeanpat@dip4fish ~]$ export CXX=/usr/bin/g++-4.9

但是当gcc被邀请时,这仍然是6.1版本:

[jeanpat@dip4fish ~]$ gcc --version
gcc (GCC) 6.1.1 20160602  

.bashrc被修改为:

$ echo $LD_LIBRARY_PATH 
:/opt/cuda/lib64:

如何临时切换到gcc 4.9(不修改makefile或caffe和torch7的install.sh脚本)?

1 个答案:

答案 0 :(得分:2)

如果您不想更改任何文件,可以使用此hack:

cd /usr/bin/
mv gcc gcc-6.1-back
mv g++ g++-6.1-back
ln -s gcc-4.9 gcc
ln -s g++-4.9 g++

...然后很容易恢复到" 6.1" ....删除链接等。

如果Manjaro有/ etc / alternatives /机制,你可以"安装"两个gcc版本到/ etc / alternatives /,就像这个java示例When and Why run alternatives --install java jar javac javaws on installing jdk in linux ....和带有单个命令的开关版本,+一个设置。