[SciPy-User] How to efficiently do dot(dot( A.T, diag(d) ), A ) ?

Hugh Perkins hughperkins@gmail....
Tue Sep 11 13:57:11 CDT 2012

On Wed, Sep 12, 2012 at 2:21 AM, Pauli Virtanen <pav@iki.fi> wrote:
> However, OpenBLAS/GotoBLAS could be better than ATLAS, it seems to be
> also doing well in the benchmarks you linked to:
> If you are on Linux, you can easily swap the BLAS libraries used, like so:

Ah great!  This is 4 times faster for me:

Using atlas:
$ python testmult.py
Elapsed time: 0.0221469402313
Elapsed time: 0.21438908577

Using goto/openblas:
$ python testmult.py
Elapsed time: 0.0214130878448
Elapsed time: 0.051687002182

Note that I had to do 'sudo update-alternatives --config
liblapack.so.3gf', and pick liblapack.

On Ubuntu, I didn't need to modify LD_LIBRARY_PATH: installing
openblas-base is enough to half-select openblas, and actually, to
break scipy, until the update-alternatives step above is done.

Apparently openblas seems to support multicore too, though I haven't
confirmed that that works in conjunction with scipy yet.

More information about the SciPy-User mailing list