Re: amber-developers: AMBER 9 Problems on IRIX and ALTIX

From: Ray Luo <rluo.uci.edu>
Date: Tue, 02 May 2006 12:19:55 -0700

Here is the bugfix. This should've been caught in Amber8 ... I don't
understand why it is okay with most compilers.

Best,
Ray

Ray Luo wrote:

> Hi Ross,
>
> Yes, this is a bug. I can reproduce the reported problem on an
> SGI/IRIX workstation. Fortunately, a oneline fix in "sa_driver.f"
> solves the problem. pbsa now passes all tests after the fix. After
> testing with ifort and g95, I'll check in the fix into Amber10 and
> upload a bugfix for both the pbsa and sander "sa_driver.f" tomorrow.
>
> Best,
> Ray
>
>
> Ross Walker wrote:
>
>> Hi All,
>>
>> Please see the message from Roberto below with regards to problems in
>> Amber
>> 9 on Irix and Altix. He has found a problem with an algorithm in pbsa.
>> However, this exact same algorithm is used in
>> $AMBERHOME/src/sander/sa-driver.f, $AMBERHOME/src/pbsa/sa-driver.f and
>> $AMBERHOME/src/pbsa/pb_sasa.f
>>
>> I suspect this is behind a number of problems we are seeing with PB test
>> cases on various machines.
>>
>> Can anybody see what is wrong with the algorithm / see a quick way to
>> fix
>> it?
>>
>> All the best
>> Ross
>

-- 
====================================================
Ray Luo, Ph.D.
Department of Molecular Biology and Biochemistry
University of California, Irvine, CA 92697-3900
Office: (949)824-9528         Lab: (949)824-9562
Fax: (949)824-8551          e-mail: rluo.uci.edu
Home page: http://rayl0.bio.uci.edu/rayl/
====================================================


Author: Ray Luo
Date: 05/2/2006

Programs: pbsa

Description: sa_driver.f has a statement causing a negative number to be
             taken square root. This is not correct, but most compilers,
             except sgi_mips/altix, allow it.

Fix: apply the following patch to amber9/src/pbsa/sa_driver.f

------------------------------------------------------------------------------
*** sa_driver.f Mon Apr 3 23:35:48 2006
--- sa_driver.f Tue May 2 12:05:09 2006
***************
*** 991,997 ****
           dyij = acrd(2,jatm) - yi
           dzij = acrd(3,jatm) - zi
           d2 = dxij**2 + dyij**2 + dzij**2
! if ( d2 >= (ri + rj)**2 ) cycle
            
           ! setting up indexes ...
            
--- 991,997 ----
           dyij = acrd(2,jatm) - yi
           dzij = acrd(3,jatm) - zi
           d2 = dxij**2 + dyij**2 + dzij**2
! if ( d2 >= (ri + rj)**2 .or. d2 <= (ri - rj)**2 ) cycle
            
           ! setting up indexes ...
            
------------------------------------------------------------------------------

Temporary workarounds: none
Received on Wed May 03 2006 - 06:07:11 PDT
Custom Search