如果我在具有2个CPU的单台计算机上运行一个需要3个节点(即mpiexec -np 3 ./Program)的MPI程序,会发生什么情况?

最佳答案

当然,这取决于您的MPI实施。它很可能会创建三个进程,并使用共享内存来交换消息。这样就可以正常工作:操作系统将在这三个进程之间分配两个CPU,并始终执行一个就绪的进程。如果某个进程等待接收一条消息,它将阻塞,并且操作系统将调度其他两个进程之一运行-其中一个将是发送消息的进程。

08-03 13:31