【问题标题】:difference between MPI_BCAST and MPI_SENDMPI_BCAST 和 MPI_SEND 之间的区别
【发布时间】:2012-10-17 04:08:55
【问题描述】:

我知道 MPI_SEND 将被暂停,直到 MPI_RECV 在目标节点中执行。 MPI_Bcast 呢?是否需要等到所有其他节点都收到?

【问题讨论】:

    标签: mpi


    【解决方案1】:

    MPI_Bcast 是一个集体操作,所以通讯器中的所有等级都必须调用它。返回成功时,保证数据传输完成。

    【讨论】:

    • 如果我理解正确的话,MPI_BCAST不需要所有其他节点显式调用“MPI_RECV”,并且在执行下一行时,MPI_BCAST已经完成,对吧?
    • 确实,不需要 MPI_Recv,因为接收者也必须调用 MPI_Bcast 并且接收是在该调用中处理的。
    • 知道了!顺便说一句,这是否意味着“MPI_BCAST”可以作为同步器(所有节点必须达到相同的 MPI_BCAST,然后集体广播)?
    • @HailiangZhang:学究气,不。当本地队列上的数据传输完成时,MPI_Bcast 可以返回。请使用 MPI_Barrier 进行同步。
    猜你喜欢
    • 2013-07-09
    • 2015-03-01
    • 2012-06-16
    • 1970-01-01
    • 2021-12-25
    • 2020-05-10
    • 2014-09-20
    • 2010-10-28
    • 2015-10-04
    相关资源
    最近更新 更多