如何解决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()?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。