24 const MPI_Comm& clientIntraComm)
30 MPI_Scan(&
nbIndexOnProc_, &nbIndexAccum, 1, MPI_UNSIGNED_LONG, MPI_SUM, clientIntraComm);
34 MPI_Comm_rank(clientIntraComm, &rank);
35 MPI_Comm_size(clientIntraComm, &size);
40 iteIdx = hashValue.end();
45 for (itIdx = itbIdx; itIdx != iteIdx; ++itIdx)
60 const MPI_Comm& clientIntraComm)
66 MPI_Scan(&
nbIndexOnProc_, &nbIndexAccum, 1, MPI_UNSIGNED_LONG, MPI_SUM, clientIntraComm);
69 MPI_Comm_rank(clientIntraComm, &rank);
70 MPI_Comm_size(clientIntraComm, &size);
74 Index2VectorInfoTypeMap::iterator itbIdx = hashInitMap.begin(), itIdx,
75 iteIdx = hashInitMap.end();
79 for (itIdx = itbIdx; itIdx != iteIdx; ++itIdx)
virtual size_t size(void) const
Auto assign global index across processes.
std::vector< size_t > globalIndex_
virtual ~CDHTAutoIndexing()
This class provides the similar features like.
size_t getNbIndexesGlobal() const
Returns the total number of global indexes.
std::unordered_map< size_t, std::vector< InfoType > > Index2VectorInfoTypeMap
size_t getIndexStart() const
Returns the starting global index for a proc.
CDHTAutoIndexing(const CArray< size_t, 1 > &hashValue, const MPI_Comm &clientIntraComm)
size_t getIndexCount() const
Returns the number of global indexes on a proc.