MPI排名流程

时间:2017-04-06 10:17:12

标签: mpi

我是MPI的初学者,所以我想确切知道MPI课程的等级定义,以及我们为什么需要它

例如,这里有两行代码:

int world_rank;
MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);

enter image description here

1 个答案:

答案 0 :(得分:1)

要理解这一点,您需要意识到MPI使用SPMD(单程序多数据)模型。这意味着如果您并行运行此程序,例如在4个进程同时,每个进程都运行自己的同一程序的独立副本。所以,基本问题是:为什么不是每个过程都做同样的事情?要使用并行编程,您需要进程来执行不同的操作。例如,您可能希望一个进程充当控制器,将作业发送给多个工作程序。排名是每个过程的基本标识符。如果在4个进程上运行,则上述程序将在不同进程上返回0,1,2和3的等级。一旦进程知道其等级,它就可以适当地行动,例如, “如果我的等级为零则调用控制器函数,否则调用worker函数”。