**************************************************************
Phoenix vs. Linux f90 compilers:
--------------------------------

Test 1: Memory and CPU time intensive (>256MB virt. memory on allocated arrays in modules)

Compiler Hydro Select   Cont.  LTE-Opac  NLTE opac   Rates      RT    MPI   Spectrum    RateEq   Iteration
ABSOFT   343       35  537.51     4.407     4480.5    8337  3275.5      0      16777       519       17762
NAG      357       42  604.39      4.01     3752.9  6166.3  3654.6      0      14354       330       15135
PGI      280       45   525.4     5.862     3795.1  5130.3  3168.3      0      12770       428       13135

Test 2: IO and CPU intensive (1.2GB input, ~0.5GB read/write to scratch files)

Compiler      Hydro   Select   Cont.  LTE-Opac  NLTE opac   Rates      RT    MPI   Spectrum    RateEq   Iteration
ABSOFT         1996     4745  31.122    818.77   0.080566 0.04980  14.174      0     870.56         0        7614
NAG            1125     1926  34.438    704.17   0.089844 0.01001  14.761      0     761.15         0        3814
PGI            1635     4551  28.852     641.2      0.078   0.032  13.718      0     691.32         0        6841

Code: PHOENIX 10.8.5. ~180,000 lines f90 code, stellar atmosphere modeling. 
Columns indicate different stages of the calculation. The serial version was used.
Time measured is CPU time in seconds.
This code runs on AIX, HPUX, Solaris, Unicos (T3E), Irix, Digital Unix, Linux in 
serial, MPI parallelized and openMP parallelized.

Compilers (all use max. optimization):

NAG: NAGWare f90 compiler Version 2.2(260) with pgcc
PGI: pgf90 3.1-2 (direct)
ABSOFT: f90: Copyright Absoft Corporation 1994-1998 mV2; Cray Research, Inc.
        1994-1996 CF90 (2.x.x.x  f36t87) Version 2.1 Mon Jan 10, 2000  13:43:44 

libraries used: LAPACK + BLAS (Intel optimized BLAS for NAG/pgcc combination) self-compiled
All results agree within expected limits.

OS: Linux 2.2.5-15 SMP

Run on single CPU of a dual PII-400 with 256MB memory (for comparison: POWER3 CPU ~3-7 times faster).

Comments/Notes:

NAG: Speed improves dramatically with pgcc (inlines exp()s etc). Best compiler
     for debugging, very strict about language. NAG f95 shows similar performance
     but is not as strict about language. This is my personal Linux favorite.

PGI: version 3.1 inlines exp()'s, which speeds my code up quite a bit. Does NOT
     compile namelist input of f90 structures (which I need, it flags it as syntax
     error). Has openMP support (3.1 supports array-values reduction variables, a
     MUST for me), very good for testing openMP syntax but thread implementation not
     efficient (might be Linux).

ABSOFT: Not much experience on my side. Incorrectly compiles namelist input of
        f90 structures (same as the Sun V4.2 compiler).

Peter H. Hauschildt
yeti@hal.physast.uga.edu
**************************************************************