Skip to content

Commit

Permalink
[oneMKL][spblas] add spec for oneapi::mkl::sparse::optimize_symv() ro…
Browse files Browse the repository at this point in the history
…utine.
  • Loading branch information
baeseung-intel committed Sep 8, 2023
1 parent de72619 commit 065dec5
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 0 deletions.
3 changes: 3 additions & 0 deletions source/elements/oneMKL/source/domains/spblas/spblas.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ Sparse BLAS
- Fills the internal CSR data structure
* - :ref:`onemkl_sparse_optimize_gemv`
- Optimize routine for gemv
* - :ref:`onemkl_sparse_optimize_symv`
- Optimize routine for symv
* - :ref:`onemkl_sparse_optimize_trmv`
- Optimize routine for trmv
* - :ref:`onemkl_sparse_optimize_trsv`
Expand Down Expand Up @@ -63,6 +65,7 @@ Sparse BLAS
gemvdot
gemvoptimize
symv
symvoptimize
trmv
trmvoptimize
trsv
Expand Down
98 changes: 98 additions & 0 deletions source/elements/oneMKL/source/domains/spblas/symvoptimize.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
.. SPDX-FileCopyrightText: 2019-2020 Intel Corporation
..
.. SPDX-License-Identifier: CC-BY-4.0
.. _onemkl_sparse_optimize_symv:

optimize_symv
=============

Performs internal optimizations for oneapi::mkl::sparse::symv by analyzing
the matrix structure.

.. rubric:: Description and Assumptions

The oneapi::mkl::sparse::optimize_symv routine analyzes matrix structure
and performs optimizations. Optimized data is then stored in
the handle.


.. rubric:: Syntax

.. code-block:: cpp
namespace oneapi::mkl::sparse {
sycl::event optimize_symv (sycl::queue &queue,
oneapi::mkl::uplo uplo_val,
oneapi::mkl::sparse::matrix_handle_t handle,
const std::vector<sycl::event> &dependencies = {});
}
.. container:: section


.. rubric:: Input Parameters


queue
Specifies the SYCL command queue which will be used for SYCL
kernels execution.


uplo_val
Specifies which part is to be processed. The possible options are
described in :ref:`onemkl_enum_uplo` enum class.


handle
Handle to object containing sparse matrix and other internal
data. Created using the
oneapi::mkl::sparse::set_csr_data routine.


dependencies
List of events that oneapi::mkl::sparse::optimize_symv routine depends on.


.. container:: section

.. rubric:: Output Parameters
:class: sectiontitle

handle
Handle might be updated with some internal optimized data by this routine.

.. container:: section

.. rubric:: Throws
:class: sectiontitle

This routine shall throw the following exceptions if the associated condition is detected.
An implementation may throw additional implementation-specific exception(s)
in case of error conditions not covered here.

| :ref:`oneapi::mkl::computation_error<onemkl_exception_computation_error>`
| :ref:`oneapi::mkl::device_bad_alloc<onemkl_exception_device_bad_alloc>`
| :ref:`oneapi::mkl::host_bad_alloc<onemkl_exception_host_bad_alloc>`
| :ref:`oneapi::mkl::invalid_argument<onemkl_exception_invalid_argument>`
| :ref:`oneapi::mkl::unimplemented<onemkl_exception_unimplemented>`
| :ref:`oneapi::mkl::uninitialized<onemkl_exception_uninitialized>`
| :ref:`oneapi::mkl::unsupported_device<onemkl_exception_unsupported_device>`
.. container:: section

.. rubric:: Return Values
:class: sectiontitle

Output event that can be waited upon or added as a
dependency for the completion of optimize_symv routine.


.. container:: familylinks


.. container:: parentlink


**Parent topic:** :ref:`onemkl_spblas`

0 comments on commit 065dec5

Please sign in to comment.