[Numpy-discussion] numpy blas running slow: how to check that it is properly linked

David Cournapeau cournape@gmail....
Tue Sep 6 13:59:52 CDT 2011


On Tue, Sep 6, 2011 at 2:38 PM, David Cottrell <david.cottrell@gmail.com> wrote:
> I posted on stackoverflow but then noticed this message board:
>
> http://stackoverflow.com/questions/7311869/python-numpy-on-solaris-blas-slow-or-not-linked
>
> I'm reposting the full post below:
>
> Matrix-Matrix multiplies are very slow on my Solaris install (running
> on a sparc server) compared to my OSX install (on a laptop!). The
> laptop runs 100 times faster (for matrix-matrix multiplies of
> 3000x3000 dense random matrices of doubles).
>
> It must be because the Solaris install is not using blas, but the
> numpy scripts are reporting that the libs are 'found'.
>
>     $python3 -c "import numpy.distutils.system_info as f; d =
> f.get_info('blas',0); print(d); d = f.get_info('lapack',0); print(d)"
>      {'libraries': ['sunperf'], 'library_dirs':
> ['/home/$myname/local/archive/SolarisStudio12.2-solaris-sparc-tar-ML/solstudio12.2/lib'],
> 'language': 'f77'}
>      {'libraries': ['sunmath'], 'library_dirs':
> ['/home/$myname/local/archive/SolarisStudio12.2-solaris-sparc-tar-ML/solstudio12.2/lib'],'language':
> 'f77'}
>
> The following import FAILS on the Solaris install but succeeds on OSX:
>
> import numpy.core._dotblas
>
> There is no ATLAS available for the Solaris install. I wouldn't think
> this would make such a huge different in computational efficiency.

Actually, it will make a different for this exact case, because
dotblas (which implements numpy.dot) depends on ATLAS, not on BLAS
itself (this is a bug in numpy that I meant to fix for ages). Mac OS X
includes ATLAS in its accelerate framework. If BLAS/LAPACK from
Solaris was correctly linked, you should be able to see fast
operations for pretty much everything else. For example, how fast is
SVD or eig for a 1000x1000 matrix ?

cheers,

David


More information about the NumPy-Discussion mailing list