Re: Alpha-Linux FORTRAN

Andrew G. Morgan (morgan@water.physics.ucla.edu)
Mon, 11 Aug 1997 21:57:04 -0700 (PDT)


> I've been contemplating buying Microway's Fortran compiler.
>
> What sort of reservations do you have about it?? From your reply
> it sounds like you're not too happy. In particular, I have a PC164
> 500MHZ Alpha with RH 4.2 on it and f2c is failing to perform for
> my code. In particular, my PPro w/g77 can outperform it which is a bit
> worrisome. My concerns are:

Simply that we are seeing about 10% improvement of Microway's NDP
Fortran over f2c with gcc on our legacy fortran code. We have also
experienced some core dumping from the 'gvs' optimizer. Microway, to
their credit, are "working on it".

Over an UltraSparc I this is about a 50% speed up (for 1/3 the price)
but should be compared with a 300% speed up that we are seeing with
our 'C' code :) Yes, we want to eat our cake too.

> Does Microway FORTRAN support linking into gcc binaries? I use mixed
> C and FORTRAN with some occasional C++ thrown in.

In addition the compiler is a 32 bit one - meaning that we have to use
a modified kernel to support it, and the code is of course completely
incompatible with the output of gcc.

This is not all negative. Basically, the documentation with the
Microway compiler gives good advice on writing programs to get the
best out of the Alpha chip - optimum is not always the fewest
instructions on the alpha, as there are ways to make the alpha chip
execute 4 floating point instructions in one cycle... Unfortunately,
the compiler is not currently clever enough to untangle our legacy
code and we have not yet gained experience at writing for the alpha.
I hear that Digital's compiler is a little better at this code
reworking - this is of course totally annecdotal: there is no way we
can afford to buy an interesting number of Digital UNIX boxes.
(Although we would probably not hesitate to buy one or more Digital
compilers if they delivered the goods and would run under Linux...)

> What does it's performance look like on the 100x100 Linpack test?
> I've found this a good indication of what can be attained with a little
> tuning in many codes.

I have not run them. Generally, we have not had good experiences with
benchmarks. The gathered wisdom here is that the one true benchmark
is to simply run research project code ("physics") and see.

[Bear in mind that gcc has trouble unscrambling code that was written
with other architectures in mind -- some silly 'C' benchmark I wrote
runs faster on our alpha than on a Cray, but some 'C' a fellow
physicist wrote that was optimized for a Cray runs 12 times slower on
our alpha.. and strangely his code runs 10-20% faster on a 300 Mhz
Digital UNIX alpha than our 500 Mhz Screamer, so their must be some
magic known at Digital that the gcc people haven't gleened yet.]

> Would you be interested in running a small test code set that checks
> FORTRAN compiler performance (add,sub,mult,div,mult+add,multi+sub, etc.)
> I can mail a SHAR to you if you would send me a copy of the results.

Sure, but just for reference, you should state at some point how well
g77 does on the same code: I've not had much success so far getting
g77 to compile on our alpha machine and given a number of other things
to do, I'd like to know if it is worth the bother...

I've been searching high and low for a f90 compiler (yes we have some
people who have written some of this code). On Thursday of last week,
the NAG people said they had one for Linux/Alpha - so I'll soon have
some data on that. It comes with a recommendation from "Maddog"
himself, so I have high expectations! (It is supposedly a front end
for gcc so I guess this will do the interfacing you mentioned.)

For a summary, if you need one, we are _very_ happy with our machine.
It will likely be the first of many... We have just not made our mind
up on whether they will all come with "commercial" compilers or not...

I hope this explains the "jury is out" remark..

Cheers

Andrew