/home/runner/work/kynema/kynema/kynema/src/solver/linear_solver/dss_numeric_mkl.hpp Source File

Kynema API: /home/runner/work/kynema/kynema/kynema/src/solver/linear_solver/dss_numeric_mkl.hpp Source File
Kynema API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
dss_numeric_mkl.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <Kokkos_Core.hpp>
4#include <mkl_dss.h>
5
6#include "dss_algorithm.hpp"
7#include "dss_handle_mkl.hpp"
8
9namespace kynema::dss {
10
11template <typename CrsMatrixType>
12struct NumericFunction<Handle<Algorithm::MKL>, CrsMatrixType> {
13 static void numeric(Handle<Algorithm::MKL>& dss_handle, CrsMatrixType& A) {
14 auto& handle = dss_handle.get_handle();
15 constexpr MKL_INT opt = MKL_DSS_INDEFINITE;
16
17 auto values = Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), A.values);
18
19 dss_factor_real(handle, opt, values.data());
20 }
21};
22
23} // namespace kynema::dss
Definition dss_handle.hpp:10
Definition dss_algorithm.hpp:4
Algorithm
Definition dss_algorithm.hpp:6
static void numeric(Handle< Algorithm::MKL > &dss_handle, CrsMatrixType &A)
Definition dss_numeric_mkl.hpp:13
Definition dss_numeric.hpp:8