[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