[MPICH] Stopping processors?

Rajeev Thakur thakur at mcs.anl.gov
Tue Apr 24 10:59:02 CDT 2007


You could have all processes post an MPI_Irecv and then periodically call
MPI_Iprobe to see if there is an incoming message. The process that finishes
first sends others a stop message.

Rajeev 

> -----Original Message-----
> From: owner-mpich-discuss at mcs.anl.gov 
> [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of Michaela Heyer
> Sent: Tuesday, April 24, 2007 9:21 AM
> To: mpich-discuss at mcs.anl.gov
> Subject: [MPICH] Stopping processors?
> 
> Hi,
> I'm hoping someone can help me with this...
> Essentially I'm looking for a way to tell one or more 
> processors to stop 
> whatever they are currently doing and move on to something else. The 
> situation is as follows: Let's say we have n processors all 
> working on 
> different algorithms. I only really need the result of one of these 
> algorithms so whichever processor finishes first should tell 
> all the other 
> ones to stop so they can all move on to the next problem. 
> It's a bit like a 
> race...and speed is vital! (That's why I can't really wait 
> for all processors 
> to finish their algorithms)
> At the moment I'm using MPI_Abort() to shutdown the whole 
> process. This works 
> fine and does exactly what I need but the problem is that it 
> is very very 
> slow as it shuts down and restarts all the processors. So 
> what I'm looking 
> for is something like a "milder" version of MPI_Abort() i.e. 
> stop everything 
> but don't shutdown the processors.
> I have been looking but can't find anything sutitable so I'm 
> starting to think 
> that maybe it's impossible? It would be great if you could 
> prove me wrong :-)
> Thanks,
> Michaela
> 
> 




More information about the mpich-discuss mailing list