#13376: Optional SPKG for SmallJac
-------------------------------------+--------------------------------------
Reporter: pavpanchekha | Owner: tbd
Type: enhancement | Status: new
Priority: major | Milestone:
Component: optional packages | Resolution:
Keywords: | Work issues:
Report Upstream: N/A | Reviewers:
Authors: | Merged in:
Dependencies: | Stopgaps:
-------------------------------------+--------------------------------------
Comment (by pavpanchekha):
Replying to [comment:3 rohana]:
> * don't touch unrelated files (e.g.
sage/numerical/backends/glpk_backend.pxd)
My mistake, sorry. I've updated the patch file to remove such garbage and
add the actual files instead.
> * it would probably make more sense to default to smalljac over pari if
it is installed
This seemed like a more controversial option, though of course that
wouldn't be a problem.
> * it would help if your trac ticket included installation instructions
at the bottom, and if it is ready to be reviewed, you should change the
status to needs review
Will do. I read through the developer guide, but either forgot or didn't
see things like this.
Replying to [comment:4 rohana]:
> Also, please do not attach spkgs to tickets in the future, instead post
a link to the file.
Alright. Links to the two SPKGs are at [http://www.mit.edu/~pavpan/].
They have small updates from the ones included above.
Replying to [comment:5 leif]:
> Also, the 'Authors' field is empty...
Where?
Replying to [comment:6 fbissey]:
> Anyway that assume way too much about the underlying cpu even on x86_64.
> When you say 64bit do you mean x86_64 as in "I have used simmd
instructions that are only available on this cpus"(pet hate) or something
else?
> And just looking I have found assembly....
No, I think the meaning (and I am not Drew Sutherland so I do not know
exactly) is that fast 64-bit integer operations are assumed throughout,
and some algorithms are optimized to use the extra registers available on
64-bit systems. The single assembly instruction used is that which yields
the high bit of an unsigned integer. This can always be written as a
loop, but that will hurt performance. I do not know if such an
instruction is available on arm, ppc, or elsewhere.
> -fPIC and -static are kind of opposite but you will want to fold a
library that you only know how to build static into a shared object so you
need the -fPIC. Would be better to build shared in the first place.
I believe static compilation is for performance reasons. I can ask Drew
Sutherland how important that is. The compilation certainly works without
it. Similarly the tuning parameter, though suggesting to GCC that it is
compiling to a platform with a full x86_64 register set and integer size
is again important to performance.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13376#comment:7>
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 unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.