optimize_symv#

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

Description and Assumptions

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

Syntax

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 = {});
}

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 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.

Output Parameters

handle

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

Throws

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.

Return Values

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