23 class CAxisAttributes;
30 # include "axis_attribute.conf"
37 , public CAxisAttributes
50 EVENT_ID_DISTRIBUTED_ATTRIBUTES
62 CAxis(
const CAxis & axis);
63 CAxis(
const CAxis *
const axis);
65 static CAxis* createAxis();
68 const std::set<StdString> & getRelFiles(
void)
const;
70 int getNumberWrittenIndexes(MPI_Comm writtenCom);
71 int getTotalNumberWrittenIndexes(MPI_Comm writtenCom);
72 int getOffsetWrittenIndexes(MPI_Comm writtenCom);
73 CArray<int, 1>& getCompressedIndexToWriteOnServer(MPI_Comm writtenCom);
75 std::map<int, StdSize> getAttributesBufferSize(
CContextClient* client,
const std::vector<int>& globalDim,
int orderPositionInGrid,
79 bool IsWritten(
const StdString & filename)
const;
80 bool isWrittenCompressed(
const StdString& filename)
const;
81 bool isDistributed(
void)
const;
82 bool isCompressible(
void)
const;
85 void addRelFile(
const StdString & filename);
86 void addRelFileCompressed(
const StdString& filename);
89 void checkAttributes(
void);
105 void checkAttributesOnClient();
106 void checkAttributesOnClientAfterTransformation(
const std::vector<int>& globalDim,
int orderPositionInGrid,
108 void sendCheckedAttributes(
const std::vector<int>& globalDim,
int orderPositionInGrid,
111 void checkEligibilityForCompressedOutput();
112 size_t getGlobalWrittenSize(
void) ;
114 void computeWrittenIndex();
115 void computeWrittenCompressedIndex(MPI_Comm);
116 bool hasTransformation();
117 void solveInheritanceTransformation();
118 TransMapTypes getAllTransformations();
119 void duplicateTransformation(CAxis*);
121 bool isEqual(CAxis* axis);
135 void sendAttributes(
const std::vector<int>& globalDim,
int orderPositionInGrid,
137 void sendDistributionAttribute(
const std::vector<int>& globalDim,
int orderPositionInGrid,
139 void computeConnectedClients(
const std::vector<int>& globalDim,
int orderPositionInGrid,
142 void sendNonDistributedAttributes(
void);
143 void sendDistributedAttributes(
void);
145 static void recvNonDistributedAttributes(
CEventServer& event);
146 static void recvDistributedAttributes(
CEventServer& event);
147 static void recvDistributionAttribute(
CEventServer& event);
148 void recvNonDistributedAttributes(
int rank,
CBufferIn& buffer);
149 void recvDistributedAttributes(vector<int>& rank, vector<CBufferIn*> buffers);
150 void recvDistributionAttribute(
CBufferIn& buffer);
152 void setTransformations(
const TransMapTypes&);
168 std::map<int, std::unordered_map<int, vector<size_t> > >
indSrv_;
178 static bool initializeTransformationMap(std::map<StdString, ETranformationType>& m);
191 #endif // __XIOS_CAxis__
std::map< int, CArray< int, 1 > > compressedIndexToWriteOnServer
std::map< int, std::unordered_map< int, vector< size_t > > > indSrv_
enum xios::transformation_type ETranformationType
////////////////////// Définitions ////////////////////// ///
#define END_DECLARE_ATTRIBUTE_MAP(type)
bool isCompressible_
True if and only if the data defined on the axis can be outputted in a compressed way...
std::vector< int > indexesToWrite
CTransformation< CAxis >::TransformationMapTypes TransMapTypes
std::list< CContextClient * > clients
std::set< StdString > relFilesCompressed
std::map< int, int > totalNumberWrittenIndexes_
Description of index distribution on server(s).
#define DECLARE_REF_FUNC(type, name_)
static bool dummyTransformationMapList_
#define BEGIN_DECLARE_ATTRIBUTE_MAP(type)
CArray< int, 1 > localIndexToWriteOnServer
A context can be both on client and on server side.
////////////////////// Déclarations ////////////////////// ///
std::map< int, map< int, int > > nbSenders
std::map< int, std::vector< int > > connectedServerRank_
static std::map< StdString, ETranformationType > transformationMapList_
Macros to add functions used to solve references in class CDomain, CAxis and CField.
enum xios::_node_type ENodeType
////////////////////// Définitions ////////////////////// ///
std::unordered_map< size_t, size_t > globalLocalIndexMap_
TransMapTypes transformationMap_
bool areClientAttributesChecked_
CAxisAttributes RelAttributes
CObjectTemplate< CAxis > SuperClass
typedef ///
bool isClientAfterTransformationChecked
std::set< CContextClient * > clientsSet
bool computedWrittenIndex_
CAxisAttributes SuperClassAttribute