home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume21 / cloops / part01 / README < prev    next >
Text File  |  1991-07-25  |  3KB  |  68 lines

  1. This directory contains the C source code for a translation of the 24
  2. loop version of the Livermore Fortran Kernels, as described in "The
  3. Livermore Fortran Kernels:  A Computer Test of the Numerical
  4. Performance Range" by Frank H. McMahon at Lawerence Livermore National
  5. Laboratory.  (LLNL UCRL-53745)  This version was done independently by
  6. Martin Fouts while employeed by NASA at the Ames Research Center.
  7. This version is copyright by the author.  See file COPYING for copying
  8. conditions.
  9.  
  10. This is version 0.3.  Please report any bugs to fouts@clipper.ingr.com
  11.  
  12. To build the Loops, edit the Makefile and change the DEFS and CFLAGS
  13. lines as appropriate.  Be sure to change the COMPUTER and COMPILER
  14. defines to match the computer and compiler the program is being run
  15. on.  Leave the 'BUZZ' def defined.
  16.  
  17. The only other defines which might be of interest have to do with the
  18. timing routines contained in secs.c.  As configured, secs.c will
  19. perform correct timing functions for generic System V systems.
  20. Defining BSD_TIME will use BSD timing functions rather than System V
  21. functions.  CONVEX_TIME or CRAY_TIME may be defined to take advantage
  22. of higher resolution clocks on those systems.
  23.  
  24. The only function from secs.c which is used by the loops is second,
  25. which mimics the second() subroutine available in some Fortran
  26. implementations. Second "returns the elapsed cpu time since the start
  27. of the job." as a floating point number measured in seconds.  It is
  28. permissable to use a local implementation of this function when making
  29. the measurements.
  30.  
  31. After editing the makefile, Check the typedefs in "types.h" It may be
  32. necessary to modify the "Float" typedef from float to double, long
  33. double, or whatever is locally appropriate.  If you change Float in
  34. types.h, you must manually change secs.c
  35.  
  36. After building lloops with make, it can be run by just typing
  37.  
  38. lloops
  39.  
  40. which will run the same test case as the Fortran codes reported in the
  41. Loops Report.
  42.  
  43. The usage of lloops is
  44.  
  45. lloops [-p N] [-t X]
  46.  
  47. where 'N' is an integer > 1 which specifies the number of passes to
  48. run each test.  If the pass count is not specified it is set to 100,
  49. which is the default.
  50.  
  51. 'X' is a bit flag which is used to determine which loops to run.  It
  52. is mostly of interest when debugging the kernels.  X is read as a hex
  53. number.  Test numbers correspond to bit positions from the low order
  54. power of two outward.  If X is not specified, it defaults to running
  55. all of the kernels.
  56.  
  57. For a detailed discussion of the lloops, see the report mentioned
  58. above.  For some comparisons of C and Fortran lloops, see "The
  59. Livermore Loops in C" (Soon to be published) by Fouts.  If you get
  60. numbers from a given machine, please mail a copy of the complete
  61. output to fouts@clipper.ingr.com
  62.  
  63. Please note that these loops were done independently of the Fortran
  64. Loops and are a product of the Numerical Aerodynamic Simulation
  65. Facility at the NASA Ames Research Center in Moffet Field California.
  66.  
  67.  
  68.