gpt4 book ai didi

parallel-processing - MPI:主从模式,主控也在工作

转载 作者:行者123 更新时间:2023-12-04 04:14:18 24 4
gpt4 key购买 nike

我正在实现一个标准的 MPI master/slave 系统:有一个 master 分配工作,还有一些 slave 请求 block 和处理数据。

但是...如果以一种简单的方式实现(rank==0 是 master,其余是 slave),master 最终不会做任何实际工作,但仍然需要一个核心来处理几乎不需要实际计算能力的事情。所以我尝试在 master 中实现一个单独的“调度程序”线程,但这涉及到向自身发送 MPI 消息,并且没有真正起作用......

你有什么解决办法吗?

最佳答案

我在谷歌搜索后意识到:您可以使用标签 向自己发送消息。标签是一种过滤器:如果您只对 tag==1 执行 recv,那么您将只收到那些,后面的消息可以覆盖前面的消息。

那么,至于解决方案:

  • 用不同的 id 标记“scheduler to worker”和“worker to scheduler”消息
  • 如果 rank==0:启动一个调度线程
  • 之后,无论等级如何,都要求工作。

这样,排名 0 的 worker 将不会收到自己的“让我工作”消息,因为它们将有一个“仅由调度程序接收”标签。

编辑:这个东西似乎并不是线程安全的虽然......(=它有时会在“free()”中崩溃,即使它是写的在 Python 中......)所以我仍然对真正的和经过验证的解决方案感兴趣 :)

关于parallel-processing - MPI:主从模式,主控也在工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13188246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com