|
peclet.voro 1.0.4
Device-native moving-particle Voronoi dynamics
|
#include <distributed.hpp>
Public Types | |
| using | Mem = peclet::core::MemSpace |
| using | Exec = peclet::core::ExecSpace |
Public Member Functions | |
| void | init (peclet::voro::mpi::VoronoiHalo< Real > &h, int owned) |
| void | exchange (const DV< Real > &f, int nc) const |
Refresh the ghost entries [nOwned, nOwned + nGhost) of an nc-component cell field. | |
| void | exchangeHost (const DV< Real > &f, int nc) const |
| The host reference path: VoronoiHalo::forward per component through a host mirror. | |
| Real | sum (Real v) const |
| Real | max (Real v) const |
Public Attributes | |
| peclet::voro::mpi::VoronoiHalo< Real > * | halo = nullptr |
| int | nOwned = 0 |
| int | nGhost = 0 |
| bool | devicePack = true |
| std::vector< int > | sendRanks |
| std::vector< int > | sendCounts |
| std::vector< int > | sendOffsets |
| std::vector< int > | recvRanks |
| std::vector< int > | recvCounts |
| std::vector< int > | recvOffsets |
| int | nSend = 0 |
| int | nReceived = 0 |
| Kokkos::View< int *, Mem > | dSendIdx |
| Kokkos::View< int *, Mem > | dSelfIdx |
| Kokkos::View< Real *, Mem > | dSendBuf |
| Kokkos::View< Real *, Mem > | dRecvBuf |
| std::vector< Real > | hSendBuf |
| std::vector< Real > | hRecvBuf |
| using peclet::voro::fv::GhostExchange< Real >::Exec = peclet::core::ExecSpace |
| using peclet::voro::fv::GhostExchange< Real >::Mem = peclet::core::MemSpace |
|
inline |
Refresh the ghost entries [nOwned, nOwned + nGhost) of an nc-component cell field.
|
inline |
The host reference path: VoronoiHalo::forward per component through a host mirror.
|
inline |
|
inline |
|
inline |
| bool peclet::voro::fv::GhostExchange< Real >::devicePack = true |
Device-packed path (default): the sends are gathered on the device from the flat topology's index list into one buffer, only the packed send/recv buffers cross to the host for MPI, and the receives land in the ghost slots by a device scatter — no whole-field round trip. The host path (devicePack = false, VoronoiHalo::forward per component) is the reference; the two are gated bitwise-equal in tests/kokkos_mpi/test_flow_mpi.
| Kokkos::View<Real*, Mem> peclet::voro::fv::GhostExchange< Real >::dRecvBuf |
| Kokkos::View<int*, Mem> peclet::voro::fv::GhostExchange< Real >::dSelfIdx |
| Kokkos::View<Real*, Mem> peclet::voro::fv::GhostExchange< Real >::dSendBuf |
| Kokkos::View<int*, Mem> peclet::voro::fv::GhostExchange< Real >::dSendIdx |
| peclet::voro::mpi::VoronoiHalo<Real>* peclet::voro::fv::GhostExchange< Real >::halo = nullptr |
| std::vector<Real> peclet::voro::fv::GhostExchange< Real >::hRecvBuf |
| std::vector<Real> peclet::voro::fv::GhostExchange< Real >::hSendBuf |
| int peclet::voro::fv::GhostExchange< Real >::nGhost = 0 |
| int peclet::voro::fv::GhostExchange< Real >::nOwned = 0 |
| int peclet::voro::fv::GhostExchange< Real >::nReceived = 0 |
| int peclet::voro::fv::GhostExchange< Real >::nSend = 0 |
| std::vector<int> peclet::voro::fv::GhostExchange< Real >::recvCounts |
| std::vector<int> peclet::voro::fv::GhostExchange< Real >::recvOffsets |
| std::vector<int> peclet::voro::fv::GhostExchange< Real >::recvRanks |
| std::vector<int> peclet::voro::fv::GhostExchange< Real >::sendCounts |
| std::vector<int> peclet::voro::fv::GhostExchange< Real >::sendOffsets |
| std::vector<int> peclet::voro::fv::GhostExchange< Real >::sendRanks |