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来充分利用多块显卡的优势。
网上资料并不全,需要自己慢慢摸索:
一:准备上手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