gpt4 book ai didi

mpi - 如何确定套接字/节点本地的 MPI 等级/进程号

转载 作者:行者123 更新时间:2023-12-04 01:38:36 27 4
gpt4 key购买 nike

比如说,我使用 MPI 运行一个并行程序。执行命令

mpirun -n 8 -npernode 2 <prg>

总共启动8个进程。即每个节点有 2 个进程,总共有 4 个节点。 (OpenMPI 1.5)。其中一个节点包含 1 个 CPU(双核),节点之间的网络互连是 InfiniBand。

现在,可以确定等级号(或进程号)
int myrank;
MPI_Comm_rank(MPI_COMM_WORLD, &myrank);

这将返回一个介于 0 和 7 之间的数字。

但是,如何确定节点号(在本例中为 0 到 3 之间的数字)和节点内的进程号(0 到 1 之间的数字)?

最佳答案

我相信您可以通过 MPI-3 以这种方式实现这一目标:

MPI_Comm shmcomm;
MPI_Comm_split_type(MPI_COMM_WORLD, MPI_COMM_TYPE_SHARED, 0,
MPI_INFO_NULL, &shmcomm);
int shmrank;
MPI_Comm_rank(shmcomm, &shmrank);

关于mpi - 如何确定套接字/节点本地的 MPI 等级/进程号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9022496/

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