#5847: Update GMP-ECM to 6.3
-------------------------+--------------------------------------------------
Reporter: mabshoff | Owner: leif
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-4.6.1
Component: packages | Resolution:
Keywords: | Author: Mike Hansen, Leif Leonhardy, Jeroen
Demeyer
Upstream: N/A | Reviewer: Leif Leonhardy, Dima Pasechnik
Merged: | Work_issues:
-------------------------+--------------------------------------------------
Changes (by leif):
* status: needs_work => needs_review
Old description:
> {{{
> Changes between ecm-6.2.1 and 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
> }}}
>
> New spkg:
> [http://sage.math.washington.edu/home/jdemeyer/spkg/ecm-6.3.p1.spkg]
>
> Testing distribution (including #8664):
> [http://sage.math.washington.edu/home/jdemeyer/release/sage-4.6.1.alpha0-mpir/sage-4.6.1.alpha0-mpir.tar]
New description:
{{{
Changes between ecm-6.2.1 and 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
}}}
----
Old spkg:
[http://sage.math.washington.edu/home/jdemeyer/spkg/ecm-6.3.p1.spkg]
Testing distribution (including #8664):
[http://sage.math.washington.edu/home/jdemeyer/release/sage-4.6.1.alpha0-mpir/sage-4.6.1.alpha0-mpir.tar]
----
'''New spkg: http://spkg-upload.googlecode.com/files/ecm-6.3.p2.spkg'''
'''md5sum:''' `85eabecaa8974a270d5587ef8de06da1 ecm-6.3.p2.spkg`
--
Comment:
'''New spkg: http://spkg-upload.googlecode.com/files/ecm-6.3.p2.spkg'''
'''md5sum:''' `85eabecaa8974a270d5587ef8de06da1 ecm-6.3.p2.spkg`
----
=== ecm-6.3.p2 (Leif Leonhardy, November 23rd, 2010) ===
* Apply another patch from upstream to 'configure.in' to fix compilation
on 32-bit x86 processors supporting SSE2. (#10252)
(There's only a single, cumulative patch file since both patches are to
'configure.in'.)
* Work around linker bug on MacOS X 10.5 PPC (see Special Update/Build
Instructions above, and #5847 comment 35 ff.).
* Allow passing extra arguments to 'configure' through ECM_EXTRA_OPTS.
* Add "-march=native" to CFLAGS on platforms that support it if CFLAGS
do not already contain similar.
* Print settings of CC, CFLAGS etc. and how we configure.
* Print settings of CC and CFLAGS found in 'SAGE_LOCAL/include/gmp.h'
and eventually a system-wide 'gmp.h'; these aren't yet used though.
* Further clean-up.
----
=== Special Update/Build Instructions ===
* src/ contains "stable" upstream code, to which we currently apply
two upstream patches (both to 'configure.in'). These (i.e. the
files 'patches/configure.in' and 'patches/configure') should be
removed on the next upgrade to a stable release.
* GMP-ECM comes with a self-tuning feature; we could support
that as an option ($SAGE_TUNE_*=yes) in the future.
* We currently work around a linker bug on MacOS X 10.5 PPC (with
GCC 4.2.1) which breaks 'configure' if debug symbols are enabled.
This *might* get fixed in later upstream releases.
* ECM currently does not use the CC and CFLAGS settings from 'gmp.h'
since we pass (other) options in CFLAGS (though MPIR currently doesn't
use its own CFLAGS for the same reason); we could fix that somehow
s.t. "optimized" code generation options ('-mcpu=...', '-mtune=...')
are used by gcc. Of course a user can also manually enable them by
setting the "global" CFLAGS to e.g. "-march=native" on x86 systems.
Note that this doesn't affect the packages' selection of processor-
specific optimized [assembly] code.
'spkg-install' already reads those settings now, but doesn't yet
use them.
If SAGE_FAT_BINARY="yes", we should avoid too specific settings of
"-mcpu=...", and perhaps pass a more generic "--host=..." to
'configure'.
----
Please build, test and report!
(As you know, it still requires the new MPIR spkg from #8664. Note that I
didn't have the same versions of autotools, so the patched `configure`
looks quite different and might give warnings, but works, at least for
me.)
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5847#comment:63>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" 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/sage-trac?hl=en.