Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType > Struct Template Reference

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/alina/arccore/alina/BuiltinBackend.h>

Collaboration diagram for Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >:

Classes

struct  provides_row_iterator
struct  gather
struct  scatter

Public Types

typedef ValueType value_type
typedef ColumnType index_type
typedef ColumnType col_type
typedef PointerType ptr_type
typedef math::rhs_of< value_type >::type rhs_type
using matrix = CSRMatrix<value_type, col_type, ptr_type>
typedef numa_vector< rhs_type > vector
typedef numa_vector< value_type > matrix_diagonal
typedef solver::SkylineLUSolver< value_type > direct_solver
typedef Alina::detail::empty_params params
 The backend has no parameters.

Static Public Member Functions

static std::string name ()
static std::shared_ptr< matrix > copy_matrix (std::shared_ptr< matrix > A, const params &)
template<class T>
static std::shared_ptr< numa_vector< T > > copy_vector (const std::vector< T > &x, const params &)
template<class T>
static std::shared_ptr< numa_vector< T > > copy_vector (std::shared_ptr< numa_vector< T > > x, const params &)
static std::shared_ptr< vector > create_vector (size_t size, const params &)
static std::shared_ptr< direct_solver > create_solver (std::shared_ptr< matrix > A, const params &)

Detailed Description

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
struct Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >

The builtin backend does not have any dependencies, and uses OpenMP for parallelization. Matrices are stored in the CRS format, and vectors are instances of std::vector<value_type>. There is no usual overhead of moving the constructed hierarchy to the builtin backend, since the backend is used internally during setup.

Definition at line 59 of file BuiltinBackend.h.

Member Typedef Documentation

◆ col_type

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
typedef ColumnType Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::col_type

Definition at line 63 of file BuiltinBackend.h.

◆ direct_solver

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
typedef solver::SkylineLUSolver<value_type> Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::direct_solver

Definition at line 74 of file BuiltinBackend.h.

◆ index_type

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
typedef ColumnType Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::index_type

Definition at line 62 of file BuiltinBackend.h.

◆ matrix

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
using Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::matrix = CSRMatrix<value_type, col_type, ptr_type>

Definition at line 71 of file BuiltinBackend.h.

◆ matrix_diagonal

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
typedef numa_vector<value_type> Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::matrix_diagonal

Definition at line 73 of file BuiltinBackend.h.

◆ params

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
typedef Alina::detail::empty_params Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::params

The backend has no parameters.

Definition at line 77 of file BuiltinBackend.h.

◆ ptr_type

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
typedef PointerType Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::ptr_type

Definition at line 64 of file BuiltinBackend.h.

◆ rhs_type

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
typedef math::rhs_of<value_type>::type Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::rhs_type

Definition at line 66 of file BuiltinBackend.h.

◆ value_type

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
typedef ValueType Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::value_type

Definition at line 61 of file BuiltinBackend.h.

◆ vector

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
typedef numa_vector<rhs_type> Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::vector

Definition at line 72 of file BuiltinBackend.h.

Member Function Documentation

◆ copy_matrix()

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
std::shared_ptr< matrix > Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::copy_matrix ( std::shared_ptr< matrix > A,
const params &  )
inlinestatic

Definition at line 83 of file BuiltinBackend.h.

◆ copy_vector() [1/2]

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
template<class T>
std::shared_ptr< numa_vector< T > > Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::copy_vector ( const std::vector< T > & x,
const params &  )
inlinestatic

Definition at line 91 of file BuiltinBackend.h.

◆ copy_vector() [2/2]

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
template<class T>
std::shared_ptr< numa_vector< T > > Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::copy_vector ( std::shared_ptr< numa_vector< T > > x,
const params &  )
inlinestatic

Definition at line 99 of file BuiltinBackend.h.

◆ create_solver()

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
std::shared_ptr< direct_solver > Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::create_solver ( std::shared_ptr< matrix > A,
const params &  )
inlinestatic

Definition at line 145 of file BuiltinBackend.h.

◆ create_vector()

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
std::shared_ptr< vector > Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::create_vector ( size_t size,
const params &  )
inlinestatic

Definition at line 106 of file BuiltinBackend.h.

◆ name()

template<typename ValueType, typename ColumnType = AlinaDefaultColumnType, typename PointerType = AlinaDefaultRowIndexType>
std::string Arcane::Alina::BuiltinBackend< ValueType, ColumnType, PointerType >::name ( )
inlinestatic

Definition at line 79 of file BuiltinBackend.h.


The documentation for this struct was generated from the following file: