-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify domain names and functional boundaries in oneMKL spec #581
Comments
To me it is rather clear Sparse linear algebra consists of two domains: sparse blas and sparse solvers. Each is a oneMKL domain and at least to me, the differences between the two domains is clear. It is similar to BLAS vs LAPACK on dense side. One consists of basic fundamental kernels involving a sparse matrix and other dense vectors/dense matrices/sparse vectors/sparse matrices. The other consists of many different kind of (direct, eigen, iterative) - solvers that use one or more sparse matrices as the standard operand. The namespace for both sparse blas and sparse solvers domains is currently chosen to be "oneapi::mkl::sparse::" which lends to them being separate but interoperable ( we don't benefit from common pointer array or mdspan definition of sparse matrix, like dense linear algebra does, so we must define an object for the sparse matrix) and both could be used in an algorithm on the same sparse matrices. There is some suggestion that we call the namespace "spblas" for both sparse blas and sparse solvers because sparse is rather generic, but within the "oneapi::mkl::sparse" heirarchy, there is little chance of name collision using generic term "sparse", so it is acceptable to me as a representative namespace for both domains to share in. What else needs to be clarified ? |
In reality, we might separate it into three domains in Sparse Linear Algebra:
and there may come a time when we want to distinguish between all of these in the specification and product as different domains, but they should all be interoperable in practice, so it makes sense to share a namespace and to me, "oneapi::mkl::sparse" is as good as any other name to do so. |
@spencerpatty that helps a lot. I believe that we have sparse blas available in the description in the spec: https://oneapi-spec.uxlfoundation.org/specifications/oneapi/v1.3-rev-1/elements/onemkl/source/domains/domains#sparse-linear-algebra but the two types of solvers are not, which is fine. It can be an extension later on in the spec, as required. |
Sorry, reopened. It also came up that the statistics domain does not have a namespace. @paveldyakov can you please help understand? |
I think it is also covered by #577 (comment) |
Problem Description
When I started looking into #561, there were more questions about how to name Sparse domain correctly.
Investigation
Recommendation/Suggestion
The text was updated successfully, but these errors were encountered: