a.schmolck at gmx.net
Thu Feb 20 17:22:18 CST 2003
R.M.Everson at exeter.ac.uk (R.M.Everson) writes:
> As Paul Dubois says, some Numeric functions can be configured to use the
> BLAS library. However, the BLAS is not used for, perhaps the most common
> and important operation: matrix/vector multiplication.
> We have written a small patch to interface to replace the
> matrixproduct/dot/innerproduct functions in multiarraymodule.c with the
> appropriate BLAS calls.
> The patch (against Numeric 21.1b) can be found at
> http://www.dcs.ex.ac.uk/~aschmolc/Numeric and can give a speed up of a
> factor of 40 on 1000 by 1000 matrices using the Atlas BLAS. More details
> of the (naive!) timings can be found there too.
An addendum: the new version is no longer a patch against Numeric, but a
separate module, currently called 'dotblas', which is a cleaner approach as it
doesn't require using a modified version of Numeric. To use this fast dot
instaed of Numeric's dot, you can e.g do:
# no errors if dotblas isn't installed
Numeric.dot = dotblas.dot
except ImportError: pass
I just put a prerelease (which still handles complex arrays DIFFERENTLY from
Numeric!!!) online at:
More information about the Numpy-discussion