AMBER Archive (2002)

Subject: write problem on IBM-AIX

From: Giovanni Fossati (gfossati_at_rice.edu)
Date: Mon Sep 30 2002 - 10:51:54 CDT


                                              Monday September 30, 2002
Dear users,
we are still struggling to have sander_classic to run on IBM-AIX.
At first we had a slew of compilation problems, solved with yours and
Carlos Sosa's help. We implemented all the amber patches, and Carlos
Sosa's too, and updated the Machine files as well. The XLFR*** setting
fixed the namelist problem.

Now we would like to ask you about a "runtime" new problem.

I had sander_classic and sander (Amber6) compiled.
We have been using sander_classic all along, and so we are still
"migrating" to sander itself.
Anyway, now, it runs (with the namelist=old environment set), but
it does a weird thing.

It does NOT "finish" to write the output files... mdcrd and mden.
For a test run, where the mdcrd should have 108001 lines, it writes only 107985
The mden should have 5010 and it has instead 4980.
In both cases it is not simply cutting short by one iteration, but really
cutting the write of the coordinates and parameters for the last(s)
iteration.

For instance, the data in mdcrd for one "iteration" should take 18 lines.
The file ends with 2 full lines and the first three data for the third
line, and no 'newline'.

In mden a block of output for an "iteration" is 9 lines, but the file ends
with one truncated line....
Moreover this last "output" is two before the last one.

Anyway, if I look at the sizes of the files, mdcrd and mden, they are round
multiples of 1024, whereas the "correct" one are not.
So it seems like there is a problem with "flushing the buffer" (I apologize
for using sometimes imprecise terms) when the run ends.

A couple of people (using the same machine, but not with amber) suggested
me to try to compile with less aggressive optimization, because
optimization can shuffle things around, and maybe a file is not closed at
the right time, or stuff like that.
I changed -O3 to -O2 in the Machine file.
Even recompiled with this change, it still suffers from the same problem.

I tried then a "runtime environment option" (one of the XLFR*** settings)
that from the user's guide sounded appropriate for this problem:

setenv XLFRTEOPTS "namelist=old:buffering=disable_preconn"

The program slows down significantly (+50%), but still when it stops the
mden and mdcrd files are identical to the previous case, i.e. cut short.

Has anybody encountered the same problem?
Do you have a fix for this?

We never had any problem with output files on several "flavors" of linux
boxes, or Sun's, SGI's, Cray...etc...

The machine is a IBM Regatta, running AIX v5.
Compilers are IBM's xlf* and xlc*, XL fortran v7.
Program: from amber6, module sander_classic.

Thank you very much.
Best regards,

        Giovanni

------------------------------------------------------------------------------
 Dr. Giovanni Fossati +---------------------------+
 Dept. of Physics and Astronomy, MS 108 | Ph : (713)-348-3425 |
 Rice University | Fax : (713)-348-5143 |
 6100 Main street, Houston, TX 77005, USA | e-mail: gfossati_at_rice.edu |
-------------------------------------------------+---------------------------+