我有一台8处理器的机器.我想在我的代码上使用OpenMP和MPI替代,如下所示:
OpenMP阶段:
MPI阶段:
到目前为止,我已经完成了:
这一切都奏效了.排名0确实启动了8个线程,但所有线程都限制在一个处理器上.在OpenMP阶段,我从一个处理器上运行的0级中获得8个线程,而所有其他处理器都处于空闲状态.
如何告诉MPI允许0级使用其他处理器?我正在使用英特尔MPI,但如果需要,可以切换到OpenMPI或MPICH.
mpi openmp
mpi ×1
openmp ×1