optimize_gemv#

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

Description and Assumptions

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

Syntax

namespace oneapi::mkl::sparse {

   sycl::event optimize_gemv (sycl::queue                          &queue,
                              oneapi::mkl::transpose               transpose_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.

transpose_val

Specifies operation op() on input matrix. The possible options are described in transpose 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_gemv 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_gemv routine.