gpt4 book ai didi

c - 仅让两个进程在 MPI 中执行代码 - 虽然不知道哪些进程将进入代码段

转载 作者:太空宇宙 更新时间:2023-11-04 06:41:52 24 4
gpt4 key购买 nike

我有一个 C 语言的 MPI 程序。程序的一部分可以到达任意数量的进程。我只想要 2 个进程做某事,我希望其余的不做任何事情。不知道哪个进程 ID 会到达程序的这一部分,所以我不能这样做:

if(rank == 0 || rank == 1) { 
// do something
}
// (else do nothing)

但是 rank-0 和 rank-1 进程可能永远不会到达这里。不过,我确实知道至少两个进程会到达这里。

如何在 MPI 中实现这一点?

非常感谢 :)。

最佳答案

分别启动两个进程,您必须编写代码才能到达那里,然后使用排名确定。

编辑:在所有进程之间创建一个共享整数,一个进程在到达该代码补丁时会递增,下一个进程也会递增,并用 if 条件标记有问题的代码,这样它就不会运行,除非这个共享整数,小于2。

关于c - 仅让两个进程在 MPI 中执行代码 - 虽然不知道哪些进程将进入代码段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6808819/

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