2017-04-09 13 views
2

複数のgpusでcaffeを使用しようとすると問題が発生します。次のコマンドを実行すると、以下のエラーログが表示されます。複数のGPUトレーニングはcaffeで利用できません

caffe train -solver $SOLVER -gpu 0,1 2>&1 | tee $LOGGING 

F0409 14:17:22.355074 12079 caffe.cpp:254] Multi-GPU execution not available - rebuild with USE_NCCL 
*** Check failure stack trace: *** 
    @  0x2aee66002b2d google::LogMessage::Fail() 
    @  0x2aee66004995 google::LogMessage::SendToLog() 
    @  0x2aee660026a9 google::LogMessage::Flush() 
    @  0x2aee6600542e google::LogMessageFatal::~LogMessageFatal() 
    @   0x40c172 train() 
    @   0x4084f3 main 
    @  0x2aee78f67b35 __libc_start_main 
    @   0x408f0b (unknown) 

ここで間違っていることを説明できる人はいますか?私が気付いていないカフェのバグはありますか?

+4

NCCLは、マルチGPU通信に使用されます。 makefile.configで 'USE_NCCL:= 1'を有効にする必要があります。その後、再構築します。 – lnman

+0

質問に答えるのではなく、なぜコメントを残しましたか?だから私はあなたに信用を与えることはできません。うん、私はそれをやろうとします! @Inman – thigi

+0

解決策の中には、回答が不十分すぎるものがあります。 @インマンはそれをコメントとして残してくれました。 :-) – Prune

答えて

1
  1. インストールCUDA
  2. インストールcuDNN
  3. 依存関係をインストール

    $須藤はapt-getをインストールlibprotobuf-devのlibleveldb-devのlibsnappy-devのはlibopencv-devのlibhdf5シリアル-devのいるProtobufコンパイラlibgflags -dev libgoogle-glog-devのliblmdb-devのlibatlasベース-devのgitの
    $須藤はapt-getをインストール--no-インストール-をお勧めしますlibboost-すべて-devの

  4. インスタll NCCL

NVIDIA NCCLは、複数のGPUでCaffeを実行するために必要です。/usr/localには、

$ git clone https://github.com/NVIDIA/nccl.git 
$ cd nccl 
$ sudo make install -j 

NCCLライブラリとヘッダは/ usr/local/libにインストールされ、/:NCCLは、以下のコマンドでインストールすることができます。

  • はカフェ
  • 非コメント行USE_CUDNNインストール:これはcuDNN加速を可能に= 1.。

    USE_NCCL:= 1行のコメントを外します。これにより、複数のGPUでCaffeを実行するために必要なNCCLが有効になります。

    ファイルを保存して閉じます。これでCaffeをコンパイルする準備ができました。

    $ make all -j 
    

    このコマンドが完了すると、Caffeバイナリはbuild/tools/caffeで利用できます。

    関連する問題