waLBerla 7.3
Loading...
Searching...
No Matches
walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag > Class Template Reference

Detailed Description

template<typename TCommStencil, memory::MemTag TMemTag>
class walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >

Builder for the HaloExchange class.

#include <HaloExchange.hpp>

Public Types

using CsTraits = CommSchemeTraits< TCommStencil, TMemTag >
using PackInfoWrapper = typename CsTraits::PackInfoWrapper
using Self = HaloExchangeBuilder< TCommStencil, TMemTag >
using CommStencil = TCommStencil
using memory_tag = TMemTag

Public Member Functions

 HaloExchangeBuilder (const std::shared_ptr< StructuredBlockForest > &blocks)
template<typename TPackInfo>
Selfsync (TPackInfo pi)
template<HasHaloExchangeTraits< memory_tag > TEntity>
Selfsync (TEntity entity)
SelfrequiredBlockSelectors (const Set< SUID > &selectors)
SelfincompatibleBlockSelectors (const Set< SUID > &selectors)
SelfsendDirectlyFromGPU (bool useGpuDirect)
SelfuseLocalCommunication (bool useLocalComm)
SelfmpiTag (int tag)
HaloExchange build ()
std::shared_ptr< HaloExchangemakeShared ()

Private Attributes

std::shared_ptr< StructuredBlockForestblocks_
std::vector< std::shared_ptr< PackInfoWrapper > > packInfos_
CommSchemeOptions options_

Member Typedef Documentation

◆ CommStencil

template<typename TCommStencil, memory::MemTag TMemTag>
using walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::CommStencil = TCommStencil

◆ CsTraits

template<typename TCommStencil, memory::MemTag TMemTag>
using walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::CsTraits = CommSchemeTraits< TCommStencil, TMemTag >

◆ memory_tag

template<typename TCommStencil, memory::MemTag TMemTag>
using walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::memory_tag = TMemTag

◆ PackInfoWrapper

template<typename TCommStencil, memory::MemTag TMemTag>
using walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::PackInfoWrapper = typename CsTraits::PackInfoWrapper

◆ Self

template<typename TCommStencil, memory::MemTag TMemTag>
using walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::Self = HaloExchangeBuilder< TCommStencil, TMemTag >

Constructor & Destructor Documentation

◆ HaloExchangeBuilder()

template<typename TCommStencil, memory::MemTag TMemTag>
walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::HaloExchangeBuilder ( const std::shared_ptr< StructuredBlockForest > & blocks)
inlineexplicit

Member Function Documentation

◆ build()

template<typename TCommStencil, memory::MemTag TMemTag>
HaloExchange walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::build ( )
inline

◆ incompatibleBlockSelectors()

template<typename TCommStencil, memory::MemTag TMemTag>
Self & walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::incompatibleBlockSelectors ( const Set< SUID > & selectors)
inline

◆ makeShared()

template<typename TCommStencil, memory::MemTag TMemTag>
std::shared_ptr< HaloExchange > walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::makeShared ( )
inline

◆ mpiTag()

template<typename TCommStencil, memory::MemTag TMemTag>
Self & walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::mpiTag ( int tag)
inline

◆ requiredBlockSelectors()

template<typename TCommStencil, memory::MemTag TMemTag>
Self & walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::requiredBlockSelectors ( const Set< SUID > & selectors)
inline

◆ sendDirectlyFromGPU()

template<typename TCommStencil, memory::MemTag TMemTag>
Self & walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::sendDirectlyFromGPU ( bool useGpuDirect)
inline

◆ sync() [1/2]

template<typename TCommStencil, memory::MemTag TMemTag>
template<HasHaloExchangeTraits< memory_tag > TEntity>
Self & walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::sync ( TEntity entity)
inline

◆ sync() [2/2]

template<typename TCommStencil, memory::MemTag TMemTag>
template<typename TPackInfo>
Self & walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::sync ( TPackInfo pi)
inline

◆ useLocalCommunication()

template<typename TCommStencil, memory::MemTag TMemTag>
Self & walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::useLocalCommunication ( bool useLocalComm)
inline

Member Data Documentation

◆ blocks_

template<typename TCommStencil, memory::MemTag TMemTag>
std::shared_ptr< StructuredBlockForest > walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::blocks_
private

◆ options_

template<typename TCommStencil, memory::MemTag TMemTag>
CommSchemeOptions walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::options_
private

◆ packInfos_

template<typename TCommStencil, memory::MemTag TMemTag>
std::vector< std::shared_ptr< PackInfoWrapper > > walberla::v8::halo_exchange::HaloExchangeBuilder< TCommStencil, TMemTag >::packInfos_
private

The documentation for this class was generated from the following file:
  • /builds/administration/walberla-website/walberla/include/walberla/v8/halo_exchange/HaloExchange.hpp