Re: [AMBER] in PARALLEL does not finish

From: Thomas Zeiser <>
Date: Thu, 22 Jul 2010 16:22:38 +0200

On Mon, Jul 12, 2010 at 06:55:32PM +0200, Anselm Horn wrote:
> Dear all,
> I'm running an Nmode-Analysis of MM-PBSA from Amber11 (no patches) for a
> ligand-receptor-complex in parallel using the script. The
> input variable PARALLEL is set to 16, the number of cores on the local
> machine.
> However, the script does not finish properly:

seems to be an other bug in src/mm_pbsa/

When no new shanpshot file could be found, the loop is exited - but
a new process has already been forked and will not be terminated.
The following fix should cure the problem:

--- 2010-07-22 13:54:52.000000000 +0200
+++ 2010-07-22 15:06:30.000000000 +0200
.@ -164,13 +164,14 @@
       my $mol = $nmol . $number;
       $procs_data{$number}->{mol} = $mol;

+ my $ncrdfile = $ncrd . "$number";
+ last if(! -e $ncrdfile); # exit the loop (before forking a new thread) if there is no new input file
       # Start fork
       $pm->start($pnumber) and next;

- my $ncrdfile = $ncrd . "$number";
- last if(! -e $ncrdfile);
       print " Calc contrib for $ncrdfile\n";
       if($number == $r_gen->{"START"} &&
         ($r_gen->{"MM"} || $r_gen->{"GB"} || $r_gen->{"PB"} || $r_gen->{"MS"} || $r_gen->{"NM"})){

i.e. we have to check if the next file exists (and leave the loop
if not) BEFORE forking the next thread instead of AFTER (as
otherwise there will be no matching $pm->finish ...).

> After analyzing the last computed snapshot of the complex (entry in the
> log file: "Ana entropy"), it does not proceed to compute the receptor or
> the ligand coordinate files. The computing machine still has 16
> processes running with 100%, but nothing happens, no further
> output is generated until the queuing system kills the job.
> I then tried the case with just the receptor marked for analysis in the
> file, but the same thing occurred: After computing all
> entropy contributions for the receptor snapshots the script hangs before
> doing the final statistics analysis and output. The last file generated
> is the <file>_rec.all.out.
> It seems to me that the child processes do not finish properly, but
> maybe I also have an error in some input settings?

Dr.-Ing. Thomas Zeiser, HPC Services
Friedrich-Alexander-Universitaet Erlangen-Nuernberg
Regionales Rechenzentrum Erlangen (RRZE)
Martensstrasse 1, 91058 Erlangen, Germany
AMBER mailing list
Received on Thu Jul 22 2010 - 07:30:06 PDT
Custom Search