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, at 21:47, Michael Lehn <michael.lehn@uni-ulm.de> 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
ublas@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/ublas
Sent to: rrossi@cimne.upc.edu