oneapi::mkl::sparse::set_matmat_data
Sets the appropriate
.
oneapi::mkl::sparse::matrix_view_descr
and oneapi::mkl::transpose
values in the oneapi::mkl::sparse::matmat_descr_t
object reflecting the sparse::matmat
operation to be performed: 
Description
The
oneapi::mkl::sparse::set_matmat_data
routine allows user to set the desired sparse matrix - sparse matrix operation in the oneapi::mkl::sparse::matmat_descr_t
object which will be used in the sparse::matmat routine.The
oneapi::mkl::sparse::matrix_view_descr
enum class is defined in the oneapi/mkl/spblas.hpp
header filenamespace oneapi::mkl::sparse {
enum class matrix_view_descr : std::int32_t {
general
};
}
where general view assumes all data is populated in the
sparse::matrix_handle_t
object for both lower, diagonal and upper portions of the matrix. A common usage model for the matmat
descriptor is the following:using namespace oneapi::mkl;
sparse::matmat_descr_t descr = NULL;
sparse::init_matmat_descr(descr);
// example descriptor for general
// C = A * B
sparse::matrix_view_descr viewA = sparse::matrix_view_descr::general;
sparse::matrix_view_descr viewB = sparse::matrix_view_descr::general;
sparse::matrix_view_descr viewC = sparse::matrix_view_descr::general;
transpose opA = transpose::nontrans;
transpose opB = transpose::nontrans;
sparse::set_matmat_data(descr, viewA, opA, viewB, opB, viewC);
// use descr in sparse::matmat() api
sparse::release_matmat_descr(descr);
API
Syntax
namespace oneapi::mkl::sparse {
void set_matmat_descr (
sparse::matmat_descr_t descr,
sparse::matrix_view_descr viewA,
transpose opA,
sparse::matrix_view_descr viewB,
transpose opB,
sparse::matrix_view_descr viewC);
}
Include Files
- oneapi/mkl/spblas.hpp
Input Parameters
- viewA, viewB, viewC
- sparse::matrix_view_descrenum values describing how the
,
and
matrix representations should be viewed. Currently, only the
generaltype is supported. - opA, opB
- Specifies operationop()on input matrix.oneapi::mkl::transpose::nontransNon-transpose,
.
oneapi::mkl::transpose::transTranspose,.
oneapi::mkl::transpose::conjtransConjugate transpose,.
Currently, the only supported case for operation isoneapi::mkl::transpose::nontrans.
Output Parameters
- descr
- sparse::matmat_descr_tobject used to define the sparse matrix - sparse matrix operation to be performed by the sparse::matmat routine.