如何在 gcc 版本之间切换以在 manjaro linux 上使用 cudnn 5 加速 (cuda 7.5) 构建 torch7 或 caffe?
how to switch between gcc versions to build torch7 or caffe with cudnn 5 acceleration (cuda 7.5) on manjaro linux?
我尝试在 manjaro 上使用 cuda 7.5 构建支持 cudnn5 的 torch7 或 caffe linux。
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脚本)?
如果您不想更改任何文件,可以使用此技巧:
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/ 机制,你可以 "install" 两个 gcc 版本到 /etc/alternatives/ ,像这样 java 例子 .. .. 并使用单个命令切换版本,+ 一个设置。
我尝试在 manjaro 上使用 cuda 7.5 构建支持 cudnn5 的 torch7 或 caffe linux。
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脚本)?
如果您不想更改任何文件,可以使用此技巧:
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/ 机制,你可以 "install" 两个 gcc 版本到 /etc/alternatives/ ,像这样 java 例子