Changeset 403


Ignore:
Timestamp:
01/10/13 17:33:18 (12 years ago)
Author:
ymipsl
Message:

Give the hand at each time step to the mpi library for better asynchronism

YM

Location:
XIOS/trunk/src/interface/c
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/interface/c/icdata.cpp

    r382 r403  
    2121#include "field.hpp" 
    2222#include "context.hpp" 
     23#include "context_client.hpp" 
    2324#include "mpi.hpp" 
    2425#include "timer.hpp" 
    2526#include "array_new.hpp" 
     27 
    2628 
    2729extern "C" 
     
    112114      CTimer::get("XIOS send field").resume() ; 
    113115      CContext* context = CContext::getCurrent() ; 
    114  
     116      if (!context->hasServer) context->client->checkBuffers() ; 
    115117      CArray<double,(StdSize)1> data(data_k8,shape(data_Xsize),neverDeleteData) ; 
    116118      CField::get(fieldid_str)->setData(data) ; 
     
    129131      CTimer::get("XIOS send field").resume() ; 
    130132      CContext* context = CContext::getCurrent() ; 
     133      if (!context->hasServer) context->client->checkBuffers() ; 
    131134       
    132135      CArray<double,2>data(data_k8,shape(data_Xsize,data_Ysize),neverDeleteData) ; 
     
    144147      CTimer::get("XIOS send field").resume() ; 
    145148      CContext* context = CContext::getCurrent() ; 
     149      if (!context->hasServer) context->client->checkBuffers() ; 
    146150 
    147151      CArray<double,3>data(data_k8,shape(data_Xsize,data_Ysize,data_Zsize),neverDeleteData) ; 
     
    159163      CTimer::get("XIOS send field").resume() ; 
    160164      CContext* context = CContext::getCurrent() ; 
     165      if (!context->hasServer) context->client->checkBuffers() ; 
     166 
    161167      CArray<float,1> data_tmp(data_k4,shape(data_Xsize),neverDeleteData) ; 
    162168      CArray<double,1> data(data_Xsize) ; 
     
    175181      CTimer::get("XIOS send field").resume() ; 
    176182      CContext* context = CContext::getCurrent() ; 
     183      if (!context->hasServer) context->client->checkBuffers() ; 
     184 
    177185      CArray<float,2> data_tmp(data_k4,shape(data_Xsize,data_Ysize),neverDeleteData) ; 
    178186      CArray<double,2> data(data_Xsize,data_Ysize) ; 
     
    192200      CTimer::get("XIOS send field").resume() ; 
    193201      CContext* context = CContext::getCurrent() ; 
     202      if (!context->hasServer) context->client->checkBuffers() ; 
    194203 
    195204      CArray<float,3> data_tmp(data_k4,shape(data_Xsize,data_Ysize,data_Zsize),neverDeleteData) ; 
  • XIOS/trunk/src/interface/c/icdate.cpp

    r352 r403  
    1717#include "timer.hpp" 
    1818#include "context.hpp" 
     19#include "context_client.hpp" 
    1920 
    2021extern "C" 
     
    4647      CTimer::get("XIOS").resume() ; 
    4748      xios::CContext* context = CContext::getCurrent() ; 
     49      if (!context->hasServer) context->client->checkBuffers() ; 
    4850      context->updateCalendar(step) ; 
    4951      context->sendUpdateCalendar(step) ; 
Note: See TracChangeset for help on using the changeset viewer.