Changeset 1336
- Timestamp:
- 11/20/17 16:29:55 (7 years ago)
- Location:
- XIOS/dev/XIOS_DEV_CMIP6/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/XIOS_DEV_CMIP6/src/client_server_mapping.hpp
r1158 r1336 34 34 35 35 // Only need global index on client to calculate mapping (supposed client has info of distribution) 36 virtual void computeServerIndexMapping(const CArray<size_t,1>& globalIndexOnClient ) = 0;36 virtual void computeServerIndexMapping(const CArray<size_t,1>& globalIndexOnClient, int nbServer) = 0; 37 37 38 38 static std::map<int,int> computeConnectedClients(int nbServer, int nbClient, -
XIOS/dev/XIOS_DEV_CMIP6/src/client_server_mapping_distributed.cpp
r1054 r1336 35 35 Compute mapping global index of server which client sends to. 36 36 \param [in] globalIndexOnClient global index client has 37 \param [in] nbServer size of server's intracomm 37 38 */ 38 void CClientServerMappingDistributed::computeServerIndexMapping(const CArray<size_t,1>& globalIndexOnClient )39 void CClientServerMappingDistributed::computeServerIndexMapping(const CArray<size_t,1>& globalIndexOnClient, int nbServer) 39 40 { 40 CContext* context=CContext::getCurrent() ;41 // CContextClient* client=context->client ;42 // For now the assumption is that secondary server pools consist of the same number of procs.43 // CHANGE the line below if the assumption changes.44 CContextClient* client = (0 != context->clientPrimServer.size()) ? context->clientPrimServer[0] : context->client;45 int nbServer=client->serverSize;46 41 47 42 ccDHT_->computeIndexInfoMapping(globalIndexOnClient); -
XIOS/dev/XIOS_DEV_CMIP6/src/client_server_mapping_distributed.hpp
r835 r1336 38 38 bool isDataDistributed = true); 39 39 40 virtual void computeServerIndexMapping(const CArray<size_t,1>& globalIndexOnClientSendToServer );40 virtual void computeServerIndexMapping(const CArray<size_t,1>& globalIndexOnClientSendToServer, int nbServer); 41 41 42 42 /** Default destructor */ -
XIOS/dev/XIOS_DEV_CMIP6/src/node/axis.cpp
r1330 r1336 603 603 // Find out the connection between client and server side 604 604 CClientServerMapping* clientServerMap = new CClientServerMappingDistributed(serverDescription.getGlobalIndexRange(), client->intraComm); 605 clientServerMap->computeServerIndexMapping(globalIndex );605 clientServerMap->computeServerIndexMapping(globalIndex, nbServer); 606 606 CClientServerMapping::GlobalIndexMap& globalIndexAxisOnServer = clientServerMap->getGlobalIndexOnServer(); 607 607 -
XIOS/dev/XIOS_DEV_CMIP6/src/node/domain.cpp
r1330 r1336 1844 1844 CClientServerMapping* clientServerMap = new CClientServerMappingDistributed(serverDescription.getGlobalIndexRange(), 1845 1845 client->intraComm); 1846 clientServerMap->computeServerIndexMapping(globalIndexDomain );1846 clientServerMap->computeServerIndexMapping(globalIndexDomain, nbServer); 1847 1847 CClientServerMapping::GlobalIndexMap& globalIndexDomainOnServer = clientServerMap->getGlobalIndexOnServer(); 1848 1848 -
XIOS/dev/XIOS_DEV_CMIP6/src/transformation/domain_algorithm_interpolate.cpp
r1317 r1336 564 564 } 565 565 566 domainIndexClientClientMapping.computeServerIndexMapping(globalIndexInterp );566 domainIndexClientClientMapping.computeServerIndexMapping(globalIndexInterp, client->serverSize); 567 567 const CClientServerMapping::GlobalIndexMap& globalIndexInterpSendToClient = domainIndexClientClientMapping.getGlobalIndexOnServer(); 568 568
Note: See TracChangeset
for help on using the changeset viewer.