DIY  3.0
data-parallel out-of-core C++ library
 All Classes Namespaces Functions Typedefs Groups Pages
Public Types | Public Member Functions | List of all members
diy::RegularSwapPartners Struct Reference

Partners for swap-reduce. More...

#include <diy/partners/swap.hpp>

Inheritance diagram for diy::RegularSwapPartners:
diy::RegularPartners

Public Types

typedef RegularPartners Parent
 
- Public Types inherited from diy::RegularPartners
typedef std::vector< int > CoordVector
 
typedef std::vector< int > DivisionVector
 
typedef std::vector< DimKKVSVector
 
typedef DiscreteBounds Bounds
 
typedef RegularDecomposer< BoundsDecomposer
 

Public Member Functions

template<class Decomposer >
 RegularSwapPartners (const Decomposer &decomposer, int k, bool contiguous=true)
 
 RegularSwapPartners (const DivisionVector &divs, const KVSVector &kvs, bool contiguous=true)
 
bool active (int round, int gid, const Master &) const
 
void incoming (int round, int gid, std::vector< int > &partners, const Master &) const
 
void outgoing (int round, int gid, std::vector< int > &partners, const Master &) const
 
- Public Member Functions inherited from diy::RegularPartners
template<class Decomposer_ >
 RegularPartners (const Decomposer_ &decomposer, int k, bool contiguous=true)
 
 RegularPartners (const DivisionVector &divs, const KVSVector &kvs, bool contiguous=true)
 
size_t rounds () const
 
int size (int round) const
 
int dim (int round) const
 
int step (int round) const
 
const DivisionVector & divisions () const
 
const KVSVector & kvs () const
 
bool contiguous () const
 
void fill (int round, int gid, std::vector< int > &partners) const
 
int group_position (int round, int c, int step) const
 

Additional Inherited Members

- Static Public Member Functions inherited from diy::RegularPartners
static void factor (int k, const DivisionVector &divisions, KVSVector &kvs)
 

Detailed Description

Partners for swap-reduce.

Examples:
reduce/sort.cpp, and reduce/swap-reduce.cpp.

Constructor & Destructor Documentation

template<class Decomposer >
diy::RegularSwapPartners::RegularSwapPartners ( const Decomposer decomposer,
int  k,
bool  contiguous = true 
)
inline
Parameters
decomposerdomain decomposition
ktarget k value
contiguousdistance halving (true) or doubling (false)
diy::RegularSwapPartners::RegularSwapPartners ( const DivisionVector &  divs,
const KVSVector &  kvs,
bool  contiguous = true 
)
inline
Parameters
divsexplicit division vector
kvsexplicit k vector
contiguousdistance halving (true) or doubling (false)

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