File: NEWS

package info (click to toggle)
gmp-ecm 7.0.4+ds-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 4,728 kB
  • sloc: asm: 36,431; ansic: 34,057; xml: 885; python: 799; sh: 698; makefile: 348
file content (267 lines) | stat: -rw-r--r-- 13,478 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
Changes between GMP-ECM 7.0.3 and 7.0.4:
* fixed a bug in mpres_pow:
  https://gforge.inria.fr/tracker/?func=detail&atid=623&aid=20712&group_id=135
* fixed a bug with P-1 or P+1 and small B2
* improved portability (OS X, Windows, Cygwin, non GNU ld)
* fixed make longcheck with out-of-source build

Changes between GMP-ECM 7.0.2 and GMP-ECM 7.0.3:
* fixed compilation issue on powerpc64

Changes between GMP-ECM 7.0.1 and GMP-ECM 7.0.2:
* fixed bug in P-1/P+1 stage 2 and -redc when -1/N mod R has less than n limbs

Changes between GMP-ECM 7.0 and GMP-ECM 7.0.1:
* fixed efficiency issue with divisors of 2^n+/-1
* allow for larger B1 values on Windows computers in batch mode
* several fixes on Debian (FreeBSD, powerpc64)
* fixed save files generated by gpu-ecm
* fixed issue with gcc-5 (CC/CFLAGS from gmp.h were no longer used)
* updated longlong.h file from GMP 6.1.0
* fixed some compiler warnings

Changes between GMP-ECM 6.4.4 and GMP-ECM 7.0:
* GMP-ECM is now thread-safe. In particular the "ecmfactor" binary can be
  called with say -t 17 to use 17 threads.
* Added GPU code for Step 1 (command-line option -gpu).
* Command-line option -param allows to choose the parametrization (valid values
  are 0, 1, 2, 3). Command-line option -sigma allows to choose the parameter.
  "-sigma i:s" is a shortcut to "-param i -sigma s". Use -param 0 to get
  historical Suyama parametrization.
* The batch mode is now chosen with -param command-line option.
  The default parametrization depends on other command-line options.
* For P-1 stage 2, by default the NTT code is always used.
* Speedup in stage 2 with -no-ntt
* New primality proving code with APRCL (contributed by David Cleaver)
  with --enable-aprcl (default=yes)
* Removed some options that were unused or not tested (-n, -nn, -ve, -cofdec,
  -B2scale).
* The configure --enable-shellcmd option was removed, and also the
  --enable-memory-debug configure option (now obsolete with valgrind).
* The -b options was removed (breadth-first mode)
* Improved source coverage (92.7% of source code lines)

Changes between GMP-ECM 6.4.3 and GMP-ECM 6.4.4:
* Fixed PowerPC64 assembly code with --enable-shared (thanks Leif Leonhardy)
* Fix to deal with change of semantics of internal GMP functions in GMP 5.1
* Fixed small memory leak in non-NTT P-1 stage 2
* Fixed segfaults with large non-NTT P+-1 stage 2
* Removed defunct -t command line option

