MPI 中的障碍:如何实现障碍以使进程相互等待

问题描述

有没有办法在 MPI 代码添加一个屏障。

我的意思是障碍,我希望所有不同的处理器先完成到一个点,然后从那里继续。即处理器必须等待其他处理器完成代码直到该区域,然后才继续执行代码的其余部分。

例如

int main()
{
.
.
.
  //I want all my processors to do till this and 
   wait for other processers to complete till this point,and then resume the remaining part
.
.
.

}

有没有办法在 MPIch 中做到这一点?

解决方法

即一个处理器必须等待其他处理器完成 代码直到那个区域,然后才继续到剩下的部分 代码。

是的,您正在寻找的是例程MPI_Barrier

阻塞直到通信器中的所有进程都到达这个 例行公事。

注意事项

阻塞调用者,直到通信器中的所有进程都调用了 它;也就是说,只有在所有成员之后,调用才会在任何进程中返回 通讯器已进入通话。

要了解有关何时使用 MPI_Barrier 的更多信息,您可以阅读何时使用 I need to use MPI_Barrier()?

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...