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