From: Alexander S. <a.s...@gm...> - 2003-02-21 01:21:44
|
R.M...@ex... (R.M.Everson) writes: > Hi, > > 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: import Numeric # no errors if dotblas isn't installed try: import dotblas Numeric.dot = dotblas.dot except ImportError: pass I just put a prerelease (which still handles complex arrays DIFFERENTLY from Numeric!!!) online at: http://www.dcs.ex.ac.uk/~aschmolc/Numeric/dotblas.html enjoy, alex |