Message-Passing-Interface:
是用于在分布式内存环境中为并行计算机编写可移植的代码。
我们有时候会使用mpi_send(mpi_recv)来进行点对点通信,从而实现从一个节点发送数据给另一个节点的功能。但是,有时候,我们需要从一个节点往其他所有节点都要发送东西,这个时候就会用到集合通信。
使用MPI_Bcast进行广播
从图中可以看出,MPI_Bcast会给所有节点发送相同的数据。
MPI_Bcast(
void* data,
int count,
MPI_Datatype datatype,
int root,
MPI_Comm communicator)
第一个参数data就是所要发送的数据,这个数据包含count个 datatype类型,root是指广播的节点,communicator是指通信子。
使用MPI_Scatter
和MPI_Bcast不同的是,MPI_scatter发送不同的数据给不同的节点。
MPI_Scatter(
void* send_data,
int send_count,
MPI_Datatype send_