XIOS
1.0
Xml I/O Server
|
The class, for now, plays a role of computing local index for writing data on server. Plus de détails...
#include <distribution_server.hpp>
Fonctions membres publiques | |
CDistributionServer (int rank, int dims, const CArray< size_t, 1 > &globalIndex=CArray< size_t, 1 >()) | |
CDistributionServer (int rank, const std::vector< int > &nBeginServer, const std::vector< int > &nSizeServer, const std::vector< int > &nGlobal) | |
CDistributionServer (int rank, const std::vector< int > &nBeginServer, const std::vector< int > &nSizeServer, const std::vector< int > &nBeginGlobal, const std::vector< int > &nGlobal) | |
CDistributionServer (int rank, const std::vector< CArray< int, 1 > > &globalIndexElements, const CArray< int, 1 > &elementOrder, const std::vector< int > &nBeginServer, const std::vector< int > &nSizeServer, const std::vector< int > &nBeginGlobal, const std::vector< int > &nGlobal) | |
virtual | ~CDistributionServer () |
const GlobalLocalMap & | getGlobalLocalIndex () const |
int | getGridSize () const |
Get the size of grid index in server (e.x: sizeGrid *= size of each dimensiion) Plus de détails... | |
virtual void | computeLocalIndex (CArray< size_t, 1 > &globalIndex) |
Compute local index for writing data on server. Plus de détails... | |
virtual void | computeGlobalIndex (CArray< int, 1 > &indexes) const |
Transforms local indexes owned by the server into global indexes. Plus de détails... | |
virtual void | partialClear (void) |
Fonctions membres publiques inherited from xios::CDistribution | |
CDistribution (int rank, int dims, const CArray< size_t, 1 > &globalIndex=CArray< size_t, 1 >()) | |
virtual | ~CDistribution () |
int | getDims () const |
int | getRank () const |
Get dimension size. Plus de détails... | |
const CArray< size_t, 1 > & | getGlobalIndex () const |
Get rank of current process. Plus de détails... | |
Fonctions membres protégées | |
virtual void | createGlobalIndex () |
clear heavy sized attibutes Plus de détails... | |
void | createGlobalIndex (const std::vector< CArray< int, 1 > > &globalIndexElements, const CArray< int, 1 > &elementOrder) |
Create global index on server side Like the similar function on client side, this function serves on creating global index for data written by the server. Plus de détails... | |
Attributs protégés | |
GlobalLocalMap | globalLocalIndexMap_ |
Attributs protégés inherited from xios::CDistribution | |
CArray< size_t, 1 > | globalIndex_ |
int | dims_ |
int | rank_ |
Attributs privés | |
std::vector< int > | nGlobal_ |
std::vector< int > | nBeginGlobal_ |
std::vector< int > | nSize_ |
std::vector< int > | nBegin_ |
Additional Inherited Members | |
Types publics inherited from xios::CDistribution | |
typedef std::unordered_map < size_t, int > | GlobalLocalMap |
The class, for now, plays a role of computing local index for writing data on server.
Définition à la ligne 21 du fichier distribution_server.hpp.
xios::CDistributionServer::CDistributionServer | ( | int | rank, |
int | dims, | ||
const CArray< size_t, 1 > & | globalIndex = CArray< size_t, 1 >() |
||
) |
Default constructor
xios::CDistributionServer::CDistributionServer | ( | int | rank, |
const std::vector< int > & | nBeginServer, | ||
const std::vector< int > & | nSizeServer, | ||
const std::vector< int > & | nGlobal | ||
) |
xios::CDistributionServer::CDistributionServer | ( | int | rank, |
const std::vector< int > & | nBeginServer, | ||
const std::vector< int > & | nSizeServer, | ||
const std::vector< int > & | nBeginGlobal, | ||
const std::vector< int > & | nGlobal | ||
) |
Définition à la ligne 14 du fichier distribution_server.cpp.
Références createGlobalIndex().
xios::CDistributionServer::CDistributionServer | ( | int | rank, |
const std::vector< CArray< int, 1 > > & | globalIndexElements, | ||
const CArray< int, 1 > & | elementOrder, | ||
const std::vector< int > & | nBeginServer, | ||
const std::vector< int > & | nSizeServer, | ||
const std::vector< int > & | nBeginGlobal, | ||
const std::vector< int > & | nGlobal | ||
) |
Définition à la ligne 24 du fichier distribution_server.cpp.
Références createGlobalIndex().
|
virtual |
Default destructor
Définition à la ligne 37 du fichier distribution_server.cpp.
|
virtual |
Transforms local indexes owned by the server into global indexes.
[in/out] | indexes on input, local indexes of the server, on output, the corresponding global indexes |
Définition à la ligne 201 du fichier distribution_server.cpp.
Références xios::CDistribution::globalIndex_.
Référencé par xios::CNc4DataOutput::writeGridCompressed_().
|
virtual |
Compute local index for writing data on server.
[in] | globalIndex | Global index received from client |
Définition à la ligne 176 du fichier distribution_server.cpp.
Références xios::CDistribution::globalIndex_, globalLocalIndexMap_, et xios::CArray< ValueType, NumDims, Allocator >::reference().
|
protectedvirtual |
clear heavy sized attibutes
Create global index on server side Like the similar function on client side, this function serves on creating global index for data written by the server.
The global index is used to calculating local index of data written on each server
Réimplémentée à partir de xios::CDistribution.
Définition à la ligne 47 du fichier distribution_server.cpp.
Références xios::CDistribution::dims_, xios::CDistribution::getDims(), xios::CDistribution::globalIndex_, globalLocalIndexMap_, nBegin_, nGlobal_, nSize_, et xios::CArray< ValueType, NumDims, Allocator >::resize().
Référencé par CDistributionServer().
|
protected |
Create global index on server side Like the similar function on client side, this function serves on creating global index for data written by the server.
The global index is used to calculating local index of data written on each server
[in] | globalIndexElement | global index on server side of each element of grid (scalar, axis, domain) |
[in] | elementOrder | the order of elements of grid (e.x: domain->axis or domain->scalar) |
Définition à la ligne 99 du fichier distribution_server.cpp.
Références xios::CDistribution::globalIndex_, globalLocalIndexMap_, nGlobal_, xios::numElement, et xios::CArray< ValueType, NumDims, Allocator >::resize().
|
inline |
Définition à la ligne 44 du fichier distribution_server.hpp.
Références globalLocalIndexMap_.
Référencé par xios::CGrid::computeWrittenIndex().
int xios::CDistributionServer::getGridSize | ( | ) | const |
Get the size of grid index in server (e.x: sizeGrid *= size of each dimensiion)
Définition à la ligne 212 du fichier distribution_server.cpp.
Références globalLocalIndexMap_.
Référencé par xios::CGrid::recvIndex().
|
virtual |
Définition à la ligne 217 du fichier distribution_server.cpp.
Références globalLocalIndexMap_.
Référencé par xios::CGrid::computeIndex().
|
protected |
Définition à la ligne 57 du fichier distribution_server.hpp.
Référencé par computeLocalIndex(), createGlobalIndex(), getGlobalLocalIndex(), getGridSize(), et partialClear().
|
private |
Définition à la ligne 63 du fichier distribution_server.hpp.
Référencé par createGlobalIndex().
|
private |
Définition à la ligne 61 du fichier distribution_server.hpp.
|
private |
Définition à la ligne 60 du fichier distribution_server.hpp.
Référencé par createGlobalIndex().
|
private |
Définition à la ligne 62 du fichier distribution_server.hpp.
Référencé par createGlobalIndex().