MPI_BCAST和MPI_SEND之间的差异
我知道在目标节点中执行MPI_RECV之前,MPI_发送将暂停。那MPI_Bcast呢?它是否需要等待所有其他节点接收到它?MPI\u Bcast是一个集体操作,因此通信器中的所有列组都必须调用它。当它成功返回时,保证数据传输已完成。MPI\u Bcast是一个集体操作,因此通信器中的所有列组都必须调用它。当它成功返回时,保证数据传输已完成。如果我理解正确,MPI\u BCAST不需要所有其他节点显式调用“MPI\u RECV”,并且在执行下一行时,MPI\u BCAST已完成,对吗?事实上,不需要MPI\u RECV,因为接收者也必须调用MPI_Bcast,并且在该调用中处理接收。明白了!顺便说一句,这是否意味着“MPI_BCAST”可以作为同步器(所有节点必须到达相同的MPI_BCAST,然后共同进行种类广播)?@HailiangZhang:要学究一点,不。当本地列上的数据传输完成时,MPI_BCAST可以返回。请使用MPI_屏障进行同步。如果我理解正确,MPI_BCAST不需要所有其他节点显式调用“MPI_RECV”,在执行下一行时,MPI_BCAST已经完成,对吗?事实上,MPI_RECV是不需要的,因为接收方也必须调用MPI_BCAST,并且在该调用中处理接收。明白了!顺便说一句,这是否意味着“MPI_BCAST”可以作为同步器(所有节点必须到达相同的MPI_BCAST,然后共同进行种类广播)?@HailiangZhang:要学究一点,不。当本地列上的数据传输完成时,MPI_BCAST可以返回。请使用MPI_屏障进行同步。MPI_BCAST和MPI_SEND之间的差异,mpi,Mpi,我知道在目标节点中执行MPI_RECV之前,MPI_发送将暂停。那MPI_Bcast呢?它是否需要等待所有其他节点接收到它?MPI\u Bcast是一个集体操作,因此通信器中的所有列组都必须调用它。当它成功返回时,保证数据传输已完成。MPI\u Bcast是一个集体操作,因此通信器中的所有列组都必须调用它。当它成功返回时,保证数据传输已完成。如果我理解正确,MPI\u BCAST不需要所有其他节点显式调用“MPI\u RECV”,并且在执行下一行时,MPI\u BCAST已完成,对吗?事实上,不