oneapi::mkl::sparse::get_matmat_data#
実行される sparse::matmat 操作を反映する oneapi::mkl::sparse::matmat_descr_t オブジェクト内の oneapi::mkl::sparse::matrix_view_descr および oneapi::mkl::transpose の値を照会します。 \(C = \text{op}(A) \cdot \text{op}(B)\).
説明#
oneapi::mkl::sparse::get_matmat_data ルーチンを使用すると、ユーザーは、sparse::matmat ルーチンで使用される oneapi::mkl::sparse::matmat_descr_t オブジェクト内のスパース行列 - スパース行列演算に設定された列挙値を照会できます。
列挙のクラス oneapi::mkl::sparse::matrix_view_descr は、oneapi/mkl/spblas.hppヘッダーファイルで定義されています。
namespace oneapi::mkl::sparse {
enum class matrix_view_descr : std::int32_t {
general
};
}general ビューでは、行列の下部、対角部分、上部のすべてのデータが sparse::matrix_handle_t オブジェクトに入力されていると想定されます。matmat 記述子の一般的な使用モデルは次のとおりです:
using namespace oneapi::mkl;
sparse::matmat_descr_t descr = NULL;
sparse::init_matmat_descr(descr);
// 誰かが matmat descr を設定
// 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#
構文#
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);
}インクルード・ファイル#
oneapi/mkl/spblas.hpp
入力パラメーター#
- descr
sparse::matmat_descr_tオブジェクトは、sparse::matmat ルーチンによって実行されるスパース行列 - スパース行列演算を定義するために使用されます。
出力パラメーター#
- viewA、viewB、viewC
sparse::matrix_view_descr列挙値は、\(A\)、\(B\) および \(C\) 行列の表現方法を記述します。現在は一般タイプのみがサポートされています。- opA, opB
入力行列に対する演算
op()を指定します。oneapi::mkl::transpose::nontrans非転置、\(\text{op}(A) = A\)。
oneapi::mkl::transpose::trans転置、\(\text{op}(A) = A^{T}\)。
oneapi::mkl::transpose::conjtrans共役転置、\(\text{op}(A) = A^{H}\)。
注
現在、サポートされている操作は
oneapi::mkl::transpose::nontransのみです。