hydro2d (Astrophysics)
======================


1.0 GENERAL

1.1: Classification:

The program is a vectorizable Fortran program with double precision
floating-point arithmetics.

1.2: Description:

In this application program from the area of astrophysics,
hydrodynamical Navier Stokes equations are solved to compute
galactical jets.

1.3: Source/Author:

Dr. Koessl, Max-Planck-Insitut fuer Astrophysik, Garching (Germany).
Contact:
Prof. Haan, Siemens Nixdorf Information Systems, D 625, Munich,
Germany

1.4:  Version/Date:

Exact time of origin unknown, adapted for SPEC use 1990. (SNI
internal name: ASW02)

1.5: Other Information:

Approximate distribution of execution time (actual distribution is
system dependent):

Subroutine  FILTER  46%
    "       FCT     16%
Other Subroutines   38%

Distribution of floating-point operations (given as percentages
of all floating-point operations performed in the program):

Subroutine FCT      33 %
    "      FILTER   18 %
    "      ARTDIF   16 %
Other subroutines   33 %

FCT:    Larger program unit with several DO loops
FILTER: Similar to FCT
ARTDIF: 4 short DO loops with maximal 2 statements

A profiling run on a Siemens Nixdorf computer (CPU: 80486)
resulted in the following distribution of execution time:

-- Profiling result for 090.hydro2d on MX300-50, SINIX OS,
-- program as of Nov. 1991.
-- Input Values ISTEP=400, MQFLG=NQFLG=0
-- Reinhold Weicker, Nov. 1991

 %Time  #Calls      Name
  45.1    3200     FILTER
  15.7    3200     FCT
   6.7    3200     ARTDIF
   5.2     400     TISTEP
   4.6    3200     T2
   4.0     800     TRANS1
   3.8     800     TRANS2
   3.6    3200     T1
   2.0    3200     S2
   1.9    3200     S1
   1.5     401     VPR
   1.0     400     CORIF
   1.0     401     CUT
   1.0     400     CORIH
   0.7             DSQRT
   0.6    2004     ISMIN
   0.6    2007     ISMAX
   0.4             sqrt
   0.3     400     STAGF1
   0.1     403     WNFLE
   0.1             _GFCH
   0.0    3200     B2
   0.0             _powi
   0.0       1     INPDTA
   0.0    3200     B1
   0.0             exp
   0.0     400     BBH
   0.0     400     BBF
   0.0             _fcmpaa
   0.0       2     VPS
   0.0             _mcount
   0.0       6     SDOT
   0.0             _Frt29
   0.0             matherr
   0.0             _Frt32
   0.0             _fini
   0.0       1     INIMOD
   0.0     400     ADVNCE
   0.0     801     ADLEN
   0.0             _strncpy
   0.0       2     CON
   0.0             _Frt08
   0.0     400     STAGF2
   0.0     401     CHECK
   0.0     400     STAGH1
   0.0     400     OUTPUT
   0.0             _F77BIO
   0.0             _PFI4
   0.0             _PFF8
   0.0             _fcpyaa
   0.0             _Frt02
   0.0             _Frt13
   0.0       1     TERM
   0.0     400     STAGH2
   0.0       1     GRIDCO
   0.0       1     INIVAL
   0.0       1     PREPAR
   0.0       1     main


2. PERFORMANCE

2.1: Metrics:

2.2: Elapsed Time:

The benchmark is scalable according to the number of steps in time to
be computed. This is the only number in the input file supplied with
the benchmark, other input data are generated by the program itself.
On a 486-based PC, the version with 400 timesteps has an execution
time of about 30 minutes. The short version (5 timesteps)
has an execution time of about 7 seconds. The SPEC reference time 
(to 3 sig. fig.) is 13700 seconds.

2.3: Report:

2.4: Additional Performance Considerations:

2.3. SOFTWARE

Hydro2d is written in Fortran 77.

The static length is 4000 lines of code, there are 38 subroutines.

Almost all of the benchmark's code is vectorizable. The following
values refer to a run with 400 time steps.

Vectorization effect (factor)         9.3
Vectorization degree                 98.9 %

The program operates on about 1-2 MByte of data.

4.  HARDWARE

No special hardware is required. Special hardware such as vector or
array processors will have an impact on performance, as indicated in
section 3.3.

5.  OPERATIONAL

5.1: Disk Space

The source of hydro2d is about 4000 lines, thus there is little space
required to hold the source.

5.2:  Installation:

5.3:  Execution:

The executable program has a size of about 390 KBytes.

5.4:  Correctness Verification:

The SPEC result file, result.out, is compared by "spiff-r0.01".
HYDRO.DET contains numerical output giving information about the
numerical instability of the algorithm. Many numbers in this file are
near zero, therefore this file is not included in the comparison for
SPEC purposes.