【发布时间】:2016-10-30 10:09:33
【问题描述】:
我尝试在 manjaro linux 上使用 cuda 7.5 构建支持 cudnn5 的 torch7 或 caffe。
gcc 6.1 和 gcc 4.9 都可用。 gcc 6.1 与 cuda 7.5 不兼容,导致在构建torch7 和支持cudnn 5 的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脚本)?
【问题讨论】:
-
导出命令
export CC=gcc-4.9 CXX=g++-4.9不会改变 gcc/g++。但可以与 ./configure 一起使用:export CC=gcc-4.9 CXX=g++-4.9 && ./configure并且“CC/CXX 命令”可以与某些 Makefile 一起使用,例如:make CXX=g++-4.9。 -
AFAIK Caffe 不支持 CuDNN 3 以外的任何东西。
-
"可选依赖项:OpenCV >= 2.4 包括 3.0 IO 库:lmdb、leveldb(注意:leveldb 需要 snappy)用于 GPU 加速的 cuDNN (v5)"
标签: linux gcc caffe torch cudnn