Ignore:
Timestamp:
09/20/21 18:18:17 (3 years ago)
Author:
ymipsl
Message:

Fix problem in remoteConnector when computing grid to sent to server.
Some optimisations when grid is not distributed need knowledge of the workflow view.
New CGridClientServerConnector class created based on CGridRemoteConnector.

YM

File:
1 edited

Legend:

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

    r2206 r2236  
    1818#include "server.hpp" 
    1919#include "distribution_type.hpp" 
    20 #include "grid_remote_connector.hpp" 
     20#include "grid_client_server_remote_connector.hpp" 
    2121#include "grid_elements.hpp" 
    2222#include "grid_local_view.hpp" 
     
    14291429     
    14301430    vector<CLocalView*> localViews ; 
     1431    vector<CLocalView*> workflowView ; 
    14311432    vector<CDistributedView*> remoteViews ; 
    14321433 
     
    14391440         remoteViews.push_back(domain->getRemoteElement(client)->getView(CElementView::FULL)) ; 
    14401441         localViews.push_back(domain->getLocalView(CElementView::FULL)) ; 
     1442         workflowView.push_back(domain->getLocalView(CElementView::WORKFLOW)) ; 
    14411443      } 
    14421444      else if (elements[i].type==TYPE_AXIS) 
     
    14461448        remoteViews.push_back(axis->getRemoteElement(client)->getView(CElementView::FULL)) ; 
    14471449        localViews.push_back(axis->getLocalView(CElementView::FULL)) ; 
     1450        workflowView.push_back(axis->getLocalView(CElementView::WORKFLOW)) ; 
    14481451      } 
    14491452      else if (elements[i].type==TYPE_SCALAR) 
     
    14531456        remoteViews.push_back(scalar->getRemoteElement(client)->getView(CElementView::FULL)) ; 
    14541457        localViews.push_back(scalar->getLocalView(CElementView::FULL)) ; 
    1455       } 
    1456     } 
    1457     CGridRemoteConnector gridRemoteConnector(localViews, remoteViews, context->getIntraComm(), client->getRemoteSize()) ; 
     1458        workflowView.push_back(scalar->getLocalView(CElementView::WORKFLOW)) ; 
     1459      } 
     1460    } 
     1461     
     1462    // CGridClientServerRemoteConnector : workflowView is added to avoid spurious optimisation with only the fullview 
     1463    CGridClientServerRemoteConnector gridRemoteConnector(localViews, workflowView, remoteViews, context->getIntraComm(), client->getRemoteSize()) ; 
    14581464    gridRemoteConnector.computeConnector() ; 
    14591465     
Note: See TracChangeset for help on using the changeset viewer.