|
|
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.
|
| |
|
|
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::CommunicationDataBase< CommPlanType, CommDataType >
Store communication plan and communication buffers.