[Numpy-discussion] 64-bit windows numpy / scipy wheels for testing

Matthew Brett matthew.brett at gmail.com
Wed Jul 2 06:37:16 EDT 2014


Hi,

On Wed, Jul 2, 2014 at 11:29 AM, Matthew Brett <matthew.brett at gmail.com> wrote:
> Hi,
>
> On Wed, Jul 2, 2014 at 10:36 AM, Carl Kleffner <cmkleffner at gmail.com> wrote:
>> Hi all,
>>
>> I do regulary builds for python-2.7. Due to my limited resources I didn't
>> build for 3.3 or 3.4 right now. I didn't updated my toolchhain from
>> february, but I do regulary builds of OpenBLAS. OpenBLAS is under heavy
>> development right now, thanks to Werner Saar, see:
>> https://github.com/wernsaar/OpenBLAS .
>> A lot of bugs have been canceled out at the cost of performance, see the
>> kernel TODO list:
>> https://github.com/xianyi/OpenBLAS/wiki/Fixed-optimized-kernels-To-do-List .
>> Many bugs related to Windows have been corrected. A very weird bug i.e.:
>> https://github.com/xianyi/OpenBLAS/issues/394 and
>> https://github.com/JuliaLang/julia/issues/5574 .
>> I got the impression, that the Julia community (and maybe the R and octave
>> community) is very interested getting towards a stable Windows OpenBLAS.
>> OpenBLAS is the only free OSS optimized BLAS/Lapack solution maintained for
>> Windows today. Atlas seems not to be maintained for Windows anymore (is this
>> true Matthew?)
>
> No, it's not true, but it's not really false either.  Clint Whaley is
> the ATLAS maintainer and his interests are firmly in
> high-performance-computing so he is much more interested in exotic new
> chips than in Windows.  But, he does aim to make the latest stable
> release buildable on Windows, and he's helped me do that for the
> latest stable, with some hope he'll continue to work on the 64-bit
> Windows kernels which are hobbled at the moment because of differences
> in the Windows / other OS 64-bit ABI.  Builds here:
>
> https://nipy.bic.berkeley.edu/scipy_installers/atlas_builds/
>
>> somewhat older test wheels for python-2.7 can be downloaded here:
>> see: http://figshare.com/articles/search?q=numpy&quick=1&x=0&y=0
>> (2014-06-10) numpy and scipy wheels for py-2.7
>> The scipy test suite (amd64) emits segfaults with multithreaded OpenBLAS,
>> but is stable with single thread (see the log files). I didn't dig into this
>> further. Win32 works with MT OpenBLAS, but has some test failures with atan2
>> and hypot. The is more or less the status today. I can upload new wheels
>> linked against a recent OpenBLAS, maybe tomorrow on Binstar.
>
> I built some 64-bit wheels against Carl's toolchain and the ATLAS
> above, I think they don't have any threading issues, but the scipy
> wheel fails one scipy test due to some very small precision
> differences in the mingw runtime.  I think we agreed this failure
> wasn't important.
>
> https://nipy.bic.berkeley.edu/scipy_installers/numpy-1.8.1-cp27-none-win_amd64.whl
> https://nipy.bic.berkeley.edu/scipy_installers/scipy-0.13.3-cp27-none-win_amd64.whl

Sorry - I wasn't paying attention - you asked about 32-bit wheels.
Honestly, using the same toolchain, they wouldn't be at all hard to
build.

One issue is that the ATLAS builds depend on SSE2.  That isn't an
issue for 64 bit builds because the 64-bit ABI requires SSE2, but it
is an issue for 32-bit where we have no such guarantee.  It looks like
99% of Windows users do have SSE2 though [1].  So I think what is
required is

* Build the wheels for 32-bit (easy)
* Patch the wheels to check and give helpful error in absence of SSE2
(fairly easy)
* Get agreement these should go up on pypi and be maintained (feedback anyone?)

Cheers,

Matthew

[1] https://github.com/numpy/numpy/wiki/Windows-versions#sse--sse2



More information about the NumPy-Discussion mailing list