MPI_Bcast:效率优势?

dsi*_*cha 5 c parallel-processing performance message-passing mpi

在MPI中,MPI_Bcast纯粹是一个便利功能还是使用它而不是仅仅循环所有等级并向所有等级发送相同的消息有效率优势?

理由: MPI_Bcast将消息发送到每个人,包括根的行为,是不方便我,所以除非有一个很好的理由,也可以进行不将消息发送到根我宁可不使用它.

Sha*_*hin 8

使用MPI_Bcast肯定比滚动自己更有效.在所有MPI实现中已经完成了许多工作,以基于诸​​如消息大小和通信架构之类的因素来优化集合操作.

例如,MPICH2中的MPI_Bcast将根据消息的大小使用不同的算法.对于短消息,二叉树用于最小化处理负载和延迟.对于长消息,它实现为二进制树分散,后跟全部集合.

此外,HPC供应商通常提供有效利用底层互连的MPI实现,尤其是集体操作.例如,可以使用硬件支持的多播方案使用可以利用现有互连的定制算法.