|
using | plan_type = CommPlanType |
| Communication plan type (Halo, Distributor)
|
|
using | execution_space = typename plan_type::execution_space |
| Kokkos execution space.
|
|
using | policy_type = Kokkos::RangePolicy<execution_space> |
| Kokkos execution policy.
|
|
using | comm_data_type = CommDataType |
| Communication data type.
|
|
using | particle_data_type = typename comm_data_type::particle_data_type |
| Particle data type.
|
|
using | memory_space = typename comm_data_type::memory_space |
| Kokkos memory space.
|
|
using | data_type = typename comm_data_type::data_type |
| Communication data type.
|
|
using | buffer_type = typename comm_data_type::buffer_type |
| Communication buffer type.
|
|
|
| CommunicationData (const CommPlanType &comm_plan, const particle_data_type &particles, const double overallocation=1.0) |
|
buffer_type | getSendBuffer () const |
| Get the communication send buffer.
|
|
buffer_type | getReceiveBuffer () const |
| Get the communication receive buffer.
|
|
particle_data_type | getData () const |
| Get the particles to communicate.
|
|
void | setData (const particle_data_type &particles) |
| Update particles to communicate.
|
|
auto | sendSize () |
| Current send buffer size.
|
|
auto | receiveSize () |
| Current receive buffer size.
|
|
auto | sendCapacity () |
| Current allocated send buffer space.
|
|
auto | receiveCapacity () |
| Current allocated receive buffer space.
|
|
void | shrinkToFit (const bool use_overallocation=false) |
| Reduce communication buffers to current send/receive sizes.
|
|
virtual void | apply ()=0 |
| Perform the communication (migrate, gather, scatter).
|
|
template<class ExecutionSpace> |
void | apply (ExecutionSpace) |
| Perform the communication (migrate, gather, scatter).
|
|
template<class CommPlanType, class CommDataType>
class Cabana::CommunicationData< CommPlanType, CommDataType >
Store communication plan and communication buffers.