-
Notifications
You must be signed in to change notification settings - Fork 160
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SPARSE] Update oneMKL backends to match new sparse API (#500)
- Loading branch information
Showing
66 changed files
with
6,453 additions
and
2,944 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
.. _onemkl_sparse_linear_algebra: | ||
|
||
Sparse Linear Algebra | ||
===================== | ||
|
||
See the latest specification for the sparse domain `here | ||
<https://oneapi-spec.uxlfoundation.org/specifications/oneapi/latest/elements/onemkl/source/domains/spblas/spblas>`_. | ||
|
||
This page documents implementation specific or backend specific details of the | ||
sparse domain. | ||
|
||
OneMKL Intel CPU and GPU backends | ||
--------------------------------- | ||
|
||
Currently known limitations: | ||
|
||
- All operations' algorithms except ``no_optimize_alg`` map to the default | ||
algorithm. | ||
- The required external workspace size is always 0 bytes. | ||
- ``oneapi::mkl::sparse::set_csr_data`` and | ||
``oneapi::mkl::sparse::set_coo_data`` functions cannot be used on a handle | ||
that has already been used for an operation or its optimize function. Doing so | ||
will throw an ``oneapi::mkl::unimplemented`` exception. | ||
- Using ``spsv`` with the ``oneapi::mkl::sparse::spsv_alg::no_optimize_alg`` and | ||
a sparse matrix that does not have the | ||
``oneapi::mkl::sparse::matrix_property::sorted`` property will throw an | ||
``oneapi::mkl::unimplemented`` exception. | ||
- Using ``spmm`` on Intel GPU with a sparse matrix that is | ||
``oneapi::mkl::transpose::conjtrans`` and has the | ||
``oneapi::mkl::sparse::matrix_property::symmetric`` property will throw an | ||
``oneapi::mkl::unimplemented`` exception. | ||
- Using ``spmv`` with a sparse matrix that is | ||
``oneapi::mkl::transpose::conjtrans`` with a ``type_view`` | ||
``matrix_descr::symmetric`` or ``matrix_descr::hermitian`` will throw an | ||
``oneapi::mkl::unimplemented`` exception. | ||
- Using ``spsv`` on Intel GPU with a sparse matrix that is | ||
``oneapi::mkl::transpose::conjtrans`` and will throw an | ||
``oneapi::mkl::unimplemented`` exception. | ||
- Scalar parameters ``alpha`` and ``beta`` should be host pointers to prevent | ||
synchronizations and copies to the host. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.