|
[Sponsors] |
January 25, 2010, 07:00 |
Parallel kill from inside the code
|
#1 |
Senior Member
John Deas
Join Date: Mar 2009
Posts: 160
Rep Power: 17 |
Hi,
I got a modified version of channeloodles that contains this piece of code: Code:
MPI_BARRIER if (Pstream::master()) { myPipe.push(runTime.timeName()); if(myPipe.pull()=="noFile" && feederStop) { Info << "!!! NO VALID INLET FOUND, ENDING RUN !!!"; myPipe.push("exit"); std::exit(0); } } MPI_BARRIER Code:
myPipe.pull()=="noFile" && feederStop MPI_BARRIER being a simple reimplementation as read in http://www.cfd-online.com/Forums/ope...tml#post234765 This piece of code works in serial execution, but in parallel run, std::exit(0) is only executed in the master proc. I would like a method so that, if the master proc detects a termination condition, all run exit. It can be noted that, while the master proc is testing the termination condition, the other procs are waiting for a reduction, as defined in MPI_BARRIER in the other thread. I would be happy even if the run could end abruptly, all processes just have to end. Can mpirun be asked to broadcast a kill signal to all the processes, for example ? Thank you JD |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
IcoFoam parallel woes | msrinath80 | OpenFOAM Running, Solving & CFD | 9 | July 22, 2007 03:58 |
Problems with MFIX code and Parallel Processing. | Fernando Pio | Main CFD Forum | 4 | August 29, 2006 15:33 |
Design Integration with CFD? | John C. Chien | Main CFD Forum | 19 | May 17, 2001 16:56 |
What is the Better Way to Do CFD? | John C. Chien | Main CFD Forum | 54 | April 23, 2001 09:10 |
own Code vs. commercial code | Bernhard Mueck | Main CFD Forum | 10 | February 16, 2000 11:07 |