gpt4 book ai didi

multiprocessing - 将节点进程与 MPI 和 FORTRAN 一起分类

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

我正在尝试使用 MPI 和 Fortran 进行实现,将同一节点上的进程分成组。 MPI 是否有可以识别的例程?

我想通过它们的主机名来分隔这些进程,这在我使用的机器的节点上是相同的。但我不知道它是否适用于所有集群。

最佳答案

您可能想查看 MPI_COMM_SPLIT_TYPE。它将允许您根据 split_type 拆分现有的通信器。你作为参数传入:

int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key,
MPI_Info info, MPI_Comm *newcomm)

现在,唯一的 split_type 是 MPI_COMM_TYPE_SHARED ,在标准中定义为:

This type splits the communicator into subcommunicators, each of which can create a shared memory region.



这通常与您要问的内容相同,但您必须在您的机器上仔细检查它是否正确。

您需要知道的另一件事是,这是 MPI-3 中的一个新功能,因此它可能不适用于 MPI 的所有实现。我知道它适用于 MPICH它是衍生品。 AFAIK,它在 Open MPI 的最新版本中不可用.因此,请确保您有一个实际支持它的 MPI 版本。

关于multiprocessing - 将节点进程与 MPI 和 FORTRAN 一起分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18130170/

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