There is no such option for MPICH. If you configure with ch3:sock, which waits for the progress with blocking `poll`, I think it will not hog the CPU by default, for other configurations, it always busy waits.

Is using MPI_Iprobe + MPI_Test an option for you? If your process can afford latency, then you can control your own sleep cycles between MPI_Test. If MPICH will implement such non-busy-wait option, internally it will just do the same test-sleep cycles.

 

-- 
Hui Zhou

 

 

From: "Mccall, Kurt E. (MSFC-EV41) via discuss" <discuss@mpich.org>
Reply-To: "discuss@mpich.org" <discuss@mpich.org>
Date: Wednesday, June 3, 2020 at 3:57 PM
To: "discuss@mpich.org" <discuss@mpich.org>
Cc: "Mccall, Kurt E. (MSFC-EV41)" <kurt.e.mccall@nasa.gov>
Subject: [mpich-discuss] Controlling MPICH busy-wait behavior

 

Is there a means to tell MPICH to yield to other processes when performing a busy-wait for incoming messages?   The page below distinguishes between “aggressive busy-wait” and “degraded busy-wait”, where the latter is what I’d like to try.

 

https://stackoverflow.com/questions/14560714/probe-seems-to-consume-the-cpu/14562840#14562840

 

 

Thanks,

Kurt