waLBerla 7.3
Loading...
Searching...
No Matches
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 packData (const IBlock *sender, stencil::Direction dir, mpi::SendBuffer &outBuffer) 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

void safeCommunicateLocal (const IBlock *sender, IBlock *receiver, stencil::Direction dir) override
void safeUnpackData (IBlock *receiver, stencil::Direction dir, mpi::RecvBuffer &buffer) override
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 )
overrideprotectedvirtual

◆ 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 )
overrideprotectedvirtual

◆ 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:
  • /builds/administration/walberla-website/walberla/src/field/communication/ReducePackInfo.h