deal.II version GIT relicensing-2287-g6548a49e0a 2024-12-20 18:30:00+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
Portable::DataHost< dim, Number > Struct Template Reference

#include <deal.II/matrix_free/portable_matrix_free.h>

Public Member Functions

unsigned int local_q_point_id (const unsigned int cell, const unsigned int n_q_points, const unsigned int q_point) const
 
Point< dim, Number > get_quadrature_point (const unsigned int cell, const unsigned int q_point) const
 

Public Attributes

Kokkos::View< Point< dim, Number > **, MemorySpace::Default::kokkos_space >::HostMirror q_points
 
Kokkos::View< types::global_dof_index **, MemorySpace::Default::kokkos_space >::HostMirror local_to_global
 
Kokkos::View< Number **[dim][dim], MemorySpace::Default::kokkos_space >::HostMirror inv_jacobian
 
Kokkos::View< Number **, MemorySpace::Default::kokkos_space >::HostMirror JxW
 
unsigned int n_cells
 
unsigned int padding_length
 
unsigned int row_start
 
Kokkos::View<::internal::MatrixFreeFunctions::ConstraintKinds *, MemorySpace::Default::kokkos_space >::HostMirror constraint_mask
 
bool use_coloring
 

Detailed Description

template<int dim, typename Number>
struct Portable::DataHost< dim, Number >

Structure which is passed to the kernel. It is used to pass all the necessary information from the CPU to the GPU.

Definition at line 665 of file portable_matrix_free.h.

Member Function Documentation

◆ local_q_point_id()

template<int dim, typename Number >
unsigned int Portable::DataHost< dim, Number >::local_q_point_id ( const unsigned int  cell,
const unsigned int  n_q_points,
const unsigned int  q_point 
) const
inline

This function is the host version of local_q_point_id().

Definition at line 729 of file portable_matrix_free.h.

◆ get_quadrature_point()

template<int dim, typename Number >
Point< dim, Number > Portable::DataHost< dim, Number >::get_quadrature_point ( const unsigned int  cell,
const unsigned int  q_point 
) const
inline

This function is the host version of get_quadrature_point().

Definition at line 742 of file portable_matrix_free.h.

Member Data Documentation

◆ q_points

template<int dim, typename Number >
Kokkos::View<Point<dim,Number>**,MemorySpace::Default::kokkos_space>::HostMirror Portable::DataHost< dim, Number >::q_points

Kokkos::View of quadrature points on the host.

Definition at line 672 of file portable_matrix_free.h.

◆ local_to_global

template<int dim, typename Number >
Kokkos::View<types::global_dof_index**,MemorySpace::Default::kokkos_space>::HostMirror Portable::DataHost< dim, Number >::local_to_global

Map the position in the local vector to the position in the global vector.

Definition at line 680 of file portable_matrix_free.h.

◆ inv_jacobian

template<int dim, typename Number >
Kokkos::View<Number**[dim][dim],MemorySpace::Default::kokkos_space>::HostMirror Portable::DataHost< dim, Number >::inv_jacobian

Kokkos::View of inverse Jacobians on the host.

Definition at line 687 of file portable_matrix_free.h.

◆ JxW

template<int dim, typename Number >
Kokkos::View<Number**,MemorySpace::Default::kokkos_space>::HostMirror Portable::DataHost< dim, Number >::JxW

Kokkos::View of Jacobian times the weights on the host.

Definition at line 693 of file portable_matrix_free.h.

◆ n_cells

template<int dim, typename Number >
unsigned int Portable::DataHost< dim, Number >::n_cells

Number of cells.

Definition at line 698 of file portable_matrix_free.h.

◆ padding_length

template<int dim, typename Number >
unsigned int Portable::DataHost< dim, Number >::padding_length

Length of the padding.

Definition at line 703 of file portable_matrix_free.h.

◆ row_start

template<int dim, typename Number >
unsigned int Portable::DataHost< dim, Number >::row_start

Row start (including padding).

Definition at line 708 of file portable_matrix_free.h.

◆ constraint_mask

template<int dim, typename Number >
Kokkos::View<::internal::MatrixFreeFunctions::ConstraintKinds*,MemorySpace::Default::kokkos_space>::HostMirror Portable::DataHost< dim, Number >::constraint_mask

Mask deciding where constraints are set on a given cell.

Definition at line 715 of file portable_matrix_free.h.

◆ use_coloring

template<int dim, typename Number >
bool Portable::DataHost< dim, Number >::use_coloring

If true, use graph coloring has been used and we can simply add into the destingation vector. Otherwise, use atomic operations.

Definition at line 721 of file portable_matrix_free.h.


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