oneapi::mkl::sparse::update_diagonal_values#
スパース行列の主対角線上のエントリー値を変更します。このルーチンは、すでに行われた最適化に関連するデータ構造も更新します (oneapi::mkl::sparse::optimize_trsv や oneapi::mkl::sparse::optimize_gemv など)。
説明#
oneapi::mkl::sparse::update_diagonal_values ルーチンは、スパース行列の主対角線上のエントリー値を変更します。既存のスパース構造には、スパースパターンにすべての対角エントリーがすでに含まれている必要があります。
注
スローされる例外の詳細は、エラー処理を参照してください。
API#
構文#
SYCL* バッファーを使用:
namespace oneapi::mkl::sparse {
void update_diagonal_values(
sycl::queue &queue,
oneapi::mkl::sparse::matrix_handle_t spMat,
sycl::buffer<DATA_TYPE, 1> &new_diag_values);
}USM ポインターを使用:
namespace oneapi::mkl::sparse {
sycl::event update_diagonal_values(
sycl::queue &queue,
oneapi::mkl::sparse::matrix_handle_t spMat,
std::int64_t length,
const DATA_TYPE* new_diag_values,
const std::vector<sycl::event> &dependencies = {});
}インクルード・ファイル#
oneapi/mkl/spblas.hpp
入力パラメーター#
- queue
SYCL* カーネルの実行に使用される SYCL* コマンドキューを指定します。
- spMat
スパース行列およびその他の内部データを含むオブジェクトへのハンドル。
oneapi::mkl::sparse::set_<sparse_matrix_type>_dataルーチンの 1 つを使用して作成されます。注
現在、
<sparse_matrix_type>でサポートされているはcsrのみです。現在、GPU デバイスのみがサポートされています。- new_diag_values
入力行列の行数と列数のうち小さい方のサイズ以上の SYCL* バッファーまたはデバイスがアクセス可能な USM ポインター。
- length
入力ベクトル
new_diag_valuesの長さ。入力行列の行数と列数のうち小さい方のサイズと等しい必要があります。- dependencies
oneapi::mkl::sparse::update_diagonal_valuesルーチンが依存するイベントのリストを含む、std::vector<sycl::event>タイプのベクトル。
戻り値 (USM のみ)#
- sycl::event
update_diagonal_valuesルーチンの完了を待機したり、依存関係として追加できる SYCL* イベント。