You'll find that all the very large stuff will be markedly worse after
tuning. One of the reasons we are replacing the FFT is that at present
the only people that can tune it are us, and it takes hours!

But thanks again for the comparisons.

Bill.

2010/1/10 Gianrico Fini <gianrico.f...@gmail.com>:
> I see the comparison is more balanced on you machine. The impressive
> unbalance is in the numbers of the Mersenne and Fermat test.
>
> By the way, I tested it all again with gcc-4.4 and with the result
> from (cd tune;make tune) inserted in gmp-mparam.h... for all the three
> libraries.
>
> Results for GMP-5.0.0 did not change (more or less). Results for
> GMP-4.3.2 have improved a little. MPIR-1.3.0-rc4... unfortunately
> changed... see below:
>
> --GMP-4.3.2--
> $ mpir_bench_two/bench_two_gmp
>
> Running MPIR benchmark
> GenuineIntel Family 6 Model 9 Stepping 5
> Intel(R) Pentium(R) M processor 1400MHz
> Speed: 1.40 GHz (reported)
>  Category base
>  Program multiply (weight 1.00)
>         128         0 =>  8679016
>         512         0 =>  1474201
>        8192         0 =>    15863
>      131072         0 =>      276
>     2097152         0 =>     11.8
>         128         0 =>  7055718
>         512         0 =>   942638
>        8192         0 =>    10977
>      131072         0 =>      195
>     2097152         0 =>     8.05
>       15000         0 =>     5182
>       20000         0 =>     3953
>       30000         0 =>     2372
>    16777216         0 =>     27.5
>    16777216         0 =>     1.46 =>  3505, 2504
>  Program divide (weight 1.00)
>        8192         0 =>   210230
>        8192         0 =>   169191
>        8192         0 =>    51893
>        8192         0 =>    14614
>      131072         0 =>      202
>     8388608         0 =>    0.677
>        8192         0 =>   223045
>    16777216         0 =>    0.426 =>  2080, 1486
>  Program gcd (weight 0.50)
>         128         0 =>   405431
>         512         0 =>    62607
>        8192         0 =>     1151
>      131072         0 =>     14.5
>     1048576         0 =>    0.701 =>   785,  560
>  Program gcdext (weight 0.50)
>         128         0 =>   269312
>         512         0 =>    40694
>        8192         0 =>      585
>      131072         0 =>     8.23
>     1048576         0 =>    0.436 =>   470,  336
>  Program root (weight 0.30)
>         128         0 =>   252938
>         512         0 =>   171558
>        8192         0 =>    24178
>      131072         0 =>      305
>     1048576         0 =>     16.1 =>  5525, 3946
>  Program fac_ui (weight 0.20)
>         128         0 =>   409654
>        1512         0 =>     5605
>       15000         0 =>     98.7
>     1000010         0 =>    0.283
>     2123456         0 =>    0.106 =>  92.6, 66.2 =>  1546, 1104
>  Category app
>  Program rsa (weight 1.00)
>                   512 =>     2478
>                  1024 =>      413
>                  2048 =>     61.6 =>   398,  284
>  Program pi (weight 1.00)
>                 10000 =>      104
>                100000 =>     3.90
>               1000000 =>    0.218 =>  4.46, 3.18
>  Program bpsw (weight 1.00)
>                  1024 =>     74.5
>                  4096 =>     2.34
>                 16384 =>   0.0706 =>  2.31, 1.65
>  Program wagstaff (weight 1.00)
>                  1024 =>      327
>                  4096 =>     10.9
>                 16384 =>    0.342 =>  10.7, 7.62
>  Program mersenne (weight 1.00)
>                  3217 =>     4.30
>                  4253 =>     2.15
>                  4423 =>     1.94
>                  9689 =>    0.249
>                 11213 =>    0.182 => 0.959,0.685
>  Program fermat (weight 1.00)
>                     8 =>     1657
>                    10 =>     83.6
>                    12 =>     2.52 =>  70.4, 50.3 =>  12.0, 8.56 =>
> 136, 97.2
>
> --MPIR-1.3.0-rc4--
> $ mpir_bench_two/bench_two
>
> Running MPIR benchmark
> GenuineIntel Family 6 Model 9 Stepping 5
> Intel(R) Pentium(R) M processor 1400MHz
> Speed: 1.40 GHz (reported)
>  Category base
>  Program multiply (weight 1.00)
>         128         0 =>  7648002
>         512         0 =>   810865
>        8192         0 =>    12089
>      131072         0 =>      285
>     2097152         0 =>     10.9
>         128         0 =>  7683516
>         512         0 =>   813577
>        8192         0 =>     9003
>      131072         0 =>      200
>     2097152         0 =>     7.52
>       15000         0 =>     4441
>       20000         0 =>     3452
>       30000         0 =>     2045
>    16777216         0 =>     23.2
>    16777216         0 =>     1.44 =>  3073, 2195
>  Program divide (weight 1.00)
>        8192         0 =>   217532
>        8192         0 =>    85041
>        8192         0 =>    54990
>        8192         0 =>    14711
>      131072         0 =>      181
>     8388608         0 =>    0.645
>        8192         0 =>  1111505
>    16777216         0 =>    0.384 =>  2286, 1633
>  Program gcd (weight 0.50)
>         128         0 =>   331517
>         512         0 =>    44950
>        8192         0 =>     1114
>      131072         0 =>     12.6
>     1048576         0 =>    0.649 =>   671,  479
>  Program gcdext (weight 0.50)
>         128         0 =>   206896
>         512         0 =>    34492
>        8192         0 =>      490
>      131072         0 =>     7.41
>     1048576         0 =>    0.414 =>   404,  288
>  Program root (weight 0.30)
>         128         0 =>   320216
>         512         0 =>   130654
>        8192         0 =>    10332
>      131072         0 =>     94.8
>     1048576         0 =>     6.29 =>  3035, 2168
>  Program fac_ui (weight 0.20)
>         128         0 =>   326635
>        1512         0 =>     4571
> mul_fft.c:2346: GNU MP assertion failed: cc == 0
>       15000         0 =>      119Aborted
>
> ...Yes, it started with some slightly better result (I see that tuning
> is useful for multiplication), then aborted. Changing tuned values
> give instability? Is it a problem with the new compiler? I do not
> know...
> GMP5 seems more stable and supporting my platform, I'll start using
> it.
> Thanks for all the informations and keep up the nice work.
>
> Gian.
>
> On 10 Gen, 18:20, Bill Hart <goodwillh...@googlemail.com> wrote:
>> Sure, it's interesting to compare.
>>
>> On my 64 bit machine (Selmer):
>>
>> K10-2:
>>
>> Squaring:          MPIR 1.3.0 GMP 5.0.0
>> =======         ========  ========
>> 128 x 128 :          56715728   55997671
>> 512 x 512 :          11350749   13487276
>> 8192 x 8192 :          149696      151687
>> 131072 x 131072 :       2512         2640
>> 2097152 x 2097152 :    94.2          81.6
>>
>> Multiplication:
>> ==========
>> 128 x 128 :           57689204  56006766
>> 512 x 512 :           11350738  10179077
>> 8192 x 8192 :           104945     101532
>> 131072 x 131072 :       1856         1848
>> 2097152 x 2097152 :     65.7         54.8
>>
>> Unbalanced:
>> ==========
>> 15000 x 10000 :          51197      51819
>> 20000 x 10000 :          40086      38484
>> 30000 x 10000 :          23539      24674
>> 16777216 x 512 :            392         456
>> 16777216 x 262144 :      10.7        12.9
>>
>> Division :
>> =========
>> 8192 / 32 :               1420564  1318523
>> 8192 / 64 :               1155167  1334473
>> 8192 / 128 :               624077    805567
>> 8192 / 4096 :             171758    249209
>> 8192 / 8064 :            7084081 8455199
>> 131072 / 65536 :            1992      2588
>> 8388608 / 4194304 :       5.86       11.5
>> 16777216 / 262144 :       4.03       6.94
>>
>> GCD :
>> ====
>> 128 x 128 :               1820216 1971827
>> 512 x 512 :                 168623  221378
>> 8192 x 8192 :                 5560      6321
>> 131072 x 131072 :            115       121
>> 1048576 x 1048576 :       5.93      6.27
>>
>> XGCD :
>> =====
>> 128 x 128 :                 682582  884318
>> 512 x 512 :                 122152  154781
>> 8192 x 8192 :                 3826     4339
>> 131072 x 131072 :          73.3       76.1
>> 1048576 x 1048576 :       3.89      4.22
>>
>> Root:
>> ====
>> 128 x 5 :                    996836  557837
>> 512 x 3 :                    358609  446327
>> 8192 x 11 :                  93080  141224
>> 131072 x 3 :                  1016     3441
>> 1048576 x 3 :                 55.8      166
>>
>> Fac_ui:
>> =====
>> 128 :                        1385073 1467919
>> 1512 :                          46727    46355
>> 10000 :                          1046      1046
>> 1000010 :                       3.51       2.23
>> 2123456 :                       1.27      0.796
>>
>> RSA :
>> ====
>> 512 :                            20478   21112
>> 1024 :                            4488     4065
>> 2048 :                              762      736
>>
>> Pi :
>> ===
>> 10000 :                            398      389
>> 100000 :                          23.0    23.2
>> 1000000 :                        1.36    1.32
>>
>> BPSW:
>> =====
>> 1024 :                              935    1483
>> 4096 :                             26.2    31.2
>> 16384 :                          0.714   0.871
>>
>> Wagstaff:
>> ======
>> 1024 :                            2307     2706
>> 4096 :                             89.6     96.0
>> 16384 :                           2.86     2.96
>>
>> Mersenne:
>> =======
>> 3217 :                             138      43.6
>> 4253 :                            67.6      21.8
>> 4423 :                            59.7      20.1
>> 9689 :                            8.27      2.67
>> 11213 :                          5.77      1.85
>>
>> Fermat:
>> =====
>> 8 :                              87725      6791
>> 10 :                             3241        635
>> 12 :                              80.3       25.0
>>
>> Overall:
>> =======
>>                                   1364       1186
>>
>> So a mixed bag really. I'm less impressed with the unbalanced
>> multiplication than I was 10 minutes ago. :-(
>>
>> Clearly their division code has improved and our cube root code still
>> sucks and our gcd and xgcd still needs optimising (that one file I
>> keep carrying on about). Nothing else is jumping out at me.
>>
>> Bill.
>>
>> 2010/1/10 Gianrico Fini <gianrico.f...@gmail.com>:
>>
>> > Sorry, I don't have a 64-bit processor... I'm working on somehow old
>> > hardware, usually.
>>
>> > Anyway I think there is also another problem in my measure, I did not
>> > "tune".
>> > I was trying an update of the compiler to gcc-4.4...
>> > Then I'll recompile the three libraries, retune them, recompile again,
>> > and test.
>> > If you are interested, I'll send the new result here again.
>>
>> > On 10 Gen, 17:09, Bill Hart <goodwillh...@googlemail.com> wrote:
>> >> Thanks very much for taking the time to run those!!
>>
>> >> We suffer a little here because of suboptimal assembly code we provide
>> >> for your (32 bit?) Pentium M processor, as can be seen from the
>> >> multiply scores for small sizes (which are dominated by the assembly
>> >> performance).
>>
>> >> MPIR 1.3:
>>
>> >>         8192         0 =>     8864
>>
>> >> GMP 5.0:
>>
>> >>         8192         0 =>    11419
>>
>> >> Even if we adjust for that, however, the GMP unbalanced multiply
>> >> scores are still exceptional:
>>
>> >> MPIR 1.3:
>>
>> >>        15000         0 =>     4503
>> >>        20000         0 =>     3481
>> >>        30000         0 =>     2069
>>
>> >> GMP 5.0:
>>
>> >>        15000         0 =>     5482 (4254 adj.)
>> >>        20000         0 =>     4619 (3584 adj.)
>> >>        30000         0 =>     2929 (2272 adj.)
>>
>> >> Assuming my adjustment for the assembly bias is valid (questionable),
>> >> it is clear they are getting up to 10% improvement over us with their
>> >> higher unbalanced Toom functions. Pretty good work on their part!!
>>
>> >> I'd be curious to compare on a 64 bit machine where there should be
>> >> little to no assembly bias. It looks to me that perhaps we still come
>> >> out around the same on the pi test.
>>
>> >> Bill.
>>
>> >> 2010/1/10 Gianrico Fini <gianrico.f...@gmail.com>:
>>
>> >> > I tried, on my laptop. I couldn't work with their own test, so I used 
>> >> > the
>> >> > one I've found on MPIR main page. I paste here the result (I'm running
>> >> > Gentoo, gcc-4.3.4).
>>
>> >> > --GMP-4.3.2--
>> >> > $ mpir_bench_two/bench_two_gmp
>>
>> >> > Running MPIR benchmark
>> >> > GenuineIntel Family 6 Model 9 Stepping 5
>> >> > Intel(R) Pentium(R) M processor 1400MHz
>> >> > Speed: 1.40 GHz (reported)
>> >> >  Category base
>> >> >   Program multiply (weight 1.00)
>> >> >          128         0 =>  7873205
>> >> >          512         0 =>  1412472
>> >> >         8192         0 =>    15535
>> >> >       131072         0 =>      252
>> >> >      2097152         0 =>     10.9
>> >> >          128         0 =>  7014812
>> >> >          512         0 =>   895116
>> >> >         8192         0 =>    10290
>> >> >       131072         0 =>      170
>> >> >      2097152         0 =>     7.41
>> >> >        15000         0 =>     4916
>> >> >        20000         0 =>     3796
>> >> >        30000         0 =>     2333
>> >> >     16777216         0 =>     27.4
>> >> >     16777216         0 =>     1.37 =>  3313, 2366
>> >> >   Program divide (weight 1.00)
>> >> >         8192         0 =>   208271
>> >> >         8192         0 =>   163357
>> >> >         8192         0 =>    46225
>> >> >         8192         0 =>    13306
>> >> >       131072         0 =>      195
>> >> >      8388608         0 =>    0.636
>> >> >         8192         0 =>   219948
>> >> >     16777216         0 =>    0.375 =>  1955, 1397
>> >> >   Program gcd (weight 0.50)
>> >> >          128         0 =>   379235
>> >> >          512         0 =>    63447
>> >> >         8192         0 =>     1155
>> >> >       131072         0 =>     13.0
>> >> >      1048576         0 =>    0.667 =>   752,  537
>> >> >   Program gcdext (weight 0.50)
>> >> >          128         0 =>   266774
>> >> >          512         0 =>    39311
>> >> >         8192         0 =>      576
>> >> >       131072         0 =>     7.67
>> >> >      1048576         0 =>    0.429 =>   457,  326
>> >> >   Program root (weight 0.30)
>> >> >          128         0 =>   254520
>> >> >          512         0 =>   174983
>> >> >         8192         0 =>    23189
>> >> >       131072         0 =>      285
>> >> >      1048576         0 =>     15.1 =>  5365, 3832
>> >> >   Program fac_ui (weight 0.20)
>> >> >          128         0 =>   392143
>> >> >         1512         0 =>     5420
>> >> >        15000         0 =>      100
>> >> >      1000010         0 =>    0.272
>> >> >      2123456         0 =>   0.0989 =>  89.4, 63.9 =>  1473, 1052
>> >> >  Category app
>> >> >   Program rsa (weight 1.00)
>> >> >                    512 =>     2318
>> >> >                   1024 =>      397
>> >> >                   2048 =>     60.0 =>   381,  272
>> >> >   Program pi (weight 1.00)
>> >> >                  10000 =>     89.4
>> >> >                 100000 =>     3.69
>> >> >                1000000 =>    0.202 =>  4.05, 2.90
>> >> >   Program bpsw (weight 1.00)
>> >> >                   1024 =>     68.1
>> >> >                   4096 =>     2.12
>> >> >                  16384 =>   0.0661 =>  2.12, 1.52
>> >> >   Program wagstaff (weight 1.00)
>> >> >                   1024 =>      316
>> >> >                   4096 =>     10.2
>> >> >                  16384 =>    0.323 =>  10.1, 7.23
>> >> >   Program mersenne (weight 1.00)
>> >> >                   3217 =>     4.17
>> >> >                   4253 =>     2.11
>> >> >                   4423 =>     1.78
>> >> >                   9689 =>    0.255
>> >> >                  11213 =>    0.175 => 0.931,0.665
>> >> >   Program fermat (weight 1.00)
>>
>> ...
>>
>> leggi tutto
>
> --
> You received this message because you are subscribed to the Google Groups 
> "mpir-devel" group.
> To post to this group, send email to mpir-de...@googlegroups.com.
> To unsubscribe from this group, send email to 
> mpir-devel+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/mpir-devel?hl=en.
>
>
>
>
-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-de...@googlegroups.com.
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.


Reply via email to