Hi folks,

I have made a basic spkg for GMP 4.3.0:

http://sage.math.washington.edu/home/dmharvey/gmp-4.3.0.spkg

I've only tested on a linux opteron system. It builds fine; there are
various doctest failures that look related to non-canonical XGCD
output. Quite possibly it won't yet even build on other sage-supported
systems.

To try it out, you will need to remove SAGE_ROOT/spkg/standard/gmp-
mpir*.spkg and replace it with the above file, before starting the
build. (I'm not sure if you can install it into an existing sage
build.) You will also need to replace ecm-6.2.1.p0.spkg with

http://sage.math.washington.edu/home/dmharvey/ecm-6.2.2.spkg

(Note that this spkg has a hack in the configure script to make it not
get confused about different version numbers ("4.3" vs "4.3.0") in
gmp.h and libgmp. Hopefully this will be unnecessary in the next
release of GMP-ECM.)

GMP 4.3.0 has a lot of nice speedups. One of my favourites is the
asymptotically improved XGCD implementation, for example (2.6 GHz
opteron):

========== vanilla sage 3.4:
sage: p = 2^2976221 - 1    # nice big mersenne prime
sage: x = Integers(p).random_element()
sage: time y = 1/x
CPU times: user 43.19 s, sys: 0.02 s, total: 43.21 s
Wall time: 43.21 s

========== Magma V2.15-1:
> p := 2^2976221 - 1;
> x := Integers(p) ! Random(p);
> time y := 1/x;
Time: 3.590

========== Mathematica 6.0:
In[1]:= p = 2^2976221 - 1;
In[2]:= x = RandomInteger[p];
In[3]:= Timing[y = PowerMod[x, -1, p];]
Out[3]= {2.02, Null}

========== sage 3.4 with GMP 4.3.0:
sage: p = 2^2976221 - 1
sage: x = Integers(p).random_element()
sage: time y = 1/x
CPU times: user 1.45 s, sys: 0.01 s, total: 1.46 s
Wall time: 1.46 s

Recently Sage switched from GMP to the MPIR fork. I make no secret of
the fact that I disagree with this decision, although I did initially
support MPIR. I hope that Sage can figure out some way to incorporate
the improvements in GMP 4.3.0 (as competing systems like Mathematica,
Maple and Magma will soon surely do).

david

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to