Hi Digital Unix Managers,
I'm forwarding this message in behalf of one of our professors. Can
anyone shed light on whether there is a problem with the FORTRAN optimizer?
Email any replies to me and I will forward it along. I will also have
him summarize.
Thank you,
Diane Ibaraki
University of Hawaii
High Energy Physics Group
<diane_at_uhhepj.phys.hawaii.edu>
--------------- forwarded message below -------------------------------
We are running the Beijing Electron Spectrometer (BES)
analysis code in Hawaii on DEC AXP's under OSF version 2.0 and 3.0.
This is a large Fortran program, approximately 3 Mbytes when linked,
which runs on many platforms at many different US universities and at
the Institute for High Energy Physics (IHEP) in Beijing, China.
Recently we found a problem running the current version of the
program in Hawaii. The problem occurs in subroutine NEVLOG in the
following lines (I put print statements just before and after these
lines):
IBF3 = ISHFT(TOTTKS,24)
IBF3 = ISHFT(IBF3,-16)
This gives IPB3 = 0 even though TOTTKS isn't zero. TOTTKS and IBF3
are both declared integer. We use the default optimization, O4. If
I change optimization to O0, the problem goes away. The program runs
correctly on other platorms, IBM Risc and HP, with or without
optimization.
If I write a stand alone program to do the same thing, it
works ok with the optimization on. The same statements are used
elsewhere in subroutine NEVLOG. At these other locations, they work
ok with optimization on.
By slightly modifying the program (changing IBF3 to ITEMP in
the first line and on the right on the second line), it works ok with
optimization on. However, one feels very uncomfortable fixing program
problems in this fashion. We also do not wish to turn off the
optimization because of the much greater time involved in data
processing. (We are currently trying to process 2 million events).
Is this possibly an optimization problem?
Fred Harris
Received on Wed Apr 05 1995 - 13:50:24 NZST