#5219: Build ATLAS in dist mode with SSE2 only
--------------------------+-------------------------------------------------
 Reporter:  mabshoff      |       Owner:  mabshoff
     Type:  defect        |      Status:  assigned
 Priority:  critical      |   Milestone:  sage-3.4
Component:  distribution  |    Keywords:          
--------------------------+-------------------------------------------------

Comment(by mabshoff):

 Ok, no need to do something stupid with the probes. Clint come to the
 rescue:
 {{{
 > * The other issue concerns selecting a maximum SSE level. Right now I
 >can pick some Arch, but the SSE level up to SSE3 (==PNI) is determined
 >by the probes. So even if I pick a PIII for example I end up with SSE3
 >>support if the CPU supplies it. So far the trick I am using is to have
 >the SSE probe unconditionally return "FAILURE", so that for example I
 >get a SSE2 only ATLAS on a CPU with SSE3 or more. Obviously
 >performance will suck, but in case of Sage it is between "illegal
 >instructions" and working binaries, so performance  is something I can
 >sacrifice for that.
 >
 >Is there a plan to make the SSE level selectable as a config option?

 Not only is there a plan, but it's been available since 3.8.0!  It's not
 the easiest thing to grok, because one machine obviously can support many
 vector extensions.  Here is the line from 'configure --help':
   -V #    # = ((1<<vecISA1) | (1<<vecISA2) | ... | (1<<vecISAN))

 Now, since xprint_enums for some reason doens't print these values out,
 I can oh so conveniently scope ATLAS/CONFIG/include/atlconf.h for:
   enum ISAEXT {ISA_None=0, ISA_AV, ISA_SSE3, ISA_SSE2, ISA_SSE1,
 ISA_3DNow};

 Therefore, if I want no vector code at all, I throw '-V -0'; if I want
 SSE2 & 1 but not 3, I throw (1<<3)+(1<<4) = 8+16=24, so '-V 24', and
 bingo: no SSE3 even on a machine that does SSE3!

 Cheers,
 Clint
 }}}

 Cheers,

 Michael

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5219#comment:4>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to