Arcane  v4.1.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la structure Arcane::Alina::backend::cuda< real, DirectSolver >

CUDA backend. Plus de détails...

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

+ Graphe de collaboration de Arcane::Alina::backend::cuda< real, DirectSolver >:

Classes

struct  gather
 
struct  params
 Backend parameters. Plus de détails...
 
struct  provides_row_iterator
 
struct  scatter
 

Types publics

typedef real value_type
 
typedef ptrdiff_t col_type
 
typedef ptrdiff_t ptr_type
 
typedef cuda_matrix< real > matrix
 
typedef thrust::device_vector< real > vector
 
typedef thrust::device_vector< real > matrix_diagonal
 
typedef DirectSolver direct_solver
 

Fonctions membres publiques statiques

static std::string name ()
 
static std::shared_ptr< matrixcopy_matrix (std::shared_ptr< typename BuiltinBackend< real >::matrix > A, const params &prm)
 Copy matrix from builtin backend.
 
static std::shared_ptr< vector > copy_vector (typename BuiltinBackend< real >::vector const &x, const params &)
 Copy vector from builtin backend.
 
static std::shared_ptr< vector > copy_vector (std::shared_ptr< typename BuiltinBackend< real >::vector > x, const params &prm)
 Copy vector from builtin backend.
 
static std::shared_ptr< vector > create_vector (size_t size, const params &)
 Create vector of the specified size.
 
static std::shared_ptr< direct_solver > create_solver (std::shared_ptr< typename BuiltinBackend< real >::matrix > A, const params &prm)
 Create direct solver for coarse level.
 

Description détaillée

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
struct Arcane::Alina::backend::cuda< real, DirectSolver >

CUDA backend.

Uses CUSPARSE for matrix operations and Thrust for vector operations.

Paramètres
realValue type.

Définition à la ligne 311 du fichier CudaBackend.h.

Documentation des définitions de type membres

◆ col_type

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
typedef ptrdiff_t Arcane::Alina::backend::cuda< real, DirectSolver >::col_type

Définition à la ligne 318 du fichier CudaBackend.h.

◆ direct_solver

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
typedef DirectSolver Arcane::Alina::backend::cuda< real, DirectSolver >::direct_solver

Définition à la ligne 323 du fichier CudaBackend.h.

◆ matrix

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
typedef cuda_matrix<real> Arcane::Alina::backend::cuda< real, DirectSolver >::matrix

Définition à la ligne 320 du fichier CudaBackend.h.

◆ matrix_diagonal

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
typedef thrust::device_vector<real> Arcane::Alina::backend::cuda< real, DirectSolver >::matrix_diagonal

Définition à la ligne 322 du fichier CudaBackend.h.

◆ ptr_type

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
typedef ptrdiff_t Arcane::Alina::backend::cuda< real, DirectSolver >::ptr_type

Définition à la ligne 319 du fichier CudaBackend.h.

◆ value_type

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
typedef real Arcane::Alina::backend::cuda< real, DirectSolver >::value_type

Définition à la ligne 317 du fichier CudaBackend.h.

◆ vector

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
typedef thrust::device_vector<real> Arcane::Alina::backend::cuda< real, DirectSolver >::vector

Définition à la ligne 321 du fichier CudaBackend.h.

Documentation des fonctions membres

◆ copy_matrix()

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
static std::shared_ptr< matrix > Arcane::Alina::backend::cuda< real, DirectSolver >::copy_matrix ( std::shared_ptr< typename BuiltinBackend< real >::matrix > A,
const params & prm )
inlinestatic

Copy matrix from builtin backend.

Définition à la ligne 354 du fichier CudaBackend.h.

Références Arcane::Alina::backend::cuda< real, DirectSolver >::params::cusparse_handle.

◆ copy_vector() [1/2]

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
static std::shared_ptr< vector > Arcane::Alina::backend::cuda< real, DirectSolver >::copy_vector ( std::shared_ptr< typename BuiltinBackend< real >::vector > x,
const params & prm )
inlinestatic

Copy vector from builtin backend.

Définition à la ligne 369 du fichier CudaBackend.h.

Références copy_vector().

+ Voici le graphe d'appel pour cette fonction :

◆ copy_vector() [2/2]

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
static std::shared_ptr< vector > Arcane::Alina::backend::cuda< real, DirectSolver >::copy_vector ( typename BuiltinBackend< real >::vector const & x,
const params &  )
inlinestatic

Copy vector from builtin backend.

Définition à la ligne 362 du fichier CudaBackend.h.

Référencé par copy_vector().

+ Voici le graphe des appelants de cette fonction :

◆ create_solver()

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
static std::shared_ptr< direct_solver > Arcane::Alina::backend::cuda< real, DirectSolver >::create_solver ( std::shared_ptr< typename BuiltinBackend< real >::matrix > A,
const params & prm )
inlinestatic

Create direct solver for coarse level.

Définition à la ligne 383 du fichier CudaBackend.h.

◆ create_vector()

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
static std::shared_ptr< vector > Arcane::Alina::backend::cuda< real, DirectSolver >::create_vector ( size_t size,
const params &  )
inlinestatic

Create vector of the specified size.

Définition à la ligne 376 du fichier CudaBackend.h.

◆ name()

template<typename real, class DirectSolver = solver::cuda_skyline_lu<real>>
static std::string Arcane::Alina::backend::cuda< real, DirectSolver >::name ( )
inlinestatic

Définition à la ligne 350 du fichier CudaBackend.h.


La documentation de cette structure a été générée à partir du fichier suivant :