So what shall we buy? (Porting GiNaC)

Richard B. Kreckel kreckel at thep.physik.uni-mainz.de
Wed Mar 7 20:08:00 CET 2001


>From the macho-computing-on-macho-machines-dept.

Let me briefly report on some newer timings I ran on some nifty
up-to-date machines using the timings in GiNaC 0.7.3.  The competitors
were: an IA-64 (Itanium) machine running at 733MHz, a cheap
off-the-shelve Athlon system with 800MHz and a newer Alpha 21264A
(known as EV67) running at 677MHz clock speed.  All had mind-boggling
amounts of memory.

The IA64 and the Athlon were running under Linux, the Alpha under
Compaq's Tru64.  The compiler used was GCC 2.95.2 except on the
Itanium where I had to use a newer GCC 3.0 snapshot from CVS.

Two tests were omitted because there seem to be bugs in the exception
handling of the IA64 compiler and for obscure reasons the Alpha program 
chose to crash on one test (you won't believe how many compiler problems
one sees when doing this kind of stuff).

As we all know, computer algebra in practice tends to be code that
does a lot branches giving good branch prediction a real chance.
Also, the floating point unit usually idles a lot.  So, we can expect
the Alpha processor to run far from optimal performance.  Although the
GNU compiler is known not to generate good EPIC code and the IA64
processor is not yet released anyways and the final hardware might differ 
from the one used here, I find the Itanium timings rather 
disappointig.  For your personal edification and without further
apologies here are the numbers:

commutative expansion and substitution (a.k.a. Denny Fliegner's test)
     size   IA64        Athlon      21264A            Ratio
       50   0.13        0.07        0.06        1.85 / 1.00 / 0.85
      100   0.64        0.35        0.29        1.82 / 1.00 / 0.82
      200   3.01        1.719       1.41        1.75 / 1.00 / 0.80
determinant of univariate symbolic Vandermonde matrices
      dim   IA64        Athlon      21264A            Ratio
     6x 6   0.02        0.006       0.01        3.33 / 1.00 / 1.66
     8x 8   0.21        0.11        0.13        1.91 / 1.00 / 1.18
    10x10   2.09        1.01        1.25        2.07 / 1.00 / 1.24
determinant of polyvariate symbolic Toeplitz matrices
      dim   IA64        Athlon      21264A            Ratio
     6x 6   0.12        0.065       0.07        1.85 / 1.00 / 1.08
     7x 7   0.56        0.30        0.35        1.86 / 1.00 / 1.67
     8x 8   2.42        1.32        1.53        1.83 / 1.00 / 1.16
Lewis-Wester test A (divide factorials)
            IA64        Athlon      21264A            Ratio
            0.2         0.095       0.05        2.11 / 1.00 / 0.52
Lewis-Wester test B (sum of rational numbers)
            IA64        Athlon      21264A            Ratio
            0.025       0.009       0.009       2.78 / 1.00 / 1.00
Lewis-Wester test C (gcd of big integers)
            IA64        Athlon      21264A            Ratio
            0.25        0.11        0.075       2.27 / 1.00 / 0.68
Lewis-Wester test D (normalized sum of rational fcns)
            IA64        Athlon      21264A            Ratio
            0.6         0.369       0.33        1.62 / 1.00 / 0.92
Lewis-Wester test E (normalized sum of rational fcns)
            IA64        Athlon      21264A            Ratio
            0.59        0.299       0.29        1.97 / 1.00 / 0.96
Lewis-Wester test F (gcd of 2-var polys)
            IA64        Athlon      21264A            Ratio
            0.07        0.036       0.04        1.94 / 1.00 / 1.11
Lewis-Wester test G (gcd of 3-var polys)
            IA64        Athlon      21264A            Ratio
            1.97        1.159       1.02        1.70 / 1.00 / 0.88
Lewis-Wester test H (det of 80x80 Hilbert)
            IA64        Athlon      21264A            Ratio
            6.49        3.689       4.07        1.75 / 1.00 / 1.10
Lewis-Wester test I (invert rank 40 Hilbert)
            IA64        Athlon      21264A            Ratio
            2.43        1.31        1.56        1.85 / 1.00 / 1.19
Lewis-Wester test J (check rank 40 Hilbert)
            IA64        Athlon      21264A            Ratio
            1.26        0.62        0.74        2.03 / 1.00 / 1.19
Lewis-Wester test K (invert rank 70 Hilbert)
            IA64        Athlon      21264A            Ratio
            15.5        8.62        9.66        1.79 / 1.00 / 1.12
Lewis-Wester test L (check rank 70 Hilbert)
            IA64        Athlon      21264A            Ratio
            7.44        3.54        4.02        2.10 / 1.00 / 1.14
Lewis-Wester test M1 (26x26 sparse, det)
            IA64        Athlon      21264A            Ratio
            0.34        0.179       0.19        1.90 / 1.00 / 1.06
timing Lewis-Wester test N (poly at rational fcns)
            IA64        Athlon      21264A            Ratio
            817.6       674.399     568.7       1.21 / 1.00 / 0.84
timing Lewis-Wester test P (det of sparse rank 101)
            IA64        Athlon      21264A            Ratio
            1.45        0.959       0.64        1.51 / 1.00 / 0.67
timing Lewis-Wester test P' (det of less sparse rank 101)
            IA64        Athlon      21264A            Ratio
            5.51        3.12        2.42        1.77 / 1.00 / 0.78
timing Lewis-Wester test Q (charpoly(P))
            IA64        Athlon      21264A            Ratio
            111.07      70.18       52.04       1.58 / 1.00 / 0.74
timing Lewis-Wester test Q' (charpoly(P'))
            IA64        Athlon      21264A            Ratio
            225.23      151.34      105.65      1.49 / 1.00 / 0.70

Now let's all rush and get ourselves some Athlons for doing
computer algebra.  If they only had dual boards...




More information about the GiNaC-devel mailing list