caffe USE_NCCL


原文链接: caffe USE_NCCL

使用cmake编译caffe, 使用多GPU,更改nccl无效,

USE_NCCL = 1

在caffe_root目录中执行命令

$mkdir build
$cd build
$cmake ..

显示配置为:

USE_NCCL 为OFF,再使用cmake编译之后使用多gpu进行训练时会报错,提示未使用nccl。

解决方法先看nccl是否安装成功,
安装步骤为

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

头文件和链接库都已经生成,说明是nccl已经安装好了。

再在CMakeLists.txt里面发现:

在Makefile.config中更改USE_NCCL 后,CMakeLists.txt中的配置是没有发生改变的,手动将OFF改为ON以后,保存再使用cmake编译caffe。
完成后使用多gpu进行训练。

使用多GPU成功。
————————————————
版权声明:本文为CSDN博主「oneTaken」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011394059/article/details/73732707

提示nccl没有安装,于是百度了一下,需要下载nccl源码安装,然后就是修改caffe的编译选项。由于我用的make编译的,需要该2个地方:

  1. 在Makefile.config文件中加

USE_NCCL := 1
INCLUDE_DIRS += /home/xd133/nccl/build/include
LIBRARY_DIRS += /home/xd133/nccl/build/lib

  1. 在Makefile中加

ifeq ($(USE_NCCL), 1)

LIBRARIES += nccl
COMMON_FLAGS += -DUSE_NCCL

endif

同时需要该链接库的路径:

打开.bashrc文件
sudo gedit ~/.bashrc
末尾加入:
export LD_LIBRARY_PATH=/home/xd133/nccl/build/lib:$LD_LIBRARY_PATH
关闭,执行下面命令使其生效
source ~/.bashrc
————————————————
版权声明:本文为CSDN博主「wudi_X」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wudi_X/article/details/80012764

`