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

ParArray (MPI-aware array) and ArrayTransformer (ghost/halo communication). More...

#include "Array.hpp"
#include "DNDS/DeviceStorage.hpp"
#include "DNDS/Errors.hpp"
#include "IndexMapping.hpp"
#include "Profiling.hpp"
#include <utility>
#include "VectorUtils.hpp"
Include dependency graph for ArrayTransformer.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  DNDS::ParArray< T, _row_size, _row_max, _align >
 MPI-aware Array: adds a communicator, rank, and global index mapping. More...
 
class  DNDS::ArrayTransformer< T, _row_size, _row_max, _align >
 Ghost-communication engine for a father / son ParArray pair. More...
 
struct  DNDS::ArrayTransformerType< TArray >
 Type trait computing the ArrayTransformer type for a given Array type. More...
 

Namespaces

namespace  DNDS
 the host side operators are provided as implemented
 

Typedefs

using DNDS::t_pLGlobalMapping = ssp< GlobalOffsetsMapping >
 Shared pointer to a GlobalOffsetsMapping (globally replicated).
 
using DNDS::t_pLGhostMapping = ssp< OffsetAscendIndexMapping >
 Shared pointer to an OffsetAscendIndexMapping (per-rank ghost layout).
 
template<class TArray >
using DNDS::ArrayTransformerType_t = typename ArrayTransformerType< TArray >::Type
 

Detailed Description

ParArray (MPI-aware array) and ArrayTransformer (ghost/halo communication).

Unit Test Coverage (test_ArrayTransformer.cpp, MPI np=1,2,4)
  • ParArray: setMPI, Resize, createGlobalMapping, globalSize, AssertConsistent
  • ArrayTransformer pull-based ghost: setFatherSon, createFatherGlobalMapping, createGhostMapping (pull), createMPITypes, pullOnce – layouts: TABLE_StaticFixed, TABLE_Fixed, CSR, std::array compound type
  • Persistent pull: initPersistentPull, startPersistentPull, waitPersistentPull, clearPersistentPull (with father data update between pulls)
  • BorrowGGIndexing: second array shares ghost mapping of first
  • pushOnce: write to son, push back to father
Not Yet Tested
  • Push-based createGhostMapping(pushingIndexLocal, pushStarts)
  • Persistent push (initPersistentPush, startPersistentPush, etc.)
  • clearMPITypes, clearGlobalMapping, clearGhostMapping (independent)
  • reInitPersistentPullPush
  • getFatherSonData(DeviceBackend), AssertDataType, setDataType

Definition in file ArrayTransformer.hpp.