Re: [AMBER-Developers] mm_pbsa fix

From: MengJuei Hsieh <mengjueh.uci.edu>
Date: Thu, 29 Jul 2010 15:05:19 -0700

Hi,

We are not currently working on the fix, so your patch is not redundant. :-)
As long as you can pass the original tests, it should be just fine to push.

Best,
-- 
Mengjuei Hsieh, Molecular Biology & Biochem, Univ. of California Irvine.
> From: Thorsten M Woelfle <twoelfle.sdsc.edu>
> Reply-To: AMBER Developers Mailing List <amber-developers.ambermd.org>
> Date: Thu, 29 Jul 2010 23:51:55 +0200
> To: AMBER Developers Mailing List <amber-developers.ambermd.org>
> Subject: Re: [AMBER-Developers] mm_pbsa fix
> 
> Sorry the mail server has eaten the attachment ;)
> 
> Programs: mm_pbsa
> 
> Description: - make parallel version finish cleanly even if no STOP
>                parameter is specified; (the original version spawned
>                new threads even if no more snapshots were available;
>                these extra threads never finished)
>              - workaround for information exchange between master
>                and spawned threads to allow processing of more than
>                255 snapshots per program execution
>                (the problem was that the exit code was compared with
>                the snapshot number; however, exit codes are limited
>                to the range of 0-255 on Linux/Unix)
>              - ignore leading spaces in the input file, i.e. accept
>                e.g. " STOP 100" as well as "STOP 100"
> ------------------------------------------------------------------------------
> --- src/mm_pbsa/mm_pbsa_calceneent.pm.orig 2010-07-22 13:54:52.000000000 +0200
> +++ src/mm_pbsa/mm_pbsa_calceneent.pm 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
>        ############
>        $pnumber++;
>        $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"})){
> .. -234,9 +235,9 ..
>          unlink $npdb . $number;
>        }
>  
> -      # Finish fork
> +      # Finish fork (ATTENTION: valid exit codes are only 0-255)
>        #############
> -      $pm->finish($pnumber);
> +      $pm->finish($pnumber%256);
>  
>        # Delete procs_data
>        ###################
> .. -279,7 +280,8 ..
>    my $exit_code = shift;
>    my $pnumber = shift;
>  
> -  if($pnumber != $exit_code){
> +  # ATTENTION: exit codes can only be in the range of 0-255, thus, do a
> modulo on the snapshot number
> +  if($pnumber%256 != $exit_code){
>      die("Finished process $pnumber with PID $pid has wrong exit code
> $exit_code\nFor details see: $HTMLPATH#ana_finished_proc\n");
>    }
>  
> --- src/mm_pbsa/mm_pbsa_readinput.pm.orig 2010-04-26 14:21:22.000000000 +0200
> +++ src/mm_pbsa/mm_pbsa_readinput.pm 2010-07-22 15:19:42.000000000 +0200
> .. -62,6 +62,7 ..
>    while(defined($line = <IN>)){
>      next if($line =~ /^\#/ || $line =~ /^$/);
>      chomp($line);
> +    $line =~ s/^\s+//; # remove leading whitespace
>  
>      # Get .-entry
>      if($line !~ /^./ && $atflg eq ""){
> 
> 
> 
> On Jul 29, 2010, at 10:34 PM, Thorsten M Woelfle wrote:
> 
>> Hi mm_pbsa developers,
>> 
>> I am posting this for a guy from my home university, asking if
>> you are aware of that bug and have an alternative workaround.
>> If it is alright, I am going to push it to git. Just
>> want to make sure that this is not fixed redundant.
>> 
>> All the best
>> Thorsten
>> 
>>> Dear all,
>>> 
>>> I'm not sure if the Amber developers accept patches on this list
>>> or not (as there were no comments at all to the fixes I suggested
>>> several days ago).
>>> 
>>> Please find attached a cumulative patch for two crucial bugs in the
>>> parallel (threaded) version of mm_pbsa and an additional usability
>>> fix concerning the parsing of the mm_pbsa input file.
>>> 
>>> Details on the two crucial bugs can also be found in
>>> http://archive.ambermd.org/201007/0494.html
>>> http://archive.ambermd.org/201007/0501.html
>>> The usabulity fix removes leading spaces from the input file.
>>> 
>>> 
>>> Best regards,
>>> 
>>> thomas
>>> -- 
>>> Dr.-Ing. Thomas Zeiser, HPC Services
>>> Friedrich-Alexander-Universitaet Erlangen-Nuernberg
>>> Regionales Rechenzentrum Erlangen (RRZE)
>>> Martensstrasse 1, 91058 Erlangen, Germany
>>> http://www.rrze.uni-erlangen.de/hpc/
_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Thu Jul 29 2010 - 15:30:02 PDT
Custom Search