Gyselalib++
 
Loading...
Searching...
No Matches
IMPILayout< IdxRangeData, DistributedDim > Class Template Reference

A super class describing a way in which data may be laid out across MPI processes. More...

Public Types

using discrete_domain_type = IdxRangeData
 The index range of the data.
 
using distributed_sub_idx_range = IdxRange< DistributedDim... >
 The index range of the distributed section of the data.
 
using distributed_type_seq = ddc::detail::TypeSeq< DistributedDim... >
 A type sequence describing the dimensions which are distributed across MPI processes.
 

Static Public Attributes

static constexpr int n_distributed_dimensions = sizeof...(DistributedDim)
 The number of dimensions that are distributed across MPI processes.
 
static constexpr bool distributed_idx_ranges_are_first
 A flag to indicate whether the distributed dimensions are the dimensions which are the furthest from being contiguous in memory.
 

Detailed Description

template<class IdxRangeData, class... DistributedDim>
class IMPILayout< IdxRangeData, DistributedDim >

A super class describing a way in which data may be laid out across MPI processes.

Template Parameters
IdxRangeDataThe index range on which the data is defined.
DistributedDimThe tags of the discrete dimensions which are distributed across MPI processes.

Member Data Documentation

◆ distributed_idx_ranges_are_first

template<class IdxRangeData , class... DistributedDim>
constexpr bool IMPILayout< IdxRangeData, DistributedDim >::distributed_idx_ranges_are_first
staticconstexpr
Initial value:
= check_distributed_idx_ranges_are_first(
std::make_index_sequence<n_distributed_dimensions>())

A flag to indicate whether the distributed dimensions are the dimensions which are the furthest from being contiguous in memory.


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