On 14 Oct 2015 19:00, "Chris Barker" <chris.bar...@noaa.gov> wrote: > > On Wed, Oct 14, 2015 at 9:54 AM, Antoine Pitrou <solip...@pitrou.net> wrote: >> >> > IS that the case: >> > """ >> > 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) >> > """ >> > >> > granted, such machines are probably really really rare, but maybe it does >> > matter for 64 bit, too? >> >> Unless I'm mistaken, SSE2 is part of the spec for x86-64 (spec which >> was originally devised by AMD), so I'm a bit skeptical about a >> SSE2-less 64-bit CPU. Do you have any reference? > > > That was a quote from this thread... I have no idea beyond that.
I wrote that but now I think about it Antoine is right. SSE2 is fully supported on all x86-64 CPUs. I must have been confusing my old home computer with my old work computer (which was 32 bit and ran XP). No way to check now though... The problem with SSE2 may go away soon but then we have the problem with SSE3 and so on. Most of us have CPUs that support instruction sets beyond those used in the lowest common denominator builds of Python provided in the Windows binaries (and distro binaries etc). Likewise for extension modules on PyPI. Numpy's Windows installer bundles several BLAS binaries with different levels of SSE and this was the initial reason for not providing Windows wheels. The problem is being solved though by switching from ATLAS to OpenBLAS which selects different levels of SSE at runtime. Maybe that approach (runtime machine code selection) is the only way to marry the needs of packaging with the desire to fully utilise CPU capabilities. It keeps the packaging side simple at the expense of pushing the complexity onto the project authors. Though it's probably only viable for something like a BLAS library which would often contain a load of hand crafted assembly code anyway. -- Oscar
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig