我有一个MPI程序,它超额订阅/超额承诺了其处理器。也就是说:有比处理器更多的进程。
然而,在给定时间内只有少数这些进程是活跃的,所以不应该争夺计算资源。
但是,就像《海底总动员》中的海鸥群一样,当这些进程等待通信时,它们都在忙碌地循环,问“我的?我的?我的?”
我同时使用Intel MPI和Open MPI(针对不同的机器)。如何使它们都不要忙碌循环?
我的简单粗暴的解决方案是使用MPI_Iprobe
和Sleep
命令结合循环(参见这里)。
我有一个MPI程序,它超额订阅/超额承诺了其处理器。也就是说:有比处理器更多的进程。
然而,在给定时间内只有少数这些进程是活跃的,所以不应该争夺计算资源。
但是,就像《海底总动员》中的海鸥群一样,当这些进程等待通信时,它们都在忙碌地循环,问“我的?我的?我的?”
我同时使用Intel MPI和Open MPI(针对不同的机器)。如何使它们都不要忙碌循环?
我的简单粗暴的解决方案是使用MPI_Iprobe
和Sleep
命令结合循环(参见这里)。