Subject: Re: [ublas] [uBLAS] What's inside the uBLAS matrix multiplication algorithm?
From: David Bellot (david.bellot_at_[hidden])
Date: 2010-06-10 08:30:44
I'm not the best expert on uBLAS multiplication but may I suggest something:
if speed is critical, why not using one of the bindings directly so that to
take advantage hardware acceleration. One thing is sure, uBLAS in pure
software mode will almost always be way slower than any hardware-based
method, even with the most delicate optimizations.
On Thu, Jun 10, 2010 at 14:14, Anders Kabell Kristensen <dalko_at_[hidden]>wrote:
> Hi there, this is my first post. Thank you for your time.
> I'm implementing an algorithm where fast matrix multiplication is essential
> and the theoretical running-time is closely connected to the running-time of
> the matrix multiplication algorithm being used. As a matter of fact, some
> choices within the algorithm are made on the basis of the time complexity of
> matrix multiplication. Therefore, I'm interested in knowing exactly what's
> inside the uBLAS matrix multiplication algorithm. For example, naive
> mat.mult. has a complexity of O(n^3), whereas Strassen's method (
> http://en.wikipedia.org/wiki/Strassen_algorithm) has a complexity of
> I suppose the uBLAS algorithm is very complex and varies between methods
> such as Strassen's and even the naive approach when appropriate, right? Can
> anyone give an outline?
> Would it be possible to make a realistic estimate on the complexity? I
> guess that would be an estimate about the performance on square matrices.
> And a related question: is it possible to force uBLAS to use naive mattrix
> multiplication? I need to use the naive approach, but if I implement it
> myself, I guess I wont be competitive with uBLAS.
> Thanks again,
> Anders K
> ublas mailing list
> Sent to: david.bellot_at_[hidden]
-- David Bellot, PhD david.bellot_at_[hidden] http://david.bellot.free.fr