How to run by yourself N.Tajima's fortran benchmark tests (ver.2)

Japanese page

You have to get the source programs, compile them, and measure the CPU time to run them.

bench.tar.gz(7KB) is a pack of necessary files (15 fortran77 source codes, 4 perl and csh script programs, 2 data files for the scripts, and 3 sample output files).

To apply the benchmark test to UNIX machines, you can utilize a c-shell script program bench.sh. Put bench.sh and 15 Fortran source code files in the same directory and run the script bench.sh by typing
./bench.sh > bench.log
Then you wil have results (to be written into the stdout) like an exaple of the output (bench.log in the pack bench.tar.gz).

The output looks like, for example, for the first program matvec.f,

(1) program = matvec.f
 MULTIPLY 1023*1023 REAL MATRIX TO VECTOR    3*   2000 TIMES.
  LARGEST EIGENVALUES=   1023.93053   1022.12165   1021.00563
301.990u 0.320s 5:02.71 99.8% 0+0k 0+0io 73pf+0w
In the last line, "301.990u" means the CPU time for the user process is 301.990 seconds. "0.32s" measn that the CPU time spent by the operating system for the user process is 0.32 seconds. "5:02.71" means that the elapsed time between the beginning and the end of the user process is 5 minutes 2.71 seconds.

The elapsed time is 302.71 seconds and the difference from the user CPU time is only 0.2%. Therefore in many cases I use the user CPU time to calculate the fMark value. However, in certain occasions, when it seems more appropriate, I use the elapsed CPU time.

In certain systems, one can only measure the elapsed CPU time to the precision of 1 second. Then, one has to add up the user and system CPU times instead of using the less precise elapsed CPU time. For dual CPU machines with Linux, you may have to add the system CPU time (like "0.320s") because it is often comparable to the user CPU time. Unless the computer has other busy tasks, the sum of the user and the system CPU times are almost equal to the epalsed time.

The total performance index "fMark" can be calculated using a perl script fmark.pl. It requires a data file fmark.dat. The simplest usage is
./fmark.pl bench.log
where the first command-line argument "bench.sh" is the name of the log file of bench.sh. For recent measurements, I use the folloing options
./fmark.pl -oneline -speed -etime bench.log
A detailed description of the options is shown by simply typing
fmark.pl

You can also get the files one by one:

  1. matvec.f
  2. matvecz.f
  3. leqs1k.f
  4. leqs4h.f
  5. jacobi1h.f
  6. jacobi11.f
  7. runge.f
  8. intgl4.f
  9. mathfnc1.f
  10. mathfnc2.f
  11. intpi3.f
  12. intosc.f
  13. permute1.f
  14. permute2.f
  15. permute3.f

Last modified: Aug 22, 2007
Return to Top page of the benchmark tests