QLM benchmark (R. Krivec) Updated 01/03/19 This is a small memory benchmark. The QLM algorithm iterates a numerical integral using the trapezoidal rule. On "saturn", most of the CPU time (over 90 percent) is spent evaluating the intrinsic function "exp". The remaninder is a mixture of floating point and integer arithmetic. Qlmmd is a nice small-memory Fortran program of a "general" arithmetic type. Its drawback is that it mostly computes the intrinsic "exp". Note that "saturn" R8000 is the only processor with 4-way floating point pipeline. Athlon and Alphas have 2-way floating point pipelines. Comparing saturn to newer Alphas (GS160 etc.) shows a two-fold relative efficiency for Alphas as compared with R8000. This probably means that on saturn, only 2 pipes can be used by "exp"; also, this explains the 30% efficiency on saturn. Table I. QLM program (qlmmd) for two values of n. T is the theoretical MFLOPS rating. X is the expected CPU time if the machine had the same efficiency as "saturn" (first entry). RE is the relative efficiency with respect to "saturn", i.e., the ratio of the expected (X) and actual CPU time. The actual (absolute) floating point efficiency on "saturn" is slightly over 30 percent. --------------------------------------------------------- Processor CPU time (sec) n=2001 n=10001 T X RE --------------------------------------------------------- 1 2 3 4 5 6 --------------------------------------------------------- saturn 90 MHz 14.4 292 360 (292) (1) helium 5.4 133 800 131 0.98 urartu 33.8 838 300 350 0.42 urnammu ~33 ~770 350 300 0.39 dexter pgf77 3.1 17.0 427 400 263 0.62 dexter g77 2.95.2 25.7 628 400 263 0.42 athlon pgif77 3.2 3.7 91 800 131 1.4 Alpha Linux fort 1.8 46 1334 79 1.7 GS160 f77 1.7 41 1462 72 1.8 ES40 f77 1.5 37 1666 63 1.7 --------------------------------------------------------- Some processor data: saturn: SGI Power Challenge R8000 (90 MHz) OSF1 helium.fiz.huji.ac.il V4.0 878 alpha (400 MHz) Linux urartu 2.0.35 i686 unknown (Pentium II 300 MHz) IRIX urnammu 6.3 12161207 IP32 (R10000 175 MHz) dexter linux (PII / 400 MHz) AMD athlon (800 MHz) Alpha Linux (667 MHz) GS160, Tru64 32GB (4 x 8 GB) (731 MHz, 4MB L2(?)) ES40, Tru64 (833 MHz) R. Krivec 01/03/19.