AMBER Archive (2007)

Subject: AMBER: pmemd source issues

From: Thomas Zeiser (thomas.zeiser_at_rrze.uni-erlangen.de)
Date: Wed May 09 2007 - 06:33:11 CDT


Dear All,

I compiled pmemd9 (including Amber9 patches 1-34) using the latest
Intel EM64T compiler and enabled extensive runtime error checking
(-g -traceback -check all). Two types of issues came up:

1) contraints.f90 only allocates "amt_igroup" if "ibelly" is set.
degcnt() is called from runmd.f90 and "amt_igroup" is passed in all
cases. The Intel compiler now complains (if ibelly is not set)
that "integer :: igrp(*)" is not allowed as an unallocated variable
is accessed.
An "allocate(atm_igroup(0))" in constraints.f90 solves this issue.

A similar behaviour is observed for "gbl_loadbal_node_dat" which
gets only allocated on the master process (alltasks_setup.f90).

I did not check the Fortran standard if using "type :: var(*)" is
allowed or not (I guess "no" as an unallocated variable does not
have any defined ranges which can be used for the assumed shape) -
but passing a valid variable seems to be a good idea anyway.

2) The probably more sever issue was detected in find_img_range()
from img.f90. At least for the testcase I got from our chemistry
people, "my_img_lo" is one unit larger than "img_cnt", thus, the
check "img_atm_map(img_i) .lt. 0" causes an array bound violation.
No idea about the implication of that (or a correct fix).

Kind regards,

Thomas Zeiser

-- 
Regionales Rechenzentrum Erlangen / HPC-Services
Martensstr. 1, 91058 Erlangen, GERMANY
-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu