<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Oct 11, 2015 at 11:18 AM, Steve Dower <span dir="ltr"><<a href="mailto:steve.dower@python.org" target="_blank">steve.dower@python.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div style="font-family:Calibri,sans-serif;font-size:11pt"> And it's also not binding on redistributors or package builders, who are free to add more restrictive requirements.<br></div></div></div></blockquote><div><br></div><div>not binding, but presumably a simple:</div><div><br></div><div>setup.py build</div><div><br></div><div>with distutils (or setuptools) will NOT use SSE2 in this case? That's the beauty of distutils of course, that is builds extensions with all the same settings as the host python.</div><div><br></div><div>So even is SSE2 provides little for Python itself, in the usual case, we'll see performance hits n compiled extensions that are not compiled by particularly smart people.</div><div><br></div><div>Also -- this thread started with "I can build Python3 myself, but now I can't install arbitrary binary wheels" -- if the goal is to fix that, then we don't WANT people tweaking things to build their wheels with SSE2 -- it would just get uglier.</div><div><br></div><div>I certanly thought the "official" policy was that binary wheels put up on PyPi be (fully) compatible with the <a href="http://python.org">python.org</a> build(s).</div><div><br></div><div>What I'm getting at is that a decision to not use SSE2 in the main python build is a decision to not use it for any PyPi packages -- which could be a Bad Thing.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div style="font-family:Calibri,sans-serif;font-size:11pt">As far as identifying these sort of requirements in packages, I don't think they really make sense as part of a platform tag as a non-SSE build is fully compatible with an SSE build, but as part of version ordering it would be nice to be able to prefer certain tagged builds without excluding ones without the tag (e.g. if my platform is win32_sse2 and there's only a win32 tagged build, I still want it - how we formalize this is probably very complex though. </div></div></div></blockquote><div><br></div><div>yeah, that's the trick with trying to shoehorn dependencies liek this into platform tags.</div><div><br></div><div>But even if so do we WANT to now be supporting 4 Windows platforms?</div><div><br></div><div>win32</div><div>win32_sse2</div><div>win64</div><div>win64_sse2</div><div><br></div><div>and then, what about sse3, etc???</div><div><br></div><div>My thoughts -- pick one, and either:</div><div><br></div><div>* SSE2 is a requirement for python3.5 on Windows</div><div>  - then schools and the like can build their own Python3.5, AND their own package repository</div><div>    - on the one hand, institutions should be able to do this</div><div>    - on the other hand, the same institutions that NEED to do this (nes with old hardware),. are probably short on other resources, like admins savvy enough to be setting up build systems...</div><div><br></div><div>* SSE2 is NOT used for the Windows builds.</div><div>  - then all packages on PyPi should also not use SSE2</div><div>  - Other organizations, like Anaconda, Enthought, etc can build their own python and dependent packages can be build against that.</div><div>    - At least these folks DO have the resources to support that.</div><div><br></div><div>-CHB</div><div><br></div><div><br></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div style="font-family:Calibri,sans-serif;font-size:11pt">Also, my platform tag is probably 100 chars long with everything I may want to represent...)<span><br><br>Cheers,<br>Steve<br><br>Top-posted from my Windows Phone</span></div></div><div dir="ltr"><hr><span style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">From: </span><span style="font-family:Calibri,sans-serif;font-size:11pt"><a href="mailto:oscar.j.benjamin@gmail.com" target="_blank">Oscar Benjamin</a></span><span><br><span style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">Sent: </span><span style="font-family:Calibri,sans-serif;font-size:11pt">‎10/‎11/‎2015 10:43</span><br></span><span style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">To: </span><span style="font-family:Calibri,sans-serif;font-size:11pt"><a href="mailto:solipsis@pitrou.net" target="_blank">Antoine Pitrou</a>; <a href="mailto:Distutils-Sig@python.org" target="_blank">Distutils-Sig@python.org</a></span><span><br><span style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">Subject: </span><span style="font-family:Calibri,sans-serif;font-size:11pt">Re: [Distutils] warning about potential problem for wheels</span><br><br></span></div><div><div><p dir="ltr"></p>
<p dir="ltr">On Sun, 11 Oct 2015 17:44 Antoine Pitrou <<a href="mailto:solipsis@pitrou.net" target="_blank">solipsis@pitrou.net</a>> wrote:</p>
<blockquote><p dir="ltr">On Sun, 11 Oct 2015 08:07:30 -0700<br>
Steve Dower <<a href="mailto:steve.dower@python.org" target="_blank">steve.dower@python.org</a>> wrote:<br>
><br>
> This does only affect 32-bit builds, so now I'm thinking about the<br>
> possibility of treating those as highly compatible while the 64-bit<br>
> ones get better performance treatment, though I'm not sure how that<br>
> could actually play out. It may help remove some of the questions<br>
> about which one to use though.</p>
<p dir="ltr">That sounds reasonable to me. I don't know Windows very much, but are<br>
there still many people using 32-bit Windows these days (on x86, I<br>
mean)?</p>
</blockquote>
<blockquote><p dir="ltr"><br>
</p>
</blockquote>
<p dir="ltr"><br>
</p>
<p dir="ltr">I don't know but I think it makes sense to follow Windows' lead. So if 3.5 supports Vista and Vista doesn't require SSE2 then CPython shouldn't either. If 3.6 or whatever drops support for Vista and if Windows 7 requires SSE2 then CPython can require it too. I assume this what happens with the OSX binaries.</p>
<p dir="ltr">Note that my recently retired computer was 64 bit and had SSE but didn't have SSE2 (I'm fairly sure - CPU was some budget AMD model). Also after SSE2 we have SSE3 etc and I've seen no indication that x86-64 manufacturers are going to stop adding new instructions. So this general issue isn't limited to 32 bit hardware and won't be solved by special casing that. I think it makes sense to have a general policy for architectures that will be supported by the official build in future.</p>
<p dir="ltr">--<br>
Oscar</p>
</div></div></div><br>_______________________________________________<br>
Distutils-SIG maillist  -  <a href="mailto:Distutils-SIG@python.org" target="_blank">Distutils-SIG@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/distutils-sig" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/distutils-sig</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><br>Christopher Barker, Ph.D.<br>Oceanographer<br><br>Emergency Response Division<br>NOAA/NOS/OR&R            <a href="tel:%28206%29%20526-6959" value="+12065266959" target="_blank">(206) 526-6959</a>   voice<br>7600 Sand Point Way NE   <a href="tel:%28206%29%20526-6329" value="+12065266329" target="_blank">(206) 526-6329</a>   fax<br>Seattle, WA  98115       <a href="tel:%28206%29%20526-6317" value="+12065266317" target="_blank">(206) 526-6317</a>   main reception<br><br><a href="mailto:Chris.Barker@noaa.gov" target="_blank">Chris.Barker@noaa.gov</a></div>
</div></div>