FleCSI Core API Version: 2.3.2
 
Loading...
Searching...
No Matches
narray< Policy > Struct Template Reference

Narray Topology. More...

Classes

struct  access
 Topology interface base. More...
 
struct  ragged_impl
 Ragged communication routines. More...
 

Private Member Functions

template<index_space S>
data::copy_plan make_copy_plan (Color colors, index_definition const &idef)
 Method to create copy plans for entities of an index-space.
 

Static Private Member Functions

static void idx_itvls (index_definition const &idef, std::vector< std::size_t > &num_intervals, std::vector< typename meta_data::intervals > &intervals, std::vector< typename meta_data::points > &points, MPI_Comm const &comm)
 Method to compute the local ghost "intervals" and "points" which store map of local ghost offset to remote/shared offset.
 

Additional Inherited Members

- Public Types inherited from narray_base
using axis
 The type describing one axis in a task.
 
using axis_color
 The type describing the usage of one axis in a task.
 
using axis_definition
 The type for specifying an axis for a coloring.
 
using axis_info
 The type describing an axis in a task.
 
using axis_layout
 The type describing index points on one axis in a task.
 
enum class  domain : std::size_t {
  logical , extended , all , boundary_low ,
  boundary_high , ghost_low , ghost_high , global
}
 This domain enumeration provides a classification of the various types of partition entities that can be requested out of a topology specialization created using this type. More...
 
using index_definition
 The type for specifying an index space for a coloring.
 
- Static Public Member Functions inherited from narray_base
static colors distribute (Color np, gcoord indices)
 Create an axial color distribution for the given number of processes.
 
static std::vector< axis_definitionmake_axes (Color num_colors, const gcoord &indices)
 Choose a breakdown of colors per axis and construct axis definitions.
 
static std::vector< axis_definitionmake_axes (const colors &color_dist, const gcoord &indices)
 Create a vector of axis definitions with default settings (hdepth=0, bdepth=0, periodic=false, etc) for the given extents and number of colors.
 

Detailed Description

template<typename Policy>
struct flecsi::topo::narray< Policy >

Narray Topology.

Colors are assigned lexicographically; the first dimension varies fastest.

Template Parameters
Policythe specialization, following narray_specialization.

Member Function Documentation

◆ idx_itvls()

template<typename Policy >
static void idx_itvls ( index_definition const & idef,
std::vector< std::size_t > & num_intervals,
std::vector< typename meta_data::intervals > & intervals,
std::vector< typename meta_data::points > & points,
MPI_Comm const & comm )
staticprivate

Method to compute the local ghost "intervals" and "points" which store map of local ghost offset to remote/shared offset.

This method is called by the "make_copy_plan" method in the derived topology to create the copy plan objects.

Parameters
idefindex definition
[out]num_intervalsvector of number of ghost intervals, over all colors, this vector is assumed to be sized correctly (all colors)
[out]intervalsvector of local ghost intervals, over process colors
[out]pointsvector of maps storing (local ghost offset, remote shared offset) for a shared color, over process colors

◆ make_copy_plan()

template<typename Policy >
template<index_space S>
data::copy_plan make_copy_plan ( Color colors,
index_definition const & idef )
private

Method to create copy plans for entities of an index-space.

Parameters
colorsThe number of colors
idefindex definition