#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.


Reply via email to