home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume21
/
cloops
/
part01
/
README
< prev
next >
Wrap
Text File
|
1991-07-25
|
3KB
|
68 lines
This directory contains the C source code for a translation of the 24
loop version of the Livermore Fortran Kernels, as described in "The
Livermore Fortran Kernels: A Computer Test of the Numerical
Performance Range" by Frank H. McMahon at Lawerence Livermore National
Laboratory. (LLNL UCRL-53745) This version was done independently by
Martin Fouts while employeed by NASA at the Ames Research Center.
This version is copyright by the author. See file COPYING for copying
conditions.
This is version 0.3. Please report any bugs to fouts@clipper.ingr.com
To build the Loops, edit the Makefile and change the DEFS and CFLAGS
lines as appropriate. Be sure to change the COMPUTER and COMPILER
defines to match the computer and compiler the program is being run
on. Leave the 'BUZZ' def defined.
The only other defines which might be of interest have to do with the
timing routines contained in secs.c. As configured, secs.c will
perform correct timing functions for generic System V systems.
Defining BSD_TIME will use BSD timing functions rather than System V
functions. CONVEX_TIME or CRAY_TIME may be defined to take advantage
of higher resolution clocks on those systems.
The only function from secs.c which is used by the loops is second,
which mimics the second() subroutine available in some Fortran
implementations. Second "returns the elapsed cpu time since the start
of the job." as a floating point number measured in seconds. It is
permissable to use a local implementation of this function when making
the measurements.
After editing the makefile, Check the typedefs in "types.h" It may be
necessary to modify the "Float" typedef from float to double, long
double, or whatever is locally appropriate. If you change Float in
types.h, you must manually change secs.c
After building lloops with make, it can be run by just typing
lloops
which will run the same test case as the Fortran codes reported in the
Loops Report.
The usage of lloops is
lloops [-p N] [-t X]
where 'N' is an integer > 1 which specifies the number of passes to
run each test. If the pass count is not specified it is set to 100,
which is the default.
'X' is a bit flag which is used to determine which loops to run. It
is mostly of interest when debugging the kernels. X is read as a hex
number. Test numbers correspond to bit positions from the low order
power of two outward. If X is not specified, it defaults to running
all of the kernels.
For a detailed discussion of the lloops, see the report mentioned
above. For some comparisons of C and Fortran lloops, see "The
Livermore Loops in C" (Soon to be published) by Fouts. If you get
numbers from a given machine, please mail a copy of the complete
output to fouts@clipper.ingr.com
Please note that these loops were done independently of the Fortran
Loops and are a product of the Numerical Aerodynamic Simulation
Facility at the NASA Ames Research Center in Moffet Field California.