天天看点

centos7.0 tesla k80 caffe 安装centos7.0 tesla k80 caffe 安装

centos7.0 tesla k80 caffe 安装

官方安装步骤:

General dependencies

Remaining dependencies, recent OS

Remaining dependencies, if not found

# glog
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/google-glog/glog-.tar.gz
tar zxvf glog-.tar.gz
cd glog-
./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=
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-.zip
$ cd opencv-
$ 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 
$ sudo make install
           

问题一

/home/usrname/opencv-/modules/cudalegacy/src/graphcuts.cpp::: error: ‘NppiGraphcutState’ has not been declared
     typedef NppStatus (*init_func_t)(NppiSize oSize, NppiGraphcutState** ppStat
                                                      ^
/home/usrname/opencv-/modules/cudalegacy/src/graphcuts.cpp::: error: ‘NppiGraphcutState’ does not name a type
         operator NppiGraphcutState*()
                  ^
/home/usrname/opencv-/modules/cudalegacy/src/graphcuts.cpp::: 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: (message):  
  Error generating  
/home/smie/Documents/opencv2/build/modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_gene  

rated_matrix_operations.cu.o  
make[]: ***  
[modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_generated_matrix_operations.cu.o] Error   
make[]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error  make[]: *** 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//boost_1_55_0.tar.bz2?r=http%A%F%Fsourceforge.net%Fprojects%Fboost%Ffiles%Fboost%F1%F&ts=&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
$ ln -s /opt/OpenBLAS/lib/liblapack.so /usr/lib/liblapack.so
           

安装依赖库后编译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 (添加)
           

继续阅读