1. 程式人生 > >叢集管理——caffe多片gpu nccl配置,按照官方連結文件進行操作安裝成功,需要提前將下文提到的3個檔案下下來,make install方式不行

叢集管理——caffe多片gpu nccl配置,按照官方連結文件進行操作安裝成功,需要提前將下文提到的3個檔案下下來,make install方式不行

NCCL是Nvidia Collective multi-GPU Communication Library的簡稱,它是一個實現多GPU的collective communication通訊(all-gather, reduce, broadcast)庫,Nvidia做了很多優化,以在PCIe、Nvlink、InfiniBand上實現較高的通訊速度。
之前我們使用digits5的時候可以採用多片卡協同工作,但是後來發現那個並沒有多大的使用價值(除了演示),於是自己配置我們的caffe.我們採用了八片NVIDIA顯示卡,是支援NCCL的型別(中低端顯示卡不支援這個,NVIDIA官網列出來的),之前在編譯CAFFE的時候並沒有開通USE_NCCL=1的選項,現在我開始配置NCCL來充分利用多塊顯示卡的優勢。
網上資料並不全,需要自己慢慢摸索:
  • 1
  • 2
  • 3

一:準備上手nccl2(最好cuda9.0以上!!!) nvidia官方說明:http://docs.nvidia.com/deeplearning/sdk/nccl-install-guide/index.html#down nvidia官方nccl下載地址:https://developer.nvidia.com/nccl/nccl-download 其中兩個deb檔案和一個txz檔案都需要登入NVIDIA並且填寫反饋表才能下載。。。。。 不想填寫的話就從百度網盤下吧: http://pan.baidu.com/s/1i5aO0qL h2sc 把三個檔案都下載到電腦,然後解壓sudo dpkg -i xxxx.deb\xxx.deb 更新 # sudo apt update 安裝 libnccl-dev的 包: #sudo apt-get install libnccl2 libnccl-dev 把txz檔案移動到/usr/local下解壓 # cd /usr/local #tar xvf nccl.xxxxxxx.txz 然而發現我的cuda是8.0的不支援這個nccl2,果斷棄坑

二:安裝nccl(1) 特別注意:還有如果gcc版本太低,會出現編譯錯誤,gcc需要最低版本4.8。 我就是從4.7升級到了4.8: sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get install gcc-4.8 sudo apt-get install g++-4.8 gcc –version g++ –version 還是老老實實的安裝nccl1,支援cuda6.5以上版本(本機使用的是cuda8.0+cudnn v6)。 1.首先下載nccl: cd /usr/local wget

https://github.com/NVIDIA/nccl/archive/master.zip 2.解壓: sudo unzip master.zip cd nccl-master/ 3.安裝: sudo make CUDA_HOME=/usr/local/cuda-8.0/ test (按照自己的cuda地址) make install (加sudo的話報錯了,不加的話連結正常)

重新make caffe吧,然後就可以開啟並行訓練了!!!! 只需要在Makefile.comfig檔案中把use_nccl=1的註釋去掉,然後在/caffe/目錄下

sudo make clean  
make all -j20  
make pycaffe -j20  
make test -j20
  • 1
  • 2
  • 3
  • 4

sudo make -j20 runtest # take long time sudo make py sudo make distribute

然後就可以正常使用了。