-
-
Notifications
You must be signed in to change notification settings - Fork 490
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
use LinBox as native matrix representation for dense matrices over GF(p) #4260
Comments
comment:1
I will work on it as a coding sprint at SD10. |
Author: Burcin Erocal |
comment:3
I finally rebased the patch from SD16. The template class in the patch contains the updates made to the modn_dense class since then, like changes to the Sage builds with the attached patches, and you can construct matrices. However, there are lots of bugs, some linbox wrappers are still stubs, etc. Expect crashes and wrong results. With the patch applied, I get a crash with the following:
AFAICT, the new cython code is an exact copy of the wrapper function in
I'd appreciate any pointers about the problem above, though I don't know if I'll have the time to come back to this before the bug days in August (when I presume Martin will take over?). |
comment:4
These are the files in
|
Attachment: trac_4260-linbox_default.patch.gz make matrix space constructor use the new classes |
This comment has been minimized.
This comment has been minimized.
comment:5
I fixed a few issues and segfaults but the thing is far from done. However, one can probably do higher level stuff now, i.e. it shouldn't crash that much any more. We need a new LinBox SPKG because |
This comment has been minimized.
This comment has been minimized.
comment:7
Doctest failures with most recent patch on sage.math:
|
Changed author from Burcin Erocal to Burcin Erocal, Martin Albrecht |
This comment has been minimized.
This comment has been minimized.
comment:8
I've fixed all the easy stuff which brings the doctest failures down to:
many of which seem to be caused by a small set of bugs. |
comment:9
Here's where we are at on sage.math:
|
Work Issues: sd32 |
comment:11
With the updated patch we are down to:
However, there also seems to be a doctest failure in |
comment:12
Now all doctests should pass! |
Changed keywords from linbox to linbox, sd32 |
Changed work issues from sd32 to none |
Work Issues: extend documentation |
Changed author from Burcin Erocal, Martin Albrecht to Burcin Erocal, Martin Albrecht, Rob Beezer |
This comment has been minimized.
This comment has been minimized.
comment:43
Works on OS X 10.4 PPC, so positive review. |
comment:44
This crashes all over the place on OpenSolaris 06.2009-32 (hawk). For example:
There are many more like this. |
comment:45
Mhh, the trouble is in Matrix_integer_dense, which isn't what this ticket is about, so that's curious. How do I log into hawk? |
comment:46
I still want to investigate some more, for example I have not checked that it is really this ticket which causes the problems (but you do see "linbox" appearing in the backtrace). Strangely, even building the documentation crashes:
|
Changed merged from sage-4.8.alpha2 to none |
comment:48
Replying to @malb:
Hawk is a machine from David Kirkby, so you should ask him. |
comment:49
Okay, I managed to build 4.8-alpha2 + this ticket on hawk. Just starting and stopping Sage gives:
So it tries to clean up LinBox at the end and that's when things go wrong:
any ideas about why? |
comment:50
Weird, I rebuilt everything from scratch using these environment variables
and now
i.e., the segfault is gone. How does the buildbot build Sage? |
comment:51
Replying to @malb:
|
comment:52
Perhaps, it's a GCC 4.5.0 issue? |
comment:53
Replying to @malb:
Could very well be. What does your gcc --version say? (the gcc you used to compile Linbox successfully) |
comment:54
|
comment:55
I can confirm that this bug is at least triggered by GCC 4.5. Here's the relevant bits of the env that I used to build Sage + this ticket just now:
and this one crashes with a SIGSEGV. Whereas the env posted above by doesn't. I am not sure what to do about this? Ask Dave to install a newer GCC to test whether it fails with it as well? |
comment:56
Replying to @malb:
That's not a bad suggestion, asking to install gcc 4.5.3 for example (the latest in the 4.5 series) |
comment:57
I conclude it's a compiler bug: I just built with:
and
I suggest to avoid 4.5.0 (at least on OpenSolaris) and to change the status of this ticket back to positive review. |
Merged: sage-4.8.alpha3 |
comment:60
Testing again on hawk... |
Copying to and from LinBox uses up precious RAM and the point of fast linear algebra is to deal with large matrices. We should consider switching to LinBox as the native representation of matrices over GF(p)
Without Patch
With Patch
Magma
CC: @simon-king-jena @rbeezer @sagetrac-drkirkby
Component: linear algebra
Keywords: linbox, sd32, sd34
Author: Burcin Erocal, Martin Albrecht, Rob Beezer
Reviewer: Burcin Erocal, Simon King, Martin Albrecht, Jeroen Demeyer
Merged: sage-4.8.alpha3
Issue created by migration from https://trac.sagemath.org/ticket/4260
The text was updated successfully, but these errors were encountered: