Changeset 1054 for XIOS/dev/dev_olga/src/node/grid.cpp
- Timestamp:
- 02/17/17 19:51:36 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_olga/src/node/grid.cpp
r1030 r1054 630 630 computeClientIndex(); 631 631 if (context->hasClient) 632 computeConnectedClients(); 632 { 633 computeConnectedClients(); 634 } 633 635 634 636 … … 792 794 } 793 795 794 nbIndexOnServer = 0; 795 for (it = itb; it != ite; ++it) 796 // nbIndexOnServer = 0; 797 // for (it = itb; it != ite; ++it) 798 // { 799 // const std::vector<int>& tmp = it->second; 800 // nbIndexOnServerTmp = 0; 801 // for (int i = 0; i < tmp.size(); ++i) 802 // { 803 // if (0 == nbIndexOnServerTmp(tmp[i])) 804 // { 805 // globalElementIndexOnServer[idx][tmp[i]][nbIndexOnServer(tmp[i])] = it->first; 806 // ++nbIndexOnServerTmp(tmp[i]); 807 // } 808 // } 809 // nbIndexOnServer += nbIndexOnServerTmp; 810 // } 811 // } 812 813 nbIndexOnServer = 0; 814 // for (it = itb; it != ite; ++it) 815 for (size_t j = 0; j < globalIndexElementOnServerMap.size(); ++j) 816 { 817 it = globalIndexElementOnServerMap.find(globalIndexElementOnClient(j)); 818 if (it != ite) 796 819 { 797 820 const std::vector<int>& tmp = it->second; … … 808 831 } 809 832 } 833 } 810 834 811 835 // Determine server which contain global source index … … 1236 1260 // int nbSrvPools = (context->hasServer) ? context->clientPrimServer.size() : 1; 1237 1261 int nbSrvPools = (context->hasServer) ? (context->hasClient ? context->clientPrimServer.size() : 1) : 1; 1238 for (int i = 0; i < nbSrvPools; ++i)1239 { 1240 CContextClient* client = context->hasServer ? context->clientPrimServer[ i] : context->client ;1262 for (int p = 0; p < nbSrvPools; ++p) 1263 { 1264 CContextClient* client = context->hasServer ? context->clientPrimServer[p] : context->client ; 1241 1265 1242 1266 CEventClient event(getType(), EVENT_ID_INDEX); … … 1397 1421 int nbSrvPools = (context->hasServer) ? (context->hasClient ? context->clientPrimServer.size() : 1) : 1; 1398 1422 nbSrvPools = 1; 1399 for (int i = 0; i < nbSrvPools; ++i) 1400 { 1401 CContextServer* server = (context->hasServer) ? context->server : context->serverPrimServer[i]; 1402 CContextClient* client = (context->hasServer) ? context->client : context->clientPrimServer[i]; 1423 for (int p = 0; p < nbSrvPools; ++p) 1424 { 1425 CContextServer* server = (!context->hasClient) ? context->server : context->serverPrimServer[p]; 1426 CContextClient* client = (!context->hasClient) ? context->client : context->clientPrimServer[p]; 1427 // CContextServer* server = (context->hasServer) ? context->server : context->serverPrimServer[p]; 1428 // CContextClient* client = (context->hasServer) ? context->client : context->clientPrimServer[p]; 1403 1429 numberWrittenIndexes_ = totalNumberWrittenIndexes_ = offsetWrittenIndexes_ = 0; 1404 1430 connectedServerRank_ = ranks; … … 1503 1529 else 1504 1530 { 1505 dataSize = outIndex.numElements(); 1506 for (int i = 0; i < outIndex.numElements(); ++i) outIndex(i) = i; 1531 // dataSize = outIndex.numElements(); 1532 // for (int i = 0; i < outIndex.numElements(); ++i) outIndex(i) = i; 1533 // THE PROBLEM HERE IS THAT DATA CAN BE NONDISTRIBUTED ON CLIENT AND DISTRIBUTED ON SERVER 1534 // BELOW IS THE TEMPORARY FIX only for a single type of element (domain, asix, scalar) 1535 dataSize = serverDistribution_->getGlobalIndexEachDimension()[0].numElements(); 1536 outIndex.resize(dataSize); 1537 outIndex = serverDistribution_->getGlobalIndexEachDimension()[0]; 1538 1507 1539 } 1508 1540 writtenDataSize_ += dataSize;
Note: See TracChangeset
for help on using the changeset viewer.