[net.lang] A decent fortran under Unix?

henk@ace.UUCP (Henk Hesselink) (03/19/86)

In article <199@mdivax1.UUCP> kenward@mdivax1.UUCP writes:

> The question is, where?  Myself and a number of others have
> posted requests for information on a GOOD fortran compiler for
> unix.  A definite, useful answer has yet to appear (at least,
> that I have not seen any).

I am not particularly happy about commercial articles, but there have now
been so many articles and so many requests:

  We have a fortran 77 compiler for 68k systems that is validated to full
  level fortran, ANSI standard X3.9-1978, by the Federal Software Testing
  Centre (General Services Administration).  It also runs on Vaxen.

If you're interested, there is more info at the end of the article,
otherwise hit the 'n' key after the next paragraph (or maybe before:
it's my 2 cents contribution to the Unix fortran discussion :-).

There seem to be two main arguments used by fortran people against Unix
fortrans: accuracy and performance (especially Whetstones).  Most Unix
fortrans lose on floating point accuracy but it is a solvable problem.
Lack of performance is another kettle of pisces though.  For instance,
VMS fortran 77 on a VAX780 with FPA runs about 1M Whetstones, there is
little chance a Unix fortran will get close to this.  One reason is
that VMS fortran is written very close to the Vax architecture, another
is that DEC has spent a LOT of man-years on it, e.g. the optimiser will
do just about everything but sit up and beg.  Certainly there is *no
way* you'll get that kind of performance on your average 68k Unix box
(then again, when is DEC bringing out its fortran for 68k machines? :-)
On a 68000 with software floating point a full precision fortran will
probably only do about 25k Whetstones, there is an accuracy/performance
trade-off: using the Motorola Fast Floating Point format for instance
the same machine runs about 70k Whetstones.  BUT, when validating a
Pascal compiler using that format our ISO Pascal validation suite
reported 1 (one!) bit of precision left in the mantissa, not much use
for numerical applications.  Using the NS 16k floating point chip the
68000 can do about 80k Whetstones, but at a minimum you need a 68020
with the 68881 chip to catch up with a VAX.

--

Full-Name:    Henk Hesselink
UUCP-Path:    ..!seismo!mcvax!ace!henk
Organisation: ACE Associated Computer Experts bv.
              Amsterdam, The Netherlands.
Phone:        +31 20 262400
Telex:        11702 ace nl

-- (WARNING: hype) --

Fortran 77 is one of a family of compilers.  Some others are C, Pascal,
modula-2, cobol.  It uses full precision IEEE floating point maths,
either in software or using a maths coprocessor.  The compiler
has been validated to full level fortran 77 by the FSTC for 68k type
machines.  It will also run on Unix Vaxen (System V and Berkeley), both
native and as cross-compiler to 68k type machines, and on VMS (4.2) as
cross-compiler to 68k type machines.  The standard has been extended
with the EIA bit manipulation features.  All compilers are supported by
a global tree optimiser as well as the standard Unix peephole optimiser.
They can be brought up on 68k and Vax systems in 2 to 4 days.

Two examples of where the fortran compiler is currently being used:
  - at the European Centre for Nuclear Research (CERN) in Switzerland,
    for data processing, controlling real-time applications, etc.
  - at the Technical Physics Research institute (TNO) in the Netherlands,
    for e.g. finite-element calculations.