<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'><div style="text-align: left;"><br></div><br><br><br><hr id="stopSpelling">> Date: Thu, 29 May 2008 14:51:13 +0200<br>> From: spoel@xray.bmc.uu.se<br>> To: gmx-users@gromacs.org<br>> Subject: Re: [gmx-users] Mdrun kills all other(single CPU)mdrun processes started by same father process?<br>> <br>> Peter Mueller wrote:<br>> > Dear Gromacs users,<br>> > <br>> > on a smaller cluster I start with a small C + MPI program via a system call several single CPU Gromacs mdrun jobs.<br>> > (For the cluster admin it's OK, because my system does not scale well and I need lots of small independent trajectories.)<br>> > All the mdrun jobs are independent and shouldn't know from each other.<br>> > Just to make sure that the jobs don't kill each I included a "MPI_Barrier(MPI_COMM_WORLD)" before the process call "MPI_Finalize()".<br>> > Now I realized that when the first single CPU mdrun finishes a TERM signal is send to all other mdrun jobs which are started by my C program.<br>> > After getting the TERM signal this mdrun jobs do one additional md-step and then write out a summary before stopping.<br>> > <br>> > In the manual page of mdrun I found following hint:<br>> > "When mdrun receives a TERM signal, it will<br>> > set nsteps to the current step plus one<br>> > ... all the usual output will be written to file.<br>> > When running with MPI, a signal to one of<br>> > the mdrun processes is sufficient, this signal<br>> > should not be sent to mpirun or the mdrun<br>> > process that is the parent of the others."<br>> > <br>> > I think mdrun is to clever :-). When it finishes it checks if the father process started any other mdrun jobs. If this is the case it send a TERM single to all this corresponding mdrun jobs.<br>> > Because my mdrun jobs are independent this behavior is my case wrong.<br>> > Is there any flag for "mdrun" to avoid this behavior?<br>> > <br>> > <br>> > Thanks<br>> > Peter<br>> > <br>> Why not use a script or queueing system?<br>> Much easier for the user.<br>> <br>> -- <br>> David van der Spoel, Ph.D.<br><br>I agree with David.<br><br>But mdrun nevers sends signals by itself.<br>The only thing that could happen it that one process finishes with a fatal error,<br>which would lead to all processes being terminated.<br><br>A script is the proper solution for your setup.<br>But if you really want to use MPI, mdrun already has the option -multi<br>which starts multiple simulations in parallel with MPI.<br><br>Berk.<br><br><br /><hr />Express yourself instantly with MSN Messenger! <a href='http://clk.atdmt.com/AVE/go/onm00200471ave/direct/01/' target='_new'>MSN Messenger</a></body>
</html>