Template Function combigrid::sendAndReceiveIndicesBlock

Function Documentation

template<typename FG_ELEMENT, DimType DIM>
static void combigrid::sendAndReceiveIndicesBlock(const std::map<RankType, std::set<IndexType>> &send1dIndices, const std::map<RankType, std::set<IndexType>> &recv1dIndices, const DistributedFullGrid<FG_ELEMENT, DIM> &dfg, DimType dim, RemoteDataCollector<FG_ELEMENT> &remoteData)

helper function for data exchange, have only one MPI_Isend/Irecv per neighboring rank

Parameters:
  • send1dIndices – : a vector which holds (for each other rank) a set of own 1D indices to send to

  • recv1dIndices – : a vector which holds (for each other rank) a set of 1D indices to receive from

  • dfg – : the DistributedFullGrid where the own values are stored

  • dim – : the dimension in which we want to exchange

  • remoteData – : the data structure into which the received data will be stored