CUDA-aware MPI
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#changes-from-previous-version
例子:OpenMPI
用处:透明的把Host主存orGPU内存里的数据发送到对方Host主存orGPU内存; (省去了手动在Host和GPU之间Copy)
UVA,统一地址空间,例如Host主存映射到0~32GB, GPU主存映射到32GB~48GB,所以MPI调用无需对地址来自哪里的参数,从地址上进行区分的;
2个最大的优点:
1. 所有消息传递,都可以pipeline起来(应该是指大块内存分成小块,然后pipeline传输,设备A传第1块的时候设备2在传第2块)
2. 利用了GPUDirect等技术,把传输路径进行了精简;
以下是GPUDirect的好处:
1. Node和Node之间通信(Inter-Node)
2. 同一Node之间各GPU通信(Intra-Node)
3. 省去在Pinned主存之间Copy的环节 (主存和CUDA之间有一类pinned buffer; 主存和网络之间有一类pinned buffer;二者不是一回事儿)