Ignore:
Timestamp:
04/08/16 15:00:15 (8 years ago)
Author:
mhnguyen
Message:

Improvements for dht

+) Implement adaptive hierarchy for dht, level of hierarchy depends on number of processes
+) Remove some redundant codes

Test
+) On Curie
+) All tests are correct

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/client_client_dht_template.hpp

    r830 r833  
    2020namespace xios 
    2121{ 
    22 template<typename T, class HierarchyPolicy = DivideCommByTwo> class CClientClientDHTTemplate; 
     22template<typename T, class HierarchyPolicy = DivideAdaptiveComm> class CClientClientDHTTemplate; 
    2323 
    2424/*! 
     
    6161                                      int level); 
    6262 
     63    void computeSendRecvRank(int level, int rank); 
     64 
     65    void sendRecvRank(int level, 
     66                      const std::vector<int>& sendNbRank, const std::vector<int>& sendNbElements, 
     67                      int& recvNbRank, int& recvNbElements); 
     68 
    6369  protected: 
    6470    void probeIndexMessageFromClients(unsigned long* recvIndexGlobalBuff, 
     
    8187 
    8288    // Send global index to clients 
    83     void sendIndexToClients(int clientDestRank, std::vector<size_t>& indexGlobal, 
     89    void sendIndexToClients(int clientDestRank, size_t* indices, size_t indiceSize, 
    8490                            const MPI_Comm& clientIntraComm, std::list<MPI_Request>& requestSendIndexGlobal); 
    8591 
     
    100106    Index2InfoTypeMap indexToInfoMappingLevel_; 
    101107 
    102     //! intracommuntion of clients 
    103     MPI_Comm intraCommRoot_; 
     108    std::vector<std::vector<int> > sendRank_; 
     109 
     110    std::vector<std::vector<int> > recvRank_; 
    104111 
    105112    //! Flag to specify whether data is distributed or not 
Note: See TracChangeset for help on using the changeset viewer.