XIOS
1.0
Xml I/O Server
|
#include <dht_auto_indexing.hpp>
Fonctions membres publiques | |
CDHTAutoIndexing (const CArray< size_t, 1 > &hashValue, const MPI_Comm &clientIntraComm) | |
CDHTAutoIndexing (Index2VectorInfoTypeMap &hashInitMap, const MPI_Comm &clientIntraComm) | |
Assigns a global index to unique input indexes. Plus de détails... | |
size_t | getNbIndexesGlobal () const |
Returns the total number of global indexes. Plus de détails... | |
size_t | getIndexStart () const |
Returns the starting global index for a proc. Plus de détails... | |
size_t | getIndexCount () const |
Returns the number of global indexes on a proc. Plus de détails... | |
virtual | ~CDHTAutoIndexing () |
![]() | |
CClientClientDHTTemplate (const Index2InfoTypeMap &indexInfoInitMap, const MPI_Comm &clientIntraComm) | |
CClientClientDHTTemplate (const Index2VectorInfoTypeMap &indexInfoInitMap, const MPI_Comm &clientIntraComm) | |
void | computeIndexInfoMapping (const CArray< size_t, 1 > &indices) |
const Index2VectorInfoTypeMap & | getInfoIndexMap () const |
Index2VectorInfoTypeMap & | getInfoIndexMap () |
int | getNbClient () |
virtual | ~CClientClientDHTTemplate () |
Attributs protégés | |
std::vector< size_t > | globalIndex_ |
size_t | nbIndexesGlobal_ |
size_t | nbIndexOnProc_ |
size_t | beginIndexOnProc_ |
![]() | |
Index2VectorInfoTypeMap | index2InfoMapping_ |
Mapping of global index to the corresponding client. Plus de détails... | |
Index2VectorInfoTypeMap | indexToInfoMappingLevel_ |
A mapping of index to the corresponding information in each level of hierarchy. Plus de détails... | |
std::vector< std::vector< int > > | sendRank_ |
Rank of client to send on each DHT level. Plus de détails... | |
std::vector< std::vector< int > > | recvRank_ |
Rank of client to receive on each DHT level. Plus de détails... | |
bool | isDataDistributed_ |
Flag to specify whether data is distributed or not. Plus de détails... | |
int | nbClient_ |
Number of client. Plus de détails... | |
![]() | |
const MPI_Comm & | internalComm_ |
std::vector< std::vector< int > > | groupParentsBegin_ |
std::vector< std::vector< int > > | nbInGroupParents_ |
int | level_ |
std::vector< int > | groupBegin_ |
std::vector< int > | nbInGroup_ |
Rank beginning of a group. Plus de détails... | |
bool | computed_ |
Number of process in each group. Plus de détails... | |
Additional Inherited Members | |
![]() | |
typedef size_t | InfoType |
typedef std::unordered_map < size_t, InfoType > | Index2InfoTypeMap |
typedef std::unordered_map < size_t, std::vector < InfoType > > | Index2VectorInfoTypeMap |
![]() | |
static const int | infoTypeSize |
![]() | |
CClientClientDHTTemplate (const MPI_Comm &clientIntraComm) | |
void | computeDistributedIndex (const Index2InfoTypeMap &indexInfoInitMap, const MPI_Comm &intraCommLevel, int level) |
void | computeDistributedIndex (const Index2VectorInfoTypeMap &indexInfoInitMap, const MPI_Comm &intraCommLevel, int level) |
void | computeHashIndex (std::vector< size_t > &indexClientHash, int nbClient) |
void | computeIndexInfoMappingLevel (const CArray< size_t, 1 > &indices, const MPI_Comm &intraCommLevel, int level) |
void | computeSendRecvRank (int level, int rank) |
void | sendRecvRank (int level, const std::vector< int > &sendNbRank, const std::vector< int > &sendNbElements, std::vector< int > &recvNbRank, std::vector< int > &recvNbElements) |
void | sendInfoToClients (int clientDestRank, unsigned char *info, int infoSize, const MPI_Comm &clientIntraComm, std::vector< MPI_Request > &requestSendInfo) |
void | recvInfoFromClients (int clientSrcRank, unsigned char *info, int infoSize, const MPI_Comm &clientIntraComm, std::vector< MPI_Request > &requestRecvInfo) |
void | sendIndexToClients (int clientDestRank, size_t *indices, size_t indiceSize, const MPI_Comm &clientIntraComm, std::vector< MPI_Request > &requestSendIndexGlobal) |
void | recvIndexFromClients (int clientSrcRank, size_t *indices, size_t indiceSize, const MPI_Comm &clientIntraComm, std::vector< MPI_Request > &requestRecvIndex) |
void | sendRecvOnReturn (const std::vector< int > &sendNbRank, std::vector< int > &sendNbElements, const std::vector< int > &recvNbRank, std::vector< int > &recvNbElements) |
![]() | |
DivideAdaptiveComm (const MPI_Comm &mpiComm) | |
Calculate MPI communicator for each level of hierarchy. Plus de détails... | |
void | computeMPICommLevel () |
const std::vector< int > & | getGroupBegin () |
const std::vector< int > & | getNbInGroup () |
const std::vector< std::vector < int > > & | getGroupParentsBegin () |
const std::vector< std::vector < int > > & | getNbInGroupParents () |
int | getNbLevel () |
Définition à la ligne 22 du fichier dht_auto_indexing.hpp.
xios::CDHTAutoIndexing::CDHTAutoIndexing | ( | const CArray< size_t, 1 > & | hashValue, |
const MPI_Comm & | clientIntraComm | ||
) |
[in] | \param | [in] |
Définition à la ligne 23 du fichier dht_auto_indexing.cpp.
Références beginIndexOnProc_, globalIndex_, nbIndexesGlobal_, nbIndexOnProc_, et xios::CArray< ValueType, NumDims, Allocator >::size().
xios::CDHTAutoIndexing::CDHTAutoIndexing | ( | Index2VectorInfoTypeMap & | hashInitMap, |
const MPI_Comm & | clientIntraComm | ||
) |
Assigns a global index to unique input indexes.
The returned map has unique indexes as a key and global indexes as a mapped value.
[in] | hashInitMap | map<size_t, vector<size_t>> is a map of unique indexes. |
[in] | clientIntraComm |
Définition à la ligne 59 du fichier dht_auto_indexing.cpp.
Références beginIndexOnProc_, globalIndex_, nbIndexesGlobal_, et nbIndexOnProc_.
|
virtual |
Default destructor
Définition à la ligne 14 du fichier dht_auto_indexing.cpp.
size_t xios::CDHTAutoIndexing::getIndexCount | ( | ) | const |
Returns the number of global indexes on a proc.
Définition à la ligne 110 du fichier dht_auto_indexing.cpp.
Références nbIndexOnProc_.
size_t xios::CDHTAutoIndexing::getIndexStart | ( | ) | const |
Returns the starting global index for a proc.
Définition à la ligne 101 du fichier dht_auto_indexing.cpp.
Références beginIndexOnProc_.
size_t xios::CDHTAutoIndexing::getNbIndexesGlobal | ( | ) | const |
Returns the total number of global indexes.
Définition à la ligne 92 du fichier dht_auto_indexing.cpp.
Références nbIndexesGlobal_.
|
protected |
Définition à la ligne 43 du fichier dht_auto_indexing.hpp.
Référencé par CDHTAutoIndexing(), et getIndexStart().
|
protected |
Définition à la ligne 40 du fichier dht_auto_indexing.hpp.
Référencé par CDHTAutoIndexing().
|
protected |
Définition à la ligne 41 du fichier dht_auto_indexing.hpp.
Référencé par CDHTAutoIndexing(), et getNbIndexesGlobal().
|
protected |
Définition à la ligne 42 du fichier dht_auto_indexing.hpp.
Référencé par CDHTAutoIndexing(), et getIndexCount().