|
core
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
|
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 | |
| GridHalo & | operator= (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. | |
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.
|
default |
|
delete |
|
inline |
Definition at line 51 of file grid_halo.hpp.
References peclet::core::halo::GridHaloTopology< Dim >::flatten(), and peclet::core::toDevice().
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().