|
core
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
|
#include <particle_halo.hpp>
Public Member Functions | |
| ParticleHalo ()=default | |
| ParticleHalo (const ParticleHalo &)=delete | |
| ParticleHalo & | operator= (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 |
Definition at line 29 of file particle_halo.hpp.
|
default |
|
delete |
|
delete |
|
inline |
Capture the (already-built) host halo's topology in device-friendly form.
Definition at line 36 of file particle_halo.hpp.
References peclet::core::halo::ParticleHaloTopology< Dim >::comm(), peclet::core::halo::ParticleHaloTopology< Dim >::flatten(), peclet::core::halo::ParticleHaloTopology< Dim >::numGhost(), and peclet::core::toDevice().
|
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().
|
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().
|
inline |
Definition at line 172 of file particle_halo.hpp.