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

#include <particle_halo.hpp>

Public Member Functions

 ParticleHalo ()=default
 
 ParticleHalo (const ParticleHalo &)=delete
 
ParticleHalooperator= (const ParticleHalo &)=delete
 
void init (const ParticleHaloTopology< Dim > &halo)
 Capture the (already-built) host halo's topology in device-friendly form.
 
template<class T >
void forward (const View< T > &owned, const View< T > &ghost, int tag=7603)
 owned[N] -> ghost[G], verbatim. Both live on the device.
 
template<class T >
void reverse (const View< T > &ghost, const View< T > &owned, int tag=7604)
 ghost[G] -> owned[N], accumulated (owned += contributions). T must support Kokkos::atomic_add.
 
Index numGhost () const
 

Detailed Description

template<int Dim>
class peclet::core::halo::ParticleHalo< Dim >

Definition at line 29 of file particle_halo.hpp.

Constructor & Destructor Documentation

◆ ParticleHalo() [1/2]

template<int Dim>
peclet::core::halo::ParticleHalo< Dim >::ParticleHalo ( )
default

◆ ParticleHalo() [2/2]

template<int Dim>
peclet::core::halo::ParticleHalo< Dim >::ParticleHalo ( const ParticleHalo< Dim > &  )
delete

Member Function Documentation

◆ operator=()

template<int Dim>
ParticleHalo & peclet::core::halo::ParticleHalo< Dim >::operator= ( const ParticleHalo< Dim > &  )
delete

◆ init()

template<int Dim>
void peclet::core::halo::ParticleHalo< Dim >::init ( const ParticleHaloTopology< Dim > &  halo)
inline

◆ forward()

template<int Dim>
template<class T >
void peclet::core::halo::ParticleHalo< Dim >::forward ( const View< T > &  owned,
const View< T > &  ghost,
int  tag = 7603 
)
inline

owned[N] -> ghost[G], verbatim. Both live on the device.

Definition at line 56 of file particle_halo.hpp.

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

◆ reverse()

template<int Dim>
template<class T >
void peclet::core::halo::ParticleHalo< Dim >::reverse ( const View< T > &  ghost,
const View< T > &  owned,
int  tag = 7604 
)
inline

ghost[G] -> owned[N], accumulated (owned += contributions). T must support Kokkos::atomic_add.

Definition at line 114 of file particle_halo.hpp.

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

◆ numGhost()

template<int Dim>
Index peclet::core::halo::ParticleHalo< Dim >::numGhost ( ) const
inline

Definition at line 172 of file particle_halo.hpp.


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