Ok, I'm trying this too: selectively taking some output (all except
last 6 lines FFT_MUL and SQR_MUL) of make tune, and copy it into gmp-
mparar.h (to try to work around code instability that simply tuning
triggers)...
--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 => 7657626
512 0 => 813434
8192 0 => 12048
131072 0 => 269
2097152 0 => 10.7
128 0 => 7683516
512 0 => 813577
8192 0 => 9003
131072 0 => 190
2097152 0 => 7.50
15000 0 => 4439
20000 0 => 3429
30000 0 => 2045
16777216 0 => 23.2
16777216 0 => 1.40 => 3041, 2172
Program divide (weight 1.00)
8192 0 => 216805
8192 0 => 84927
8192 0 => 55052
8192 0 => 14760
131072 0 => 181
8388608 0 => 0.645
8192 0 => 1135490
16777216 0 => 0.384 => 2292, 1637
Program gcd (weight 0.50)
128 0 => 332695
512 0 => 44950
8192 0 => 1115
131072 0 => 12.6
1048576 0 => 0.655 => 673, 481
Program gcdext (weight 0.50)
128 0 => 207595
512 0 => 33814
8192 0 => 482
131072 0 => 7.34
1048576 0 => 0.412 => 400, 286
Program root (weight 0.30)
128 0 => 315666
512 0 => 131236
8192 0 => 10432
131072 0 => 95.7
1048576 0 => 6.44 => 3056, 2183
Program fac_ui (weight 0.20)
128 0 => 336366
1512 0 => 4636
mul_fft.c:2346: GNU MP assertion failed: cc == 0
15000 0 => 118Aborted
Unfortunately, you suggestion is not resolving the abort condition...
I did not expect that a simple retune could give so many problems... I
did not change parameters at random! I simply run tune/tuneup and
paste the result in.
The file from the distribution (mpn/x86/p6/mmx/gmp-mparam.h) is
completely out of date (it doesn't even include a
MUL_TOOM4_THRESHOLD)... and I can not update it... that's sad.
Ok, my time is out...
On 10 Gen, 19:03, Bill Hart <[email protected]> wrote:
> Actually, if you take the tuning values that are missing at the end of
> the tuning file and replace them with the values we supplied
> (MUL_FFT_TABLE, SQR_FFT_TABLE, etc) you will probably find the
> assertion goes away. The assertion was left there on purpose to
> indicate that the FFT is most definitely using wrong tuning values and
> giving wrong results. Only the tuning values we supplied are
> guaranteed to not trigger it!
>
> Bill.
>
> 2010/1/10 Bill Hart <[email protected]>:
>
> > 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 <[email protected]>:
> >> 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 <[email protected]> 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
>
> ...
>
> 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 [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/mpir-devel?hl=en.