Yes. SSE never makes it into the module ABI, it's just an implementation
concern. (I believe it may be used across function/module boundaries internally
when the compiler can prove that it's inaccessible from the outside - a more
space effective form of inlining.)
There will be some 3.5.0-built wheels that won't work on some machines running
3.5.1 without SSE, and some wheels will see a performance decrease when built
with 3.5.1 vs 3.5.0 (but not compared to 3.4). These latter ones weren't
expecting the perf increase anyway, so compatibility is likely there biggest
concern.
This does only affect 32-bit builds, so now I'm thinking about the possibility
of treating those as highly compatible while the 64-bit ones get better
performance treatment, though I'm not sure how that could actually play out. It
may help remove some of the questions about which one to use though.
Cheers,
Steve
Top-posted from my Windows Phone
-----Original Message-----
From: "Donald Stufft" <don...@stufft.io>
Sent: 10/11/2015 7:31
To: "Steve Dower" <steve.do...@python.org>
Cc: "distutils-sig" <distutils-sig@python.org>; "Laura Creighton"
<l...@openend.se>
Subject: Re: [Distutils] warning about potential problem for wheels
Will something built against 3.5.0 with SSE work on 3.5.1 without SSE? What
about the inverse?
Sent from my iPhone
On Oct 11, 2015, at 10:17 AM, Steve Dower <steve.do...@python.org> wrote:
An extra data point is that we've had exactly one report of Python 3.5 not
working due to lack of SSE, and that person was also on Windows XP (so zero
reports on supported platforms).
That said, I should probably just fix 3.5.1 to not use SSE for core or
distutils builds. I doubt there was a huge performance increase due to it
(mainly in memcpy I'd assume).
Cheers,
Steve
Top-posted from my Windows Phone
From: Nathaniel Smith
Sent: 10/10/2015 16:11
To: Laura Creighton
Cc: distutils-sig
Subject: Re: [Distutils] warning about potential problem for wheels
On Oct 10, 2015 3:37 PM, "Laura Creighton" <l...@openend.se> wrote:
>
> In a message of Sat, 10 Oct 2015 21:52:58 -0000, Oscar Benjamin writes:
>
> >Really this is just a case of an unsupported platform. It's unfortunate
> >that CPython doesn't properly support this hardware but I think it's
> >reasonable that if you have to build your interpreter from source then you
> >have to build your extension modules as well.
>
> Alas that there is no easy way to detect. The situation I am
> imagining is where the administrators of a school build pythons for
> the students to run on their obsolete hardware, and then the poor
> students don't understand why pip doesn't work. But I suppose we
> will just get to deal with that problem when and if it happens.
In case some numbers help: the numerical community has been tracking the
deployment of SSE2 to decide when to switch over for numpy/scipy builds, and at
this point what I hear is:
- ~0.5% of Firefox crashes are on machines that are missing SSE2
- <0.1% of machines with Steam installed are missing SSE2
I'm not sure what python distributions like Anaconda or Activestate are doing
wrt SSE2, but even if their builds do require SSE2 then their build tooling
might provide a quick way to generate a whole installable environment with
custom build options for targeting older systems. (Continuum as of today still
hasn't released build scripts for the bottom of their stack --
python/numpy/etc. -- but they've claimed willingness to do so and there's
increasing calls to make a "centos" version of Anaconda. And all the tooling
beyond that -- e.g. the actual package manager -- is FOSS.)
-n
_______________________________________________
Distutils-SIG maillist - Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig
_______________________________________________
Distutils-SIG maillist - Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig