[Numpy-discussion] Windows, blas, atlas and dlls

Charles R Harris charlesr.harris at gmail.com
Mon Feb 18 12:10:44 EST 2013


On Mon, Feb 18, 2013 at 9:28 AM, Dag Sverre Seljebotn <
d.s.seljebotn at astro.uio.no> wrote:

> On 02/18/2013 05:26 PM, rif wrote:
> > I have no answer to the question, but I was curious as to why directly
> > calling the cblas would be 10x-20x slower in the first place.  That
> > seems surprising, although I'm just learning about python numerics.
>
> The statement was that directly (on the Cython level) calling cblas is
> 10x-20x slower than going through the (slow) SciPy wrapper routines.
> That makes a lot of sense if the matrices are smalle nough.
>

For really small matrices, not using blas at all provides another speedup.

Chuck

>
> Dag Sverre
>
> >
> >
> > On Mon, Feb 18, 2013 at 7:38 AM, Sergio Callegari
> > <sergio.callegari at gmail.com <mailto:sergio.callegari at gmail.com>> wrote:
> >
> >     Hi,
> >
> >     I have a project that includes a cython script which in turn does
> >     some direct
> >     access to a couple of cblas functions. This is necessary, since some
> >     matrix
> >     multiplications need to be done inside a tight loop that gets called
> >     thousands
> >     of times. Speedup wrt calling scipy.linalg.blas.cblas routines is
> >     10x to 20x.
> >
> >     Now, all this is very nice on linux where the setup script can
> >     assure that the
> >     cython code gets linked with the atlas dynamic library, which is the
> >     same
> >     library that numpy and scipy link to on this platform.
> >
> >     However, I now have trouble in providing easy ways to use my project
> in
> >     windows. All the free windows distros for scientific python that I
> have
> >     looked at (python(x,y) and winpython) seem to repackage the windows
> >     version of
> >     numpy/scipy as it is built in the numpy/scipy development sites.
> >     These appear
> >     to statically link atlas inside some pyd files.  So I get no atlas
> >     to link
> >     against, and I have to ship an additional pre-built atlas with my
> >     project.
> >
> >     All this seems somehow inconvenient.
> >
> >     In the end, when my code runs, due to static linking I get 3
> >     replicas of 2
> >     slightly different atlas libs in memory. One coming with
> >     _dotblas.pyd in numpy,
> >     another one with cblas.pyd or fblas.pyd in scipy. And the last one
> >     as the one
> >     shipped in my code.
> >
> >     Would it be possible to have a win distro of scipy which provides
> some
> >     pre built atlas dlls, and to have numpy and scipy dynamically link
> >     to them?
> >     This would save memory and also provide a decent blas to link to for
> >     things
> >     done in cython. But I believe there must be some problem since the
> >     scipy site
> >     says
> >
> >     "IMPORTANT: NumPy and SciPy in Windows can currently only make use
> >     of CBLAS and
> >     LAPACK as static libraries - DLLs are not supported."
> >
> >     Can someone please explain why or link to an explanation?
> >
> >     Unfortunately, not having a good, prebuilt and cheap blas
> >     implementation in
> >     windows is really striking me as a severe limitation, since you
> >     loose the
> >     ability to prototype in python/scipy and then move to C or Cython
> >     the major
> >     bottlenecks to achieve speed.
> >
> >     Many thanks in advance!
> >
> >     _______________________________________________
> >     NumPy-Discussion mailing list
> >     NumPy-Discussion at scipy.org <mailto:NumPy-Discussion at scipy.org>
> >     http://mail.scipy.org/mailman/listinfo/numpy-discussion
> >
> >
> >
> >
> > _______________________________________________
> > NumPy-Discussion mailing list
> > NumPy-Discussion at scipy.org
> > http://mail.scipy.org/mailman/listinfo/numpy-discussion
> >
>
> _______________________________________________
> 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/20130218/4c45f965/attachment.html>


More information about the NumPy-Discussion mailing list