Changes between GMP-ECM 6.4.2 and GMP-ECM 6.4.3:
* Fixed bug reported by user "lorgix" on mersenneforum
  (http://www.mersenneforum.org/showpost.php?p=286385&postcount=280)
* Use 64-bit value for random seed under Windows

Changes between GMP-ECM 6.4.1 and GMP-ECM 6.4.2:
* Corrected the copyright headers
* Reduced memory usage in stage 1 with -batch={1,2} mode.
* Fixed bug in modular reduction (could occur only for numbers larger than
  386 digits on 64-bit computers and 193 digits on 32-bit computers).
* Speedup in stage 2 with the NTT default mode

Changes between GMP-ECM 6.4 and GMP-ECM 6.4.1:
* GMP-ECM is now distributed under the GPL version 3 or later for the binary,
  and under the LGPL version 3 or later for the library
* Fixed a speed regression with respect to GMP-ECM 6.3
  http://lists.gforge.inria.fr/pipermail/ecm-discuss/2012-February/004103.html
* Fixed a bug with the -treefile option which had been present for a long time
* Several fixes for the Visual Studio 2010 build
* New experimental option -batch=2, and speedup for -batch (i.e., -batch=1)
* New tuning mechanism, now --enable-asm-redc is always recommended
* New configure option --enable-mulredc-svoboda, for input numbers whose low
  limbs is congruent to -1
* New tuning parameters for Intel Core i5
* New ecmbench utility

Changes between GMP-ECM 6.3 and GMP-ECM 6.4:
* Fixed configure problem with SSE2
  (http://trac.sagemath.org/sage_trac/ticket/10252)
* Fixed configure bug on 32-bit PowerPC (tried to use 64-bit assembly)
  https://gforge.inria.fr/tracker/index.php?func=detail&aid=10646
* Fixed dependencies from build directory
  https://gforge.inria.fr/tracker/index.php?func=detail&aid=10648
* Patch from David Cleaver to allow B1 >= 2^32 on machines where
  "unsigned long" has 32 bits only
* Patch from David Cleaver to use GWNUM 26.6 on Windows x64 with MingW64/Msys
* Improved conversion from mpz_t to residue number system in NTT code
* Better asm code for AMD cpus
* Use of GMP's mpn_mullo_n and mpn_redc_2 when available
* New option -batch with faster Stage 1 (but smaller success probability)
* Added Visual Studio 2010 build

Changes between GMP-ECM 6.2.3 and GMP-ECM 6.3:
* New assembly code for 64-bit PowerPC (thanks to Philip McLaughlin)
* Allow several processes to write to the same -save file
* More routines in new P+-1 stage 2 use multi-threading in OpenMP build
* Fixed incompatibility with GMP 5.0.0
* Fixed several bugs, and now check return value from malloc() calls
* Fixed linking of GMP which prevented successful builds under Darwin 
  (and presumably other systems)
* Allow use of x86_64 asm code under MinGW

Changes between GMP-ECM 6.2.2 and GMP-ECM 6.2.3:
* Fixed incompatibility with GMP 4.3.0 when testing version in configure
* SSE2 asm code for Visual C added in stage 2 NTT code
* Small improvement to x86_64 mulredc asm code, slight speedup on Core 2
* Fixed incorrect carry propagation in subquadratic REDC code which
  could lead to incorrect arithmetic in rare cases
* Fixed memory leak with -v parameter when factor was found in ECM stage 1
* Fixed bug which caused only one ECM curve to be run in spite of -c
  parameter if input line did not end in newline
* Assembler mulredc code enabled by default on x86_64

Changes between GMP-ECM 6.2.1 and GMP-ECM 6.2.2:
* Updated build project files for Visual C by Brian Gladman, also adds
  missing NTT_GFP_TWIDDLE_DI[FT]_BREAKOVER defines in VC parameter file
* Fixed uninitialised parameter to P-1 probability computation
* In tune.c : fixed generation of NTT_GFP_TWIDDLE_DI[FT]_BREAKOVER values,
  avoid calling cputime() excessively often when timing short functions,
  fixed access to uninitialised memory
* Fixed serious split infinitive in configure script (thanks Paul Leyland)
* Removed unnecessary carry propagation in x86_64 mulredc code, slight
  speedup (thanks Philip McLaughlin)
* Fixed non-portable PIC code in x86_64/redc.asm
* Fixed problem with pattern matching host type names in configure.in
* Converted binary constants in spv.c and ntt_gfp.c to hexadecimal, 
  some assembler do not support binary constants

Changes between GMP-ECM 6.2 and GMP-ECM 6.2.1:
* Default B2 for new P-1 and P+1 stage 2 increased
* Probabilities for finding factors with P-1 are now printed with -v
* Fixed compilation problem on IA64, EV56, and ARM
* Made threshold between recursive and iterative NTT tunable

Changes between GMP-ECM 6.1.3 and GMP-ECM 6.2:
* 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.

Changes between GMP-ECM 6.1.2 and GMP-ECM 6.1.3:
* fixed incorrect computation of memory use in stage 2, especially for
  machines that use Kronecker-Schoenhage multiplication even for large
  degrees, such as Core 2.
* fixed -B2scale option whose value hadn't been passed to the factoring
  routines
* fixed default B2min for P-1, which could be truncated on 32 bit machines,
  causing stage 2 to take a little longer than necessary
* fixed bug for modular multiplication modulo Fermat numbers 2^2^n+1, where 
  a result of 2^2^n would be truncated to 0.

Changes between GMP-ECM 6.1.1 and GMP-ECM 6.1.2:
* changed copyright header from sp.h, to recognize the FSF for parts inspired
  or taken from gmp-impl.h.

Changes between GMP-ECM 6.0.1 and GMP-ECM 6.1:
* new assembly code contributed by Pierrick Gaudry for combined mul/redc
* new Number Theoretic Transform code contributed by Dave Newman for step 2
* new signal handling and corresponding save files for step 1
* now prints peak memory allocation with -v
* improved and simplified tuning
* command-line options: added -idlecmd -no-ntt -prpcmd -stage1time -maxmem,
	removed -prp*
* new configure options --enable-asm-redc, --with-gwnum
* new exit status codes of ecm program
* new interface to George Woltman's GWNUM library (see INSTALL)
* chosen stage 2 bound is now printed right away
* fixed minor memory leak in mpmod.c/isbase2
* fixed invalid Found input number N reported on some numbers
* fixed serious P+1 bug on 64-bit architectures with B1 > 2^32
* fixed wrong detection of divisors of 2^n+1 or 2^n-1 
* fixed memory leaks

Changes between GMP-ECM 6.0 and GMP-ECM 6.0.1:
* now checks for availability of snprintf() during configure
* fixed linking problems with tune and tune2 on PowerPC G5
* fixed segfault in rho.c
* fixed main()'s B2 value being overwritten by callees
* allow both \r and \n for newline (for Apple computers)
* made files compile under Visual C
* fixed bug in listz.c that could leave undefined data
* fixed the -B2scale option
* fixed small error in printed B2' value (with -v)
* added Windows section to INSTALL
* small corrections to ecm.xml and ecm.1
* added curve counter in loop mode again
* fixed segfault when a non-number was in place of B2 on command line
* worked around problem with MinGW/Wine scanf() (value 1 too high for %n)
* free rhotable memory at end of stage 2
* replaced GSL's dilog_series() in rho.c due to licensing (GPL vs. LGPL)

Changes between GMP-ECM 5.0.3 and GMP-ECM 6.0:
* use of the autotools (configure/make)	
* there is now a documentation in "man" format (ecm.1)
* added a set of -prp* command line switches which will use an external
    program to perform prp testing of candidate and factors.  When the
	numbers get large, GMP becomes very non-optimal in PRP testing.
	An external program, such as OpenPFGW, can be much faster than
	the GMP.  (New code from Phil Carmody)
* new parser for symbolic input
* added hex number input into the expression parser.  This was needed 
    due to save files from Prime95 being output in hex.  ecm was not
    resuming these.
* added some porting code so ecm builds under VC6.  VC6 builds an ecm
    that is is about 1% to 3% faster than the MinGW build (which is
    about 1% to 3% faster than a Cygwin build)
* quiet mode (-q) now prints on stdout all factors found on the same line:
  f1 f2 ... fk ccc
  where ccc is the remaining composite (contributed by Laurent Fousse).
  Example:
  $ echo 438573459834757 | ./ecm -sigma 6 -q 1e2
  2166151 202466707
* special code for Fermat numbers, which improves both steps, example for F12:
  GMP-ECM 5.0.3 [powered by GMP 4.1.4] [ECM]
  Input number has 1187 digits
  Using B1=100000, B2=31565866, polynomial x^2, sigma=4155936925
  Step 1 took 27157ms
  Step 2 took 20830ms
  GMP-ECM 5.2.0 [powered by GMP 4.1.4] [ECM]
  Input number has 1187 digits
  Using B1=100000, B2=31565866, polynomial x^2, sigma=535125396
  Step 1 took 24264ms
  Step 2 took 6605ms
* speed improvement in step 2, especially for large B2 (here with the c155
  in the GMP-ECM sources), using Kronecker/Schonhage multiplication:
  GMP-ECM 5.0.3 [powered by GMP 4.1.4] [ECM]
  Using B1=3000000, B2=4016636514, polynomial Dickson(12), sigma=2383768044
  Step 1 took 62305ms
  Step 2 took 45322ms
  GMP-ECM 5.2.0 [powered by GMP 4.1.4] [ECM]
  Using B1=3000000, B2=4016636514, polynomial Dickson(12), sigma=3595368442
  Step 1 took 61824ms
  Step 2 took 32989ms
* Brent-Suyama's extension now works for P+1 too	
* trial division is available (option -t n)
* new options -n (low priority) and -nn (idle priority)
* the looping mode (-c n) now continues to try to factor the composite when
  a factor is found (use -one to stop)
* new option -ve n to display only inputs of <= n characters (looping mode)
* new option -treefile which stores product tree of F on disk to save memory
* generation of roots use double sieve idea, increases B2 for given k, dF
* generation of roots for ECM rewritten to reduce number of extgcds

Changes between GMP-ECM 5.0 and GMP-ECM 5.0.1:
* fixed bug when B1 or B2min is too large, and an overflow occurs in step 2,
	making the computations incorrect. The new limit for B1 or B2min is
	now around 2^53, and an error occurs when this limit is passed.
* fixed problem with save lines incorrectly written when both sigma and A
	are given with -save.
* fixed efficiency problem with -pm1: for B1 > 1e6, use -redc or -mpz_mod
	by default.