LoginSignup
1
3

More than 5 years have passed since last update.

GPU accelerated Caffe on CentOS 7

Last updated at Posted at 2016-06-27

事前準備

基本的には以下のページを参照.予め,関連するソフトウェアをインストールしておく必要がある.(特にcuDNN等)
http://caffe.berkeleyvision.org/installation.html

Caffeのダウンロード

GPUを使うので,NVIDIAのGithubからダウンロードする.

git clone https://github.com/NVIDIA/caffe.git nvidia_caffe

Make.configファイルの編集

$ cd caffe
$ cp Makefile.config.example Makefile.config

CUDNNの設定

GPUを有効にするためには, Makefile.configの中で,

USE_CUDNN := 1

とする. いま,CUDNNのヘッダファイルとライブラリは以下にインストールされていると仮定する.

CUDNN_INCLUDE := /usr/local/cudnn/include
CUDNN_LIB := /usr/local/cudnn/lib

また,今回使用するデバイスがTesla M40であるため,デバイスに応じたCompute Capabilityの設定を行う.が5.2用の設定をする.(設定しなくても動く).
各GPUのCompute Capabilityは以下を参照.
https://developer.nvidia.com/cuda-gpus

具体的には, Makefile.config中のCUDA_ARCHを以下のようにする. 

CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
             -gencode arch=compute_20,code=sm_21 \
             -gencode arch=compute_30,code=sm_30 \
             -gencode arch=compute_35,code=sm_35 \
             -gencode arch=compute_50,code=sm_50 \
             -gencode arch=compute_52,code=sm_52 \
             -gencode arch=compute_52,code=compute_52

Blasの設定

Blasの設定を行う. AtlasかMKLかOpenBlasが利用可能.

OpenBlasを使用する場合

Makefile.configのBLASの項目をを以下のように編集する.

BLAS := open

Atlasを使用する場合

CaffeのデフォルトのBLASライブラリの設定はAtlasである.
CentOS7でも,

yum install atlas-devel

とすると,Atlasのヘッダファイル(BLAS_INCLUDE)とライブラリ(BLAS_LIB)が以下にインストールされる.

BLAS_INCLUDE := /usr/include/atlas
BLAS_LIB := /usr/include/lib64/atlas

ただし,ビルドの際,Caffeでは,cblasとatlasのライブラリを探すが,CentOS7から名称がsatlasとtatlasに変更されたようなので,Makefile中を以下のように変更する必要がある.

78c378
<           LIBRARIES += cblas atlas
---
>           LIBRARIES += satlas tatlas

Makeの実行

その後,以下を行う.計算機上のプロセッサの総コア数がnとする.

$ make -j n all
$ make -j n test
$ make runtest

ただし,1台の計算機に複数のGPUデバイスが装着されている場合,runtestがfailするので以下の様にする.

$ export CUDA_VISIBLE_DEVICES=0
1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3