在大规模分布式训练过程中,如何做到计算和通信重叠?
NVIDIA 中国区HPC/DL 解决方案架构师程帅:
在GPU里面的话,因为通信的过程中和训练过程中其实底层都是CUDA,然后对于CUDA,它可以通过多流的方式做到有计算是一个或一些kernel,然后放在一个Stream里,通信的话你可以放到另外一个Stream里,Stream之间可以是它原生的,可以去根据GPU资源做到一个通信和计算的隐藏,然后可以做一个比较好的性能的增加,这个是通过Stream去做的。