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

Carl Kleffner cmkleffner at gmail.com
Wed Jul 2 07:18:07 EDT 2014


Hi,

The mingw-w64 based wheels (Atlas and openBLAS) are based on a patched
numpy version, that hasn't been published as numpy pull for revision until
now (my failure). I could try to do this tomorrow in the evening. Another
important point is, that the toolchain, that is capable to compile
numpy/scipy was adapted to allow for MSVC / mingw runtime compatibility and
does not create any gcc/mingw runtime dependency anymore.

OpenBLAS has one advantage over Atlas: numpy/scipy are linked dynamically
against OpenBLAS. Statically linked BLAS like MKL or ATLAS creates huge
python extensions and have considerable higher memory consumption compared
to dynamically linkage. On the other hand correctness is more important, so
ATLAS has to be preferred now.

Users with non SEE processors could be provided with wheels distributed on
binstar.

Regards

Carl


2014-07-02 12:37 GMT+02:00 Matthew Brett <matthew.brett at gmail.com>:

> 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
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20140702/3177b17d/attachment.html>


More information about the NumPy-Discussion mailing list