#4966 closed defect (fixed)
[with spkg, patch, positive review] Switch gmp to eMPIRe svn1555
Reported by: | Michael Abshoff | Owned by: | Michael Abshoff |
---|---|---|---|
Priority: | critical | Milestone: | sage-3.3 |
Component: | packages: standard | Keywords: | |
Cc: | Mike Hansen | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
The eMPIRe.spkg is nearly a drop in for the old gmp-4.2.1.spkg. There are a couple doctests to fix (see upcoming patches) and the ecmgmp.spkg also needs a bump since it requires a recompile.
Cheers,
Michael
Attachments (2)
Change History (8)
comment:1 Changed 14 years ago by
Status: | new → assigned |
---|
comment:2 Changed 14 years ago by
Summary: | Switch gmp to eMPIRe svn1555 → [with spkg, patch, needs review] Switch gmp to eMPIRe svn1555 |
---|
Changed 14 years ago by
Attachment: | trac_4966_doc.patch added |
---|
Changed 14 years ago by
Attachment: | trac_4966_sage.patch added |
---|
comment:3 Changed 14 years ago by
Note that the spkg is larger than the old one due to two things:
- we are shipping a copy of yasm to build MPIR since the one in the system is usually too buggy to work
- we are shipping Brian Gladman's VS 2008 build files
The spkg has been tested on
- FC 9 x86
- FC 9, OpenSUSE 10.3 x86-64
- RHEL 5.2, SLES 10 Itanium
- Solaris 10 Sparc and x86
- OSX 10.4 ppc
- OSX 10.5 x86 *and* x86-64
- YDL 6.1 PS3 (a G5 variant)
Cheers,
Michael
comment:4 Changed 14 years ago by
Summary: | [with spkg, patch, needs review] Switch gmp to eMPIRe svn1555 → [with spkg, patch, positive review] Switch gmp to eMPIRe svn1555 |
---|
REVIEW:
(1) All doctests pass with the applied patches.
(2) Just for fun I checked to see how bad the xgcd speed regression is:
BEFORE (with GMP): sage: n = ZZ.random_element(0,2^(2^20)); m = ZZ.random_element(0,2^(2^20)) sage: time k = m.xgcd(n) CPU times: user 0.73 s, sys: 0.00 s, total: 0.73 s Wall time: 0.74 s AFTER (with eMPIRe): sage: n = ZZ.random_element(0,2^(2^20)); m = ZZ.random_element(0,2^(2^20)) sage: time k = m.xgcd(n) CPU times: user 2.39 s, sys: 0.00 s, total: 2.39 s Wall time: 2.39 s
I did some multiplication timings (by multiplying m, n as above and bigger) and empire is always about 3-5% FASTER.
preliminary *positive review*.
I will look this over again a little more carefully, but so far it looks very very good.
comment:5 Changed 14 years ago by
Cc: | Mike Hansen added |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
Merged two patches and the spkg in Sage 3.3.alpha0
Mike: Note that there are doctest changes in the doc repo, too.
comment:6 Changed 14 years ago by
I found one buglet that slipped by, i.e. we need to unset PYTHON since Yasm gets confused by it. I also did not check in the changes to spkg-install, so I did so.
Cheers,
Michael
The spkg can be found at
http://sage.math.washington.edu/home/mabshoff/spkgs/gmp-mpir-svn1555.spkg
To review also apply the two patches I will add momentarily. One also needs to force a rebuild of ecmgmp and the libecm extension. During the upgrade this will be accomplished via #5016.
Cheers,
Michael