首页 > 解决方案 > MPI 启动这么多进程有多准确

问题描述

在获得了在集群上使用 MPI 的一些经验之后,我最近开始在我的计算机上运行 MPI 进行一些练习。我有一个双核处理器,但很好奇如果我指定大量进程会发生什么,令我惊讶的是它起作用了。

mpirun -np 40 ./wha

这究竟是如何发生的。即使考虑到单个处理器可能产生的线程数,这似乎也是不可能的。

标签: cparallel-processingcompilationmpimpich

解决方案


在 OpenMPI 的情况下,如果运行的进程数大于处理器数(即发生超额订阅时),OpenMPI 开始以降级模式运行 MPI 进程。以降级模式运行意味着将其处理器让给其他 MPI 进程以取得进展(即发生时间共享)。mpi_yield_when_idle可以设置为 0 以显式地使模式积极,在这种情况下,MPI 进程不会自愿将处理器交给其他进程。

这里


推荐阅读