performance / f2c bug

Arno PAHLER (paehler@atlas.rc.m-kagaku.co.jp)
Fri, 14 Jun 1996 00:03:57 +0900


To those who read my previous posts on performance: today I got a loan
21064A-275 system - I could fix one of my two real-life tests of the
'didn't run' category - the last READ statement in the program had no
END=### clause - any other system in the world didn't seem to have
trouble with that, including Intel linux - AXP linux did: the program
died with end-of-file error. I inserted an END=label there and all was
fine. I 'f2c'-ed the Fortran source on a P6-200, ftp-ed to the AXP and
compiled it there - why that ?

Well, here are the bad news:

1) Please study the stuff below - I get this error on EVERY program
I tried. The system came with RedHat 2.1 - so I installed a complete
RedHat 3.0.3 on top - no change. I took the sources and compiled libc
with -mieee and recompiled f2c - no change. I noticed a bunch of
warnings of 'pointer cast to integer of different size' or so when
compiling f2c.

2) time in /bin/tcsh is broken and so is /usr/bin/time - the times
come out ridiculously low, so I relied on 'date'. 'ps' by the way
gives funny numbers too. Using 'date' on a P6-200 and on the AXP
21064A-275 I get:

PentiumPro-200 9 seconds
AXP 21064A-275 24 seconds

Another program:

PentiumPro-200 29.7 seconds (this program times internally)
AXP 21064A-275 40.2 seconds
(this was around 23 seconds on a 21164-300).

Both machines are about equal on SPECfp 92/95 and the code is
predominantly floating point. On the AXP I compiled with -O2,
-O and -O3 were slower, -O3 a little, -O a little more.

My summary: I give up - I'll get two PentiumPro instead, maybe
even dualPPro - one program is parallelized using PVM and works
very nicely on a dual P5-100 running SMP linux (cache contention
is a problem, but should not be for the P6). In a year or so I
may be contemplating an Alpha again (21164A-500 maybe ?-).

My question: has anyone ever used the RedHat 3.0.3 (or 2.1) linux
f2c on the Alpha successfully (for non-trivial programs)? Has anyone
an idea what is wrong - you obviously see what makes f2c fail in
the code.

Arno

-----------------------------

program x
dimension fii(10)
end

program y
c dimension fii(10)
end

x.f:
MAIN x:
Warning on line 3 of x.f: local variable fii never used
Compiler error line 3 of x.f: floating exception during
constant evaluation; cannot recover

y.f:
MAIN y: