MPI marker migration across toroidal spatial subdomains. More...
#include "prec_const.hpp"#include "globals.hpp"#include <Kokkos_Core.hpp>#include <mpi.h>#include <vector>
Include dependency graph for parmove.hpp:Classes | |
| struct | orb5x::PackSendBufferFunctor |
| Kokkos-compatible real-attribute packing functor. More... | |
| class | orb5x::ParMove |
| Migrate complete marker records between toroidal spatial subdomains. More... | |
| struct | orb5x::UnpackReceiveBufferFunctor |
| Kokkos-compatible real-attribute receive-unpacking functor. More... | |
Namespaces | |
| namespace | orb5x |
| Public C++ interface of the ORB5X gyrokinetic application. | |
Functions | |
| void | orb5x::count_leaving_markers (Kokkos::View< Real *, Kokkos::LayoutStride > pos, Kokkos::View< int * > scount, Real lsd_inv, int nsd, int me_sd, int np) |
| Histogram outgoing markers by destination subdomain on device. | |
| void | orb5x::fill_leaving_marker_holes (Kokkos::View< Real *, Kokkos::LayoutStride > pos, Kokkos::View< int * > cursor, Kokkos::View< int * > iphole, Real lsd_inv, int nsd, int me_sd, int np) |
Place each outgoing marker's index into its destination's region of iphole, sorted by destination. | |
MPI marker migration across toroidal spatial subdomains.
Counts and packs complete marker records, exchanges them with neighboring domains, and unpacks received markers into Kokkos storage.