oneapi::mkl::sparse::get_matmat_data¶
Queries the 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::get_matmat_data
routine allows user to query the enum values set for the 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 file
namespace 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);
// someone sets matmat descr
// query what was in descr
sparse::matrix_view_descr viewA, viewB, viewC;
transpose opA, opB;
sparse::get_matmat_data(descr, viewA, opA, viewV, opB, viewC);
sparse::release_matmat_descr(descr);
API¶
Syntax¶
namespace oneapi::mkl::sparse {
void get_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¶
- descr
sparse::matmat_descr_t
object used to define the sparse matrix - sparse matrix operation to be performed by the sparse::matmat routine.
Output Parameters¶
- viewA, viewB, viewC
sparse::matrix_view_descr
enum values describing how the,
and
matrix represenatations should be viewed. Currently, only the general type is supported.
- opA, opB
Specifies operation
op()
on input matrix.oneapi::mkl::transpose::nontrans
Non-transpose,
.
oneapi::mkl::transpose::trans
Transpose,
.
oneapi::mkl::transpose::conjtrans
Conjugate transpose,
.
Note
Currently, the only supported case for operation is
oneapi::mkl::transpose::nontrans
.