[mpich-discuss] MPI polling question with MPI_Iprobe

Eric Hui Eric.Hui at ggy.com
Wed Sep 21 15:01:08 CDT 2011


Hi Pavan,

I used "smpd -set intermode_channel sock" and then restart the "MPICH2 Process Manager" windows service.  The application is still using up the entire CPU core in the MPI_Probe call.

Do I have to rebuild MPICH2 with the configuration parameters that you suggested in order to use this blocking mode?

Eric Hui
GGY AXIS
416-2503448
Eric.Hui at ggy.com

-----Original Message-----
From: Pavan Balaji [mailto:balaji at mcs.anl.gov] 
Sent: September-21-11 3:25 PM
To: mpich-discuss at mcs.anl.gov
Cc: Eric Hui
Subject: Re: [mpich-discuss] MPI polling question with MPI_Iprobe

Hi Eric,

On 09/21/2011 01:56 PM, Eric Hui wrote:
> I found that there is MPI_Probe and MPI_Iprobe. It seems like both of 
> these functions are doing polling instead of getting notification when 
> there is message arrived, so it is taking up 100% of the CPU power 
> even when it is just idling to wait for message.

Most MPI implementations are optimized for latency, so they poll frequently to ensure that. You can configure MPICH2 with --with-device=ch3:sock to get "blocking mode" (meaning MPI will sleep when there is nothing to do), but this is very implementation specific. 
If you configure MPICH2 differently or use a different MPI implementation, you might go back to the "polling mode" which you are currently seeing.

  -- Pavan

--
Pavan Balaji
http://www.mcs.anl.gov/~balaji


More information about the mpich-discuss mailing list