Ignore:
Timestamp:
07/28/16 10:56:52 (5 years ago)
Author:
mhnguyen
Message:

Fixing bug: Ticket 98

+) Correct the way to distribute index of domain (axis) in case there are more
clients than number of index

Test
+) On Curie
+) Small grid (2x2x1) and 6 clients - 1 server: Pass

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/client_server_mapping_distributed.cpp

    r860 r906  
    1313#include "utils.hpp" 
    1414#include "mpi_tag.hpp" 
     15#include "context.hpp" 
     16#include "context_client.hpp" 
    1517 
    1618namespace xios 
     
    3638void CClientServerMappingDistributed::computeServerIndexMapping(const CArray<size_t,1>& globalIndexOnClient) 
    3739{ 
     40  CContext* context=CContext::getCurrent() ; 
     41  CContextClient* client=context->client ; 
     42  int nbServer=client->serverSize; 
     43 
    3844  ccDHT_->computeIndexInfoMapping(globalIndexOnClient); 
    3945  const CClientClientDHTInt::Index2VectorInfoTypeMap& infoIndexMap = (ccDHT_->getInfoIndexMap()); 
    4046  CClientClientDHTInt::Index2VectorInfoTypeMap::const_iterator itb = infoIndexMap.begin(), ite = infoIndexMap.end(), it; 
    41   std::vector<size_t> nbInfoIndex(ccDHT_->getNbClient(),0); 
     47  std::vector<size_t> nbInfoIndex(nbServer,0); 
    4248 
    4349  for (it = itb; it != ite; ++it) 
Note: See TracChangeset for help on using the changeset viewer.