atlas
Public Types | Public Member Functions | Friends | List of all members
atlas::grid::Distribution Class Reference
Inheritance diagram for atlas::grid::Distribution:
Inheritance graph
[legend]
Collaboration diagram for atlas::grid::Distribution:
Collaboration graph
[legend]

Public Types

using Config = DistributionImpl::Config
 
using partition_t = atlas::vector< int >
 

Public Member Functions

 Distribution (const Grid &)
 Create a serial distribution.
 
 Distribution (const Grid &, const Config &)
 Create a distribution specified by a configuration.
 
 Distribution (const Grid &, const Partitioner &)
 Create a distribution using a given partitioner.
 
 Distribution (int nb_partitions, idx_t npts, int partition[], int part0=0)
 Create a distribution by given array, and make internal copy.
 
 Distribution (int nb_partitions, partition_t &&partition)
 Create a distribution by given array, and take ownership (move)
 
ATLAS_ALWAYS_INLINE int partition (gidx_t index) const
 
template<typename PartitionContainer >
void partition (gidx_t begin, gidx_t end, PartitionContainer &partitions) const
 
size_t footprint () const
 
ATLAS_ALWAYS_INLINE idx_t nb_partitions () const
 
ATLAS_ALWAYS_INLINE gidx_t size () const
 
const std::vector< idx_t > & nb_pts () const
 
idx_t max_pts () const
 
idx_t min_pts () const
 
const std::string & type () const
 
std::string hash () const
 
void hash (eckit::Hash &) const
 

Friends

class Partitioner
 
std::ostream & operator<< (std::ostream &os, const Distribution &distribution)
 

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