Re: [PPL-devel] GMP 4.3.0 released
Torbjorn Granlund wrote:
It is my great pleasure to announce the availability a new major release of the GNU Multiple Precision Arithmetic Library (GMP). The new release is identified as 4.3.0.
Hi Torbjorn, congratulations and thank you for the new release.
Speedups: * Vastly improved assembly code for x86-64 processors from AMD and Intel.
I have run a couple of application programs based on the Parma Polyhedra Library (PPL), which heavily depends on GMP. On an AMD Opteron 2384 "Shanghai" I got the following running times (best run out of 10): Application A Application B GMP 4.2.4 GMP 4.3.0 GMP 4.2.4 GMP 4.3.0 238 s 187 s 34.2 s 34.8 s On an Intel Core2 Q9400, instead, I got: Application A Application B GMP 4.2.4 GMP 4.3.0 GMP 4.2.4 GMP 4.3.0 339 s 213 s 29.8 s 28.9 s
Misc: * The gmp_version variable now always contains three parts. For this release, it is "4.3.0".
Aaargh! This broke our GMP detection procedure. Moreover, PPL 0.10.1 was released only a few hours before the release of GMP 4.3.0. I guess now we have no choice but release PPL 0.10.2 with a revised GMP detection procedure. Was a release candidate made available and announced somewhere? If so, I would like to subscribe the list for this kind of announcements. Thanks again, Roberto -- Prof. Roberto Bagnara Computer Science Group Department of Mathematics, University of Parma, Italy http://www.cs.unipr.it/~bagnara/ mailto:bagnara@cs.unipr.it
Roberto Bagnara <bagnara@cs.unipr.it> writes:
Speedups: * Vastly improved assembly code for x86-64 processors from AMD and Intel.
I have run a couple of application programs based on the Parma Polyhedra Library (PPL), which heavily depends on GMP. On an AMD Opteron 2384 "Shanghai" I got the following running times (best run out of 10): Application A Application B GMP 4.2.4 GMP 4.3.0 GMP 4.2.4 GMP 4.3.0 238 s 187 s 34.2 s 34.8 s On an Intel Core2 Q9400, instead, I got: Application A Application B GMP 4.2.4 GMP 4.3.0 GMP 4.2.4 GMP 4.3.0 339 s 213 s 29.8 s 28.9 s You get less speedup than I expect to be typical (and a very slight slowdown in one case). I am curious what GMP operations application B performs. Profile runs for both GMP versions would be helpful.
Misc: * The gmp_version variable now always contains three parts. For this release, it is "4.3.0".
Aaargh! This broke our GMP detection procedure. Moreover, PPL 0.10.1 was released only a few hours before the release of GMP 4.3.0. I guess now we have no choice but release PPL 0.10.2 with a revised GMP detection procedure. I am sorry about that! I think version GMP detection will be simpler with the new scheme, but this slight incompatibility will bite during a transitional period. Was a release candidate made available and announced somewhere? No, we did only internal testing this time, since our testing has been much extended. -- Torbjörn
Torbjorn Granlund wrote:
Roberto Bagnara <bagnara@cs.unipr.it> writes:
Speedups: * Vastly improved assembly code for x86-64 processors from AMD and Intel.
I have run a couple of application programs based on the Parma Polyhedra Library (PPL), which heavily depends on GMP. On an AMD Opteron 2384 "Shanghai" I got the following running times (best run out of 10):
Application A Application B
GMP 4.2.4 GMP 4.3.0 GMP 4.2.4 GMP 4.3.0
238 s 187 s 34.2 s 34.8 s
On an Intel Core2 Q9400, instead, I got:
Application A Application B
GMP 4.2.4 GMP 4.3.0 GMP 4.2.4 GMP 4.3.0
339 s 213 s 29.8 s 28.9 s
You get less speedup than I expect to be typical (and a very slight slowdown in one case).
I am curious what GMP operations application B performs. Profile runs for both GMP versions would be helpful.
Hi Torbjorn, I was in fact wrong. While the PPL is, generally speaking, heavily dependent on GMP, application B running time is dominated by non-GMP functions. For it, the most important GMP operation is __gmpn_popcount which consumes 12% of the running time. Thanks again, Roberto -- Prof. Roberto Bagnara Computer Science Group Department of Mathematics, University of Parma, Italy http://www.cs.unipr.it/~bagnara/ mailto:bagnara@cs.unipr.it
participants (2)
-
Roberto Bagnara -
Torbjorn Granlund