MPI分布式,无序

2024-04-29 07:47:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想编写一个MPI程序,主线程在其中不断地向工作线程提交新的作业(也就是说,不仅仅是在开始时,像MapReduce模式中那样)。你知道吗

首先,假设我向100名员工提交100份工作。你知道吗

然后,我想在一个工人完成一项工作时得到通知。我将发送下一个作业,其参数取决于迄今为止收到的所有结果。结果的顺序不必保留,我只需要它们完成时就可以了。你知道吗

<>我可以用C/C++ + Python工作。你知道吗

从文档来看,我似乎可以广播N个作业,并收集结果。但这不是我所需要的,因为我没有所有可用的,聚集会阻塞。我正在寻找一个异步,任何工人接收调用,基本上。你知道吗


Tags: 文档程序参数顺序作业模式员工线程
1条回答
网友
1楼 · 发布于 2024-04-29 07:47:39

您可以使用MPI_ANY_SOURCEMPI_ANY_TAG从任何地方接收。接收后,您可以从MPI_Status结构中读取信息(源和标记),该结构必须传递给MPI\u Recv调用。你知道吗

如果您使用这种方法,则不需要任何异步通信,因为主设备“侦听”每个人请求新作业并返回结果;每个从设备执行其任务,然后将结果发送给主设备,请求新作业并等待主设备的答复。你知道吗

您根本不必使用散布/聚集,因为这些都是用于数据数组的集合,而且您的问题似乎有或多或少的独立任务。你知道吗

相关问题 更多 >