DLA-Future icon indicating copy to clipboard operation
DLA-Future copied to clipboard

blaspp and lapackpp are in our public API

Open teonnik opened this issue 4 years ago • 4 comments

Parameters such as blas::Op, blas::Uplo, blas::Side, lapack::Norm are present in our API. That makes them a required dependency even if a different LAPACK/BLAS back end is used. If we want other back ends without requiring blaspp/lapackpp, we might want to provide our own API for the aforementioned parameters.

teonnik avatar May 18 '20 14:05 teonnik

You mean aliasing them to dlaf::Op, ..., to simplify the change of the backend?

rasolca avatar May 20 '20 13:05 rasolca

Yes, essentially defining our own equivalents such that we disentangle the back-ends from the public API.

teonnik avatar Jun 03 '20 13:06 teonnik

In principles, I completely agree with this, I did your same thought when we started using them.

It is something we quickly talked about at the beginning of the project with @rasolca, and I remember that there was also discussion about using other wrappers (or writing new ones).

albestro avatar Jun 04 '20 06:06 albestro

Here is the link to the blas proposal for reference: wg21.link/p1673. We should potentially move to use the tag types: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p1673r12.html#tag-classes-linalg.tags.

aurianer avatar Dec 07 '23 10:12 aurianer