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" <karl.meerbergen@cs.kuleuven.be> wrote:

> 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