KaMPIng 0.1.1
Flexible and (near) zero-overhead C++ bindings for MPI
Loading...
Searching...
No Matches
kamping::plugin::GridCommunicator< Comm, DefaultContainerType > Class Template Reference

Plugin adding a two dimensional communication grid to the communicator. More...

#include <alltoall_grid.hpp>

Inheritance diagram for kamping::plugin::GridCommunicator< Comm, DefaultContainerType >:
Collaboration diagram for kamping::plugin::GridCommunicator< Comm, DefaultContainerType >:

Public Member Functions

auto make_grid_communicator () const
 Returns a kamping::plugin::GridCommunicator.
 

Detailed Description

template<typename Comm, template< typename... > typename DefaultContainerType>
class kamping::plugin::GridCommunicator< Comm, DefaultContainerType >

Plugin adding a two dimensional communication grid to the communicator.

PEs are row-major and abs(#row - #columns) <= 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

If #PE != #row * #column then the PEs of the last incomplete row are transposed and appended to the first rows and do not form an own row based communicator. 0 1 2 3 16 4 5 6 7 17 8 9 10 11 12 13 14 15 (16 17) This enables personalized alltoall exchanges with a latency in about sqrt(#PE).


The documentation for this class was generated from the following file: