Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch gmp to eMPIRe svn1555 #4966

Closed
sagetrac-mabshoff mannequin opened this issue Jan 12, 2009 · 6 comments
Closed

Switch gmp to eMPIRe svn1555 #4966

sagetrac-mabshoff mannequin opened this issue Jan 12, 2009 · 6 comments

Comments

@sagetrac-mabshoff
Copy link
Mannequin

sagetrac-mabshoff mannequin commented Jan 12, 2009

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

CC: @mwhansen

Component: packages: standard

Issue created by migration from https://trac.sagemath.org/ticket/4966

@sagetrac-mabshoff sagetrac-mabshoff mannequin added this to the sage-3.3 milestone Jan 12, 2009
@sagetrac-mabshoff sagetrac-mabshoff mannequin self-assigned this Jan 12, 2009
@sagetrac-mabshoff
Copy link
Mannequin Author

sagetrac-mabshoff mannequin commented Jan 18, 2009

comment:2

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

@sagetrac-mabshoff
Copy link
Mannequin Author

sagetrac-mabshoff mannequin commented Jan 18, 2009

Attachment: trac_4966_doc.patch.gz

@sagetrac-mabshoff
Copy link
Mannequin Author

sagetrac-mabshoff mannequin commented Jan 18, 2009

comment:3

Attachment: trac_4966_sage.patch.gz

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

@williamstein
Copy link
Contributor

comment:4

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.

@sagetrac-mabshoff
Copy link
Mannequin Author

sagetrac-mabshoff mannequin commented Jan 19, 2009

comment:5

Merged two patches and the spkg in Sage 3.3.alpha0

Mike: Note that there are doctest changes in the doc repo, too.

@sagetrac-mabshoff sagetrac-mabshoff mannequin closed this as completed Jan 19, 2009
@sagetrac-mabshoff
Copy link
Mannequin Author

sagetrac-mabshoff mannequin commented Jan 19, 2009

comment:6

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

@sagetrac-mabshoff sagetrac-mabshoff mannequin mentioned this issue Jan 19, 2009
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant