Re: Matrix multiplication performance
Riccardo Rossi <[email protected]>
| Newsgroups | gmane.comp.lib.boost.ublas |
|---|---|
| Message-ID | <CAOVdALyYf5qhgog8pbCzuVdLeuTAPdcMG26bS7P-z-k8g4WS4w@mail.gmail.com> |
Well there is pastix...which is c99 and performs way better than superlu. Now seriously I think ublas misses a sparse spmm algorithm. The fastest implementation I am aware of is in viennacl. (C++) The limitation for writing a good one in ublas is mostly that it misses a constructor in which csr arrays are passed already built (ideally via move semantics I guess). If you redesign ublas think about how to provide such access! Cheers Riccardo On 28 Jan 2016 22:01, "Karl Meerbergen" <[email protected]> wrote: > > > On 28 Jan 2016, at 21:47, Michael Lehn <[email protected]> wrote: > > > > > > > >> do you also do sparse linear algebra by chance? > > > > Sorry, not directly. I just looked at libraries like SuperLU and > Umfpack. However, not as close as to other BLAS libraries. But > > from my impression this also could be done much more elegant in C++. > The big headache in these libraries is that they basically > > have the same code for float, double, complex<float> and complex<double> > . Just using C++ as "C plus function templates” would > > make it much easier. And the performance relevant part in these > libraries is again a fast dense BLAS. > > Correct, but I would bet on MUMPS, which is,in my opinion, more advanced > and still improving. They also use a ’template’ mechanism in fortran 90, > based on the C preprocessor ;-) They made it clear they will not redo their > developments of more than 30 man years in C++. > > Best, > > Karl > > Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm > _______________________________________________ > ublas mailing list > [email protected] > http://lists.boost.org/mailman/listinfo.cgi/ublas > Sent to: [email protected] >