(This page continues the explanation from Who Uses It?.)
The computing lingua franca
of the number-crunching community has,
for some time, been the programming language named Fortran,
a name that has been claimed to derived from the phrase
FORmula TRANslation
.
Due mostly to its advanced age, and the desire to preserve the
huge investment in education and old code,
Fortran has retained many less-than-elegant linguistic features.
This often makes it the target, or butt, of jokes among
the computer-science cognescenti
,
but the people using it are usually too busy getting real work done
to notice.
These people are Real Programmers, and they know it.
g77 offers Real Programmers a more consistent, portable dialect of FORTRAN 77 than they might otherwise find across the wide range of machines they (or their users) wish to use.
For example, HIRLAM,
while best suited for the sort of classic big iron
,
on which g77 generally doesn't run,
also offers GNU fortran
(as they call it) compatibility.
Another example of g77 usage is found in the Avalon project at Los Alamos National Laboratories. (See question 13 in the FAQ.)
The following is a combination of two e-mails I received this month, with anti-spam-harvesting modifications.
From: Klaus Pachler <Klaus.Pachler at imech.TU-Chemnitz.DE> Date: Wed, 8 Sep 1999 11:16:48 +0200 (METDST) To: craig at jcb-sc.com Subject: Re: g77 User Content-Type: text/plain; charset=X-roman8 X-UIDL: 0e050f77a4a502045dc7f2f0c06c47c9 Dear James; I am a CFDdeveloper who uses two solvers for two phase flow applications on HP-UX and linux 6.1. Those codes are written in ANSI C and F77. G77 is used on the linux i686 computer running the FIRE code. I am planning to port a MPI version of FIRE to the linux system. The second code Mistral was originally written in Fortran, but completely converted to C. the FIRE code makes roughly 250 000 lines Fortran code and 30 000 lines C code, which means in fact 100 000 lines real Fortran code skipping all comments and unnecessary lines. I am talking about the solver, while there is also a PRE and POST Processor, which has similar size, but I didn't yet compile. I used currently the following options -m486 -malign-double -malign-loops=2 -malign-jumps=2 -maling-functions=2 -O2 -fno-f2c for i686, though each hint for improving is highly welcomed!! FIRE is a highly efficent vectorized code (~97 %) , which runs on Cray or NEC computers in the Megaflop range for the whole job(including io etc) Currently the performance of my i686 is half of the PARISC 8500 of a J5000 HP-UX operating version 10.2 . Benchmarks showed that the intel could become as fast as the HP using NT4.0 and the cap compiler from MS / Digital; Yours Sincerely Klaus --------------------------------------------------------------------- Klaus Pachler ; TU Chemnitz, FB MB/VT, TTWL, FG MPF ; 09126 Chemnitz Raichenhainer Str. 70 email : klpa@IMech.TU-Chemnitz.DE Tel. +49 371 531 4640 see also X500-entry Fax. +49 371 531 4644 URL : http://www.tu-chemnitz.de/mbv/TechnThDyn/mpf/ ---------------------------------------------------------------------
(Note that I'm unsure what is meant by that last phrase. Perhaps he thinks the Digital, now Compaq, Fortran compiler for NT4.0 is derived from the mothballed Microsoft compiler. I believe that's not the case, that Compaq's compiler is based on longstanding Digital technology. But I no longer keep up with such matters.)
(Oh, someone emailed me suggesting he meant "KAP" instead of "cap". Well, that certainly makes more sense! KAP stands for Kuck & Associates Pre-processor.)
C ----------------------------------------------------------------------- C ----- GNU Fortran (g77) ----- C ----------------------------------------------------------------------- C PROGRAM G77 C COMMON/QUICKY/QNEWS,QWHAT,QWHO,QHOW,QWHERE,QRLEAS,QSTAT,QWANT, 1 QY2K,QALIGN,QFUND,QF2C,QMAIL C REAL BOF C WHAT() = 2. * 3.14 * QWHAT C READ *,STATUS,NEXT CALL GIMME(FUNDS,*999) PRINT *,'Goodies For Contributors!!' GO TO (999),NEXT CONTINUE INQUIRE (UNIT=99,NAME=WANTED) CALL WHO(CRUNCH) 999 STOP 3HWHY END C C ----------------------------------------------------------------------- C C Copyright (C) 1999 James Craig Burley C C Last modified 2000-07-12 C C -----------------------------------------------------------------------