DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
IndexMapping.hpp File Reference

Global-to-local index mapping for distributed arrays. More...

#include <unordered_map>
#include <algorithm>
#include <tuple>
#include "Defines.hpp"
#include "MPI.hpp"
Include dependency graph for IndexMapping.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  DNDS::GlobalOffsetsMapping
 Table mapping rank-local row indices to the global index space. More...
 
class  DNDS::OffsetAscendIndexMapping
 Mapping between a rank's main data and its ghost copies. More...
 

Namespaces

namespace  DNDS
 the host side operators are provided as implemented
 

Detailed Description

Global-to-local index mapping for distributed arrays.

Unit Test Coverage (test_IndexMapping.cpp, MPI np=1,2,4)
  • GlobalOffsetsMapping: setMPIAlignBcast, globalSize, RLengths, ROffsets, operator() (local-to-global), search (global-to-local, both overloads) – uniform and non-uniform distributions – edge cases: out-of-range, negative index, rank boundary crossing
  • OffsetAscendIndexMapping (pull-based): searchInMain, searchInGhost, searchInAllGhost, search, search_indexAppend, operator() (reverse mapping) – empty ghost set edge case
Not Yet Tested
  • Push-based OffsetAscendIndexMapping constructor
  • sort(), ghostAt(), search_indexRank
  • Duplicate pull indices

Definition in file IndexMapping.hpp.