FleCSI User API Version: 2.3.0
 
Loading...
Searching...
No Matches
narray< Policy >::access< Priv > Struct Template Reference

Topology interface base. More...

Public Member Functions

template<index_space S, typename T , Privileges P>
auto mdcolex (data::accessor< data::dense, T, P > const &a) const
 Create a Fortran-like view of a field.
 
template<index_space S, typename T , Privileges P>
auto mdspan (data::accessor< data::dense, T, P > const &a) const
 This method provides a mdspan of the field underlying data.
 

Protected Member Functions

template<index_space S, Axis A>
axis_info axis () const
 Get axis information.
 
template<index_space S, Axis A>
util::gid global_id (util::id logical_id) const
 Method returning the global id of a logical index of an index space S along axis A.
 
template<index_space S, Axis A>
bool is_degenerate () const
 Method to check if the partition returned by the coloring is degenerate.
 
template<index_space S, Axis A>
bool is_high () const
 Method to check if an axis of the local mesh is incident on the upper bound of the corresponding axis of the global mesh.
 
template<index_space S, Axis A>
bool is_interior () const
 Method to check if axis A of index-space S is in between the lower and upper bound along axis A of the global domain.
 
template<index_space S, Axis A>
bool is_low () const
 Method to check if an axis of the local mesh is incident on the lower bound of the corresponding axis of the global mesh.
 
template<index_space S, Axis A, domain DM>
util::gid offset () const
 Method to return an offset of S along A for DM.
 
auto & policy_meta () const
 Get the specialization's metadata.
 
template<index_space S, Axis A, domain DM>
auto range () const
 Method to return an iterator over the extents of the index-space S along axis A for domain DM.
 
template<index_space S, Axis A, domain DM>
auto size () const
 Method to return size of S along A for DM.
 

Detailed Description

template<typename Policy>
template<Privileges Priv>
struct flecsi::topo::narray< Policy >::access< Priv >

Topology interface base.

This class is supported for GPU execution.

See also
specialization_base::interface

Member Function Documentation

◆ mdspan()

template<typename Policy >
template<Privileges Priv>
template<index_space S, typename T , Privileges P>
auto mdspan ( data::accessor< data::dense, T, P > const &  a) const

This method provides a mdspan of the field underlying data.

It can be used to create data views with the shape appropriate to S. This function is host-accessible, although the values in a are typically not.

◆ mdcolex()

template<typename Policy >
template<Privileges Priv>
template<index_space S, typename T , Privileges P>
auto mdcolex ( data::accessor< data::dense, T, P > const &  a) const

Create a Fortran-like view of a field.

This function is host-accessible, although the values in a are typically not.

Returns
util::mdcolex

◆ policy_meta()

template<typename Policy >
template<Privileges Priv>
auto & policy_meta ( ) const
protected

Get the specialization's metadata.

This function is host-accessible.

◆ axis()

template<typename Policy >
template<Privileges Priv>
template<index_space S, Axis A>
axis_info axis ( ) const
protected

Get axis information.

This function is host-accessible.

◆ is_low()

template<typename Policy >
template<Privileges Priv>
template<index_space S, Axis A>
bool is_low ( ) const
protected

Method to check if an axis of the local mesh is incident on the lower bound of the corresponding axis of the global mesh.

This function is host-accessible.

Deprecated:
Use axis_color::low.

◆ is_high()

template<typename Policy >
template<Privileges Priv>
template<index_space S, Axis A>
bool is_high ( ) const
protected

Method to check if an axis of the local mesh is incident on the upper bound of the corresponding axis of the global mesh.

This function is host-accessible.

Deprecated:
Use axis_color::high.

◆ is_interior()

template<typename Policy >
template<Privileges Priv>
template<index_space S, Axis A>
bool is_interior ( ) const
protected

Method to check if axis A of index-space S is in between the lower and upper bound along axis A of the global domain.

This function is host-accessible.

Deprecated:
Use axis_color::low and axis_color::high.

◆ is_degenerate()

template<typename Policy >
template<Privileges Priv>
template<index_space S, Axis A>
bool is_degenerate ( ) const
protected

Method to check if the partition returned by the coloring is degenerate.

This method checks if the axis A is incident on both the lower and upper bound of the global domain. This function is host-accessible.

Deprecated:
Use axis_color::low and axis_color::high.

◆ global_id()

template<typename Policy >
template<Privileges Priv>
template<index_space S, Axis A>
util::gid global_id ( util::id  logical_id) const
protected

Method returning the global id of a logical index of an index space S along axis A.

If logical_id refers to a boundary point, it is treated as periodic. This function is host-accessible.

Deprecated:
Use axis_color::global_id.

◆ size()

template<typename Policy >
template<Privileges Priv>
template<index_space S, Axis A, domain DM>
auto size ( ) const
protected

Method to return size of S along A for DM.

This function is host-accessible.

Deprecated:
Use axis_layout.

◆ range()

template<typename Policy >
template<Privileges Priv>
template<index_space S, Axis A, domain DM>
auto range ( ) const
protected

Method to return an iterator over the extents of the index-space S along axis A for domain DM.

This function is host-accessible.

Template Parameters
DMnot domain::global
Deprecated:
Use axis_layout.

◆ offset()

template<typename Policy >
template<Privileges Priv>
template<index_space S, Axis A, domain DM>
util::gid offset ( ) const
protected

Method to return an offset of S along A for DM.

This function is host-accessible.

Deprecated:
Use axis_layout.