Ignore:
Timestamp:
02/17/17 19:51:36 (7 years ago)
Author:
oabramkina
Message:

dev: intermediate commit.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_olga/src/node/grid.cpp

    r1030 r1054  
    630630     computeClientIndex(); 
    631631     if (context->hasClient) 
    632       computeConnectedClients(); 
     632     { 
     633       computeConnectedClients(); 
     634     } 
    633635 
    634636 
     
    792794         } 
    793795 
    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) 
    796819         { 
    797820           const std::vector<int>& tmp = it->second; 
     
    808831         } 
    809832       } 
     833     } 
    810834 
    811835      // Determine server which contain global source index 
     
    12361260    // int nbSrvPools = (context->hasServer) ? context->clientPrimServer.size() : 1; 
    12371261    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 ; 
    12411265 
    12421266      CEventClient event(getType(), EVENT_ID_INDEX); 
     
    13971421    int nbSrvPools = (context->hasServer) ? (context->hasClient ? context->clientPrimServer.size() : 1) : 1; 
    13981422    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]; 
    14031429      numberWrittenIndexes_ = totalNumberWrittenIndexes_ = offsetWrittenIndexes_ = 0; 
    14041430      connectedServerRank_ = ranks; 
     
    15031529        else 
    15041530        { 
    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 
    15071539        } 
    15081540        writtenDataSize_ += dataSize; 
Note: See TracChangeset for help on using the changeset viewer.