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.