centos7.0 tesla k80 caffe 安装

centos7.0 tesla k80 caffe 安装

官方安装步骤:

General dependencies

sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel

Remaining dependencies,recent OS

sudo yum install gflags-devel glog-devel lmdb-devel

Remaining dependencies,if not found

# glog
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/google-glog/glog-0.3.3.tar.gz
tar zxvf glog-0.3.3.tar.gz
cd glog-0.3.3
./configure
make && make install
# gflags
wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make && make install
# lmdb
git clone https://github.com/LMDB/lmdb
cd lmdb/libraries/liblmdb
make && make install

一般经过以上步骤,有一些库安装不了,需要手动安装:

opencv-devel

$ sudo yum -y install cmake pkgconfig gtk2-devel python-devel numpy tbb-devel libpng-devel
$ wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.10/opencv-2.4.10.zip
$ unzip opencv-2.4.10.zip
$ cd opencv-2.4.10
$ mkdir build
$ cd build
$ cmake ../ -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_EXAMPLES=ON -DBUILD_NEW_PYTHON_SUPPORT=ON -DINSTALL_PYTHON_EXAMPLES=ON
$ make -j 2
$ sudo make install

问题一

/home/usrname/opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp:120:54: error: ‘NppiGraphcutState’ has not been declared
     typedef NppStatus (*init_func_t)(NppiSize oSize,NppiGraphcutState** ppStat
                                                      ^
/home/usrname/opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp:135:18: error: ‘NppiGraphcutState’ does not name a type
         operator NppiGraphcutState*()
                  ^
/home/usrname/opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp:141:9: error: ‘NppiGraphcutState’ does not name a type
         NppiGraphcutState* pState;


解决方案:需要修改一处源码:

在graphcuts.cpp中将
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) 
改为
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

问题二

nvcc fatal   : Unsupported gpu architecture 'compute_11'  
CMake Error at cuda_compile_generated_matrix_operations.cu.o.cmake:206 (message):  
  Error generating  
/home/smie/Documents/opencv2.4.11/build/modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_gene  

rated_matrix_operations.cu.o  
make[2]: ***  
[modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_generated_matrix_operations.cu.o] Error 1  
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....  


使用以下命令解决

$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..

HDF5

点击库下载地址
Currently,the SWMR feature can only be tested on UNIX platforms. The SWMR testing is disabled on Windows.

PLEASE be aware: On UNIX platforms the HDF5 tests must be run on a local file system or a parallel file system running GPFS or Lustre in order for the SWMR tests to complete properly. For example:

cd LocalFSpath
    mkdir build
    cd build
    /path_to_HDF5_source/configure ...
    make
    make check
    make install

boost-devel

$ wget -O boost_1_55_0.tar.bz2 http://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2Ffiles%2Fboost%2F1.55.0%2F&ts=1385953406&use_mirror=softlayer-ams

$ tar jxvf  boost_1_55_0.tar.bz2
$ cd boost_1_55_0
$ ./bootstrap.sh
$ ./b2
$ sudo ./b2 install

glog-devel

$ sudo wget https://codeload.github.com/google/glog/zip/master
$ unzip glog-master.zip
$ cd glog-master
$ ./configure
$ make -j4
$ sudo make install

protobuf

$ wget -O protobuf.zip https://github.com/google/protobuf/archive/master.zip

$ unzip protobuf.zip
$ cd protobuf-master
$ ./autogen.sh
$ make && make check
$ sudo make install

leveldb-devel

$ sudo git clone https://github.com/google/leveldb.git
$ make
$ sudo cp -r include/leveldb /usr/local/include
$ sudo cp ./out-shared/libleveldb.so /usr/local/lib

openblas

$ git clone https://github.com/xianyi/OpenBLAS.git
$ cd OpenBLAS
$ make FC=gfortran (如果没有安装gfortran,执行sudo apt-get install gfortran)(centos是yum install gcc-gfortran)
$ sudo make PREFIX=/usr/local/install
$ ln -s /opt/OpenBLAS/lib/libopenblas.so  /usr/lib/libblas.so.3
$ ln -s /opt/OpenBLAS/lib/liblapack.so.3 /usr/lib/liblapack.so.3

安装依赖库后编译caffe

$ sudo cp Makefile.config.example Makefile.config
# Adjust Makefile.config (for example,if using Anaconda Python,# or if cuDNN is desired)
$ sudo make all
$ sudo make test
$ sudo make runtest

如果是新版的caffe会报以下错误:/

/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: cannot find -latlas。

解决方法:

sudo vim Makefile.config

修改以下代码:
BLAS := atlas (修改前)
BLAS := open  (修改后)

BLAS_INCLUDE := /usr/local/include/openblas (添加)

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim /etc/sysconfig/network-scripts/ifcfg-eth0 B...