walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T > Class Template Reference

Detailed Description

template<template< typename > class ReduceOperation, typename GhostLayerField_T>
class walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >

Data packing/unpacking for reduce operations This class can be used, when multiple data sets from different senders should be reduced at the receiver.

#include <ReducePackInfo.h>

+ Inheritance diagram for walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >:

Public Types

using T = typename GhostLayerField_T::value_type
 

Public Member Functions

 ReducePackInfo (const BlockDataID &bdId, T init)
 
 ~ReducePackInfo () override=default
 
bool constantDataExchange () const
 
bool threadsafeReceiving () const
 
void safeCommunicateLocal (const IBlock *sender, IBlock *receiver, stencil::Direction dir) override
 
void packData (const IBlock *sender, stencil::Direction dir, mpi::SendBuffer &outBuffer) override
 
void safeUnpackData (IBlock *receiver, stencil::Direction dir, mpi::RecvBuffer &buffer) override
 
size_t getDataSize () const
 
- Public Member Functions inherited from walberla::communication::ReducePackInfo
 ReducePackInfo ()
 
size_t getSize () const
 
void reset ()
 
void communicateLocal (const IBlock *sender, IBlock *receiver, stencil::Direction dir)
 
void unpackData (IBlock *receiver, stencil::Direction dir, mpi::RecvBuffer &buffer)
 

Protected Member Functions

size_t initData (IBlock *receiver, stencil::Direction dir) override
 

Protected Attributes

const BlockDataID bdId_
 
const T init_
 
const ReduceOperation< Top_
 

Member Typedef Documentation

◆ T

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
using walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::T = typename GhostLayerField_T::value_type

Constructor & Destructor Documentation

◆ ReducePackInfo()

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::ReducePackInfo ( const BlockDataID bdId,
T  init 
)
inline

◆ ~ReducePackInfo()

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::~ReducePackInfo ( )
overridevirtualdefault

Member Function Documentation

◆ constantDataExchange()

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
bool walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::constantDataExchange ( ) const
inline

◆ getDataSize()

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
size_t walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::getDataSize ( ) const
inline

◆ initData()

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
size_t walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::initData ( IBlock receiver,
stencil::Direction  dir 
)
overrideprotectedvirtual

◆ packData()

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
void walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::packData ( const IBlock sender,
stencil::Direction  dir,
mpi::SendBuffer outBuffer 
)
overridevirtual

◆ safeCommunicateLocal()

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
void walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::safeCommunicateLocal ( const IBlock sender,
IBlock receiver,
stencil::Direction  dir 
)
overridevirtual

◆ safeUnpackData()

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
void walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::safeUnpackData ( IBlock receiver,
stencil::Direction  dir,
mpi::RecvBuffer buffer 
)
overridevirtual

◆ threadsafeReceiving()

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
bool walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::threadsafeReceiving ( ) const
inline

Member Data Documentation

◆ bdId_

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
const BlockDataID walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::bdId_
protected

◆ init_

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
const T walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::init_
protected

◆ op_

template<template< typename > class ReduceOperation, typename GhostLayerField_T >
const ReduceOperation<T> walberla::field::communication::ReducePackInfo< ReduceOperation, GhostLayerField_T >::op_
protected

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