GMP-ECM 6.2 is out
Paul Zimmermann
Paul.Zimmermann at loria.fr
Sat May 17 09:48:01 CEST 2008
Hi,
for those interested in applications of GMP, a new release of GMP-ECM is out
at <http://ecm.gforge.inria.fr/>. The two main changes are:
1) a completely new P-1 and P+1 stage 2 (new algorithm from Montgomery and
Kruppa, that will be presented at the ANTS VIII conference next week),
with much reduced time and memory usage:
GMP-ECM 6.1.3 [powered by GMP 4.2.2] [P-1]
Input number is 29799904256775982671863388319999573561548825027149399972531599612392671227006866151136667908641695103422986028076864929902803267437351318167549013218980573566942647077444419419003164546362008247462049 (200 digits)
Using B1=100000000, B2=23512791130, polynomial x^60, x0=3764607873
Step 1 took 106950ms
Step 2 took 29082ms
GMP-ECM 6.2 [powered by GMP 4.2.2] [P-1]
Input number is 29799904256775982671863388319999573561548825027149399972531599612392671227006866151136667908641695103422986028076864929902803267437351318167549013218980573566942647077444419419003164546362008247462049 (200 digits)
Using B1=100000000, B2=22465675936, polynomial x^1, x0=3248081926
Step 1 took 106591ms
Step 2 took 3289ms
Note: the default B2 for P-1/P+1 is surely not optimal. One can probably
raise it by a factor of ten or so.
2) a faster stage 1 on Opteron and Core 2 (make sure to configure with
--enable-asm-redc) and a faster ECM stage 2 on almost all processors:
GMP-ECM 6.1.3 [powered by GMP 4.2.2] [ECM]
Input number is 29799904256775982671863388319999573561548825027149399972531599612392671227006866151136667908641695103422986028076864929902803267437351318167549013218980573566942647077444419419003164546362008247462049 (200 digits)
Using B1=1000000, B2=1045563762, polynomial Dickson(6), sigma=3231798597
Step 1 took 6367ms
Step 2 took 5130ms
GMP-ECM 6.2 [powered by GMP 4.2.2] [ECM]
Input number is 29799904256775982671863388319999573561548825027149399972531599612392671227006866151136667908641695103422986028076864929902803267437351318167549013218980573566942647077444419419003164546362008247462049 (200 digits)
Using B1=1000000, B2=1045563762, polynomial Dickson(6), sigma=1434291988
Step 1 took 5736ms
Step 2 took 3901ms
Happy factoring!
The GMP-ECM team
Release notes:
* New stage 2 for P-1 and P+1, described in Montgomery and Kruppa,
Improved Stage 2 to P+-1 Factoring Algorithms,
in A. J. van der Poorten and A. Stein (Eds.), ANTS-VIII 2008,
LNCS 5011, pp. 180-195.
* Parallelization in the new P+-1 stage 2 (with --enable-openmp).
* Optimizations to the NTT code by Jason S. Papadopoulos
* Improved mulredc assembly code for Athlon64/Opteron
* Improved modular reduction in the mpzmod range
* Bugfix in P+1 stage 2 which caused incorrect initialisation if
Brent-Suyama polynomial had degree > 1 and i0 was negative (occurs
only with non-standard parameters)
* Bugfix in generation of Lucas chains for P+1 and ECM, causing some
stage 1 primes close to 2^32 to be processed incorrectly on 32 bit
systems
* Added build project for VC++ by Brian Gladman
* File ecm.h changed from GPL to LGPL: the fact it was under GPL was an
unvoluntary mistake, which has the consequence that applications
linking with libecm for version < 6.2 should be under GPL too.
* Fixed a regression introduced in 6.1.1: the default arithmetic (NTT)
for stage 2 was slower for large inputs. Now defaults to -no-ntt for
input numbers >30 machine words.
More information about the gmp-discuss
mailing list