core
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
Loading...
Searching...
No Matches
peclet::core::halo::GridHalo< T > Class Template Reference

GPU ghost-layer exchange for a contiguous device field peclet::core::View<T> (one element per extended-block cell). More...

#include <grid_halo.hpp>

Public Member Functions

 GridHalo ()=default
 
 GridHalo (const GridHalo &)=delete
 
GridHalooperator= (const GridHalo &)=delete
 
template<int Dim>
void init (const GridHaloTopology< Dim > &halo)
 
void exchange (const View< T > &field, int tag=0)
 Exchange ghost layers of the device field field. Blocking.
 

Detailed Description

template<class T>
class peclet::core::halo::GridHalo< T >

GPU ghost-layer exchange for a contiguous device field peclet::core::View<T> (one element per extended-block cell).

Build once from a host GridHaloTopology via init(); exchange() runs every step.

Definition at line 44 of file grid_halo.hpp.

Constructor & Destructor Documentation

◆ GridHalo() [1/2]

template<class T >
peclet::core::halo::GridHalo< T >::GridHalo ( )
default

◆ GridHalo() [2/2]

template<class T >
peclet::core::halo::GridHalo< T >::GridHalo ( const GridHalo< T > &  )
delete

Member Function Documentation

◆ operator=()

◆ init()

template<class T >
template<int Dim>
void peclet::core::halo::GridHalo< T >::init ( const GridHaloTopology< Dim > &  halo)
inline

◆ exchange()

template<class T >
void peclet::core::halo::GridHalo< T >::exchange ( const View< T > &  field,
int  tag = 0 
)
inline

Exchange ghost layers of the device field field. Blocking.

Definition at line 85 of file grid_halo.hpp.

References peclet::core::halo::detail::gpuAwareMpi(), MPI_BYTE, MPI_Irecv(), MPI_Isend(), MPI_STATUSES_IGNORE, and MPI_Waitall().


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