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

David Cottrell david.cottrell at gmail.com
Tue Sep 20 15:18:41 EDT 2011


The test_03.py was basically a linalg.svd test (which I think is a
linalg only routine?"). I guess for linalg checking, I should run ldd
on lapack_lite.so? (included below).

It's sounding like I need to get ATLAS up and running, but I'm still
puzzled as to why the svd routine seems to be so much slower on the
solaris install.

As a reminder, test_03.py was something like this. It's also somewhere
earlier in the thread.
import numpy.linalg
N = 1000
x = numpy.random.random((N,N))
t = time.time()
(U, s, V) = numpy.linalg.svd(x)
# S = numpy.matrix(numpy.diag(s))
# y = U * S * V
#print(y.shape)
print(time.time()-t)
print(U.shape, s.shape, V.shape)

$ ldd lapack_lite.so
        libsunmath.so.1 =>       /opt/SUNWspro11/SUNWspro/lib/libsunmath.so.1
        libsunperf.so.6 =>
/opt/SUNWspro11/SUNWspro/lib/v8plus/libsunperf.so.6
        libfsu.so.1 =>   /opt/SUNWspro11/SUNWspro/lib/v8plus/libfsu.so.1
        libm.so.1 =>     /lib/libm.so.1
        libc.so.1 =>     /lib/libc.so.1
        libfsu.so.1 =>   /opt/SUNWspro11/SUNWspro/prod/lib/v8/../libfsu.so.1
        libfui.so.2 =>   /opt/SUNWspro11/SUNWspro/prod/lib/v8/../libfui.so.2
        libmtsk.so.1 =>  /lib/libmtsk.so.1
        libthread.so.1 =>        /lib/libthread.so.1
        libkstat.so.1 =>         /lib/libkstat.so.1
        libdl.so.1 =>    /lib/libdl.so.1
        libpthread.so.1 =>       /lib/libpthread.so.1
        libm.so.2 =>     /lib/libm.so.2
        librt.so.1 =>    /lib/librt.so.1
        libaio.so.1 =>   /lib/libaio.so.1
        libmd.so.1 =>    /lib/libmd.so.1
        /opt/SUNWspro11/SUNWspro/prod/lib/v8/../cpu/sparcv9+vis2/libsunperf_isa.so.6
        /opt/SUNWspro11/SUNWspro/prod/lib/v8/../cpu/sparcv8plus+vis/libsunperf_isa.so.6
        /opt/SUNWspro11/SUNWspro/prod/lib/v8plus/../cpu/sparcv9+vis2/libfsu_isa.so.1
        /platform/SUNW,Sun-Fire-V490/lib/libc_psr.so.1
        /platform/SUNW,Sun-Fire-V490/lib/libmd_psr.so.1


On Tue, Sep 20, 2011 at 1:18 PM, David Cournapeau <cournape at gmail.com> wrote:
> On Tue, Sep 20, 2011 at 9:56 AM, David Cottrell
> <david.cottrell at gmail.com> wrote:
>> Thanks, just getting back to this. I just checked again, and after
>> setting my LD_LIBRARY_PATH properly, ldd shows _dotblas.so pointing
>> and the sunmath and sunperf libraries. However the test_03.py still
>> runs at about 8-9 seconds ... far too slow.
>>
>> ~/local/lib/python3.1/site-packages/numpy/core $ ldd _dotblas.so | sed
>> -e 's/$me/$USERNAME/g'
>>        libsunperf.so.8 =>
>> /home/$USERNAME/local/archive/SolarisStudio12.2-solaris-sparc-tar-ML/solstudio12.2/lib//libsunperf.so.8
>>        libsunmath.so.1 =>
>> /home/$USERNAME/local/archive/SolarisStudio12.2-solaris-sparc-tar-ML/solstudio12.2/lib//libsunmath.so.1
>>        libgcc_s.so.1 =>         /usr/sfw/lib/libgcc_s.so.1
>>        libfsu.so.1 =>
>> /home/$USERNAME/local/archive/SolarisStudio12.2-solaris-sparc-tar-ML/solstudio12.2/lib//libfsu.so.1
>>        libfui.so.2 =>
>> /home/$USERNAME/local/archive/SolarisStudio12.2-solaris-sparc-tar-ML/solstudio12.2/lib//libfui.so.2
>>        libpicl.so.1 =>  /usr/lib/libpicl.so.1
>>        libmtsk.so.1 =>  /lib/libmtsk.so.1
>>        libm.so.2 =>     /lib/libm.so.2
>>        libc.so.1 =>     /lib/libc.so.1
>>        libm.so.1 =>     /lib/libm.so.1
>>        libdl.so.1 =>    /lib/libdl.so.1
>>        libdoor.so.1 =>  /lib/libdoor.so.1
>>        libthread.so.1 =>        /lib/libthread.so.1
>>        libkstat.so.1 =>         /lib/libkstat.so.1
>>        libpthread.so.1 =>       /lib/libpthread.so.1
>>        librt.so.1 =>    /lib/librt.so.1
>>        libaio.so.1 =>   /lib/libaio.so.1
>>        libmd.so.1 =>    /lib/libmd.so.1
>>        /platform/SUNW,Sun-Fire-V490/lib/libc_psr.so.1
>>        /platform/SUNW,Sun-Fire-V490/lib/libmd_psr.so.1
>>
>> ~/local/lib/python3.1/site-packages/numpy/core $ ~/python/numpy/B/test_03.py
>> No ATLAS:
>> 8.49377894402
>> (1000, 1000) (1000,) (1000, 1000)
>
> As mentioned earlier, we currently only optimize dot if you are using
> ATLAS, not any generic BLAS implementation. Your linear algebra
> functions will be fast, though,
>
> cheers,
>
> David
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>



-- 
David Cottrell
+1 416 995 9860
http://ca.linkedin.com/in/dcottrell



More information about the NumPy-Discussion mailing list