Ignore:
Timestamp:
05/21/12 17:57:22 (12 years ago)
Author:
ymipsl
Message:
  • Supress lot of shared_ptr
  • instrument code for vampir-trace and timer diagnostic

YM

File:
1 edited

Legend:

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

    r346 r347  
    2222#include "field_impl.hpp" 
    2323#include <mpi.h> 
     24#include "timer.hpp" 
    2425 
    2526extern "C" 
     
    3637   void cxios_init_server(void) 
    3738   { 
     39     CTimer::get("XIOS").resume() ; 
    3840     CXios::initServerSide();       
     41     CTimer::get("XIOS").suspend() ; 
    3942   } 
    4043 
     
    4649       
    4750      if (!cstr2string(client_id, len_client_id, str)) return; 
    48        
     51 
     52      CTimer::get("XIOS").resume() ; 
     53      CTimer::get("XIOS init").resume() ; 
    4954      int initialized ; 
    5055      MPI_Initialized(&initialized) ; 
     
    5358      CXios::initClientSide(str,local_comm,return_comm); 
    5459      *f_return_comm=MPI_Comm_c2f(return_comm) ; 
     60      CTimer::get("XIOS init").suspend() ; 
     61      CTimer::get("XIOS").suspend() ; 
    5562   } 
    5663 
     
    6168      
    6269     if (!cstr2string(context_id, len_context_id, str)) return; 
     70     CTimer::get("XIOS").resume() ; 
     71     CTimer::get("XIOS init context").resume() ; 
    6372     comm=MPI_Comm_f2c(*f_comm) ; 
    6473     CClient::registerContext(str,comm) ; 
     74     CTimer::get("XIOS init context").suspend() ; 
     75     CTimer::get("XIOS").suspend() ; 
    6576   } 
    6677  
    6778    void cxios_context_close_definition() 
    6879   { 
    69      boost::shared_ptr<CContext> context = CContext::getCurrent() ; 
     80     CTimer::get("XIOS").resume() ; 
     81     CTimer::get("XIOS close definition").resume() ; 
     82     CContext* context = CContext::getCurrent() ; 
    7083     context->closeDefinition() ; 
     84     CTimer::get("XIOS close definition").suspend() ; 
     85     CTimer::get("XIOS").suspend() ; 
    7186   }   
    7287 
    7388   void cxios_context_finalize() 
    7489   { 
    75      boost::shared_ptr<CContext> context = CContext::getCurrent() ; 
     90     CTimer::get("XIOS").resume() ; 
     91     CTimer::get("XIOS context finalize").resume() ; 
     92     CContext* context = CContext::getCurrent() ; 
    7693     context->finalize() ; 
     94     CTimer::get("XIOS context finalize").suspend() ; 
     95     CTimer::get("XIOS").suspend() ; 
    7796   } 
    7897    
    7998   void cxios_finalize() 
    8099   { 
     100     CTimer::get("XIOS").resume() ; 
     101     CTimer::get("XIOS finalize").resume() ; 
    81102     CXios::clientFinalize() ; 
     103     CTimer::get("XIOS finalize").suspend() ; 
     104     CTimer::get("XIOS").suspend() ; 
    82105   } 
    83106 
     
    89112   { 
    90113      std::string fieldid_str; 
    91       boost::shared_ptr<CContext> context = CContext::getCurrent() ; 
    92       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;  
    93        
     114      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;  
     115       
     116      CTimer::get("XIOS").resume() ; 
     117      CTimer::get("XIOS send field").resume() ; 
     118      CContext* context = CContext::getCurrent() ; 
    94119//      boost::const_multi_array_ref<double, 1> array_(data_k8, 
    95120//          boost::extents [data_Xsize], 
     
    100125//      dtreat->write_data(fieldid_str, data); 
    101126      CField::get(fieldid_str)->setData(data) ; 
     127      CTimer::get("XIOS send field").suspend() ; 
     128      CTimer::get("XIOS").suspend() ; 
    102129   } 
    103130    
     
    105132   { 
    106133      std::string fieldid_str; 
    107       boost::shared_ptr<CContext> context = CContext::getCurrent() ; 
    108134      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 
     135       
     136      CTimer::get("XIOS").resume() ; 
     137      CTimer::get("XIOS send field").resume() ; 
     138      CContext* context = CContext::getCurrent() ; 
    109139       
    110140//      boost::const_multi_array_ref<double, 2> array_(data_k8, 
     
    115145//      dtreat->write_data(fieldid_str, data); 
    116146      CField::get(fieldid_str)->setData(data) ; 
     147      CTimer::get("XIOS send field").suspend() ; 
     148      CTimer::get("XIOS").suspend() ; 
    117149   } 
    118150    
     
    120152   { 
    121153      std::string fieldid_str; 
    122       boost::shared_ptr<CContext> context = CContext::getCurrent() ; 
    123       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;  
    124        
     154      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;  
     155 
     156      CTimer::get("XIOS").resume() ; 
     157      CTimer::get("XIOS send field").resume() ; 
     158      CContext* context = CContext::getCurrent() ; 
    125159//      boost::const_multi_array_ref<double, 3> array_(data_k8, 
    126160//          boost::extents [data_Xsize][data_Ysize][data_Zsize], 
     
    130164//      dtreat->write_data(fieldid_str, data); 
    131165      CField::get(fieldid_str)->setData(data) ; 
    132  
     166      CTimer::get("XIOS send field").suspend() ; 
     167      CTimer::get("XIOS").suspend() ; 
    133168   } 
    134169    
     
    136171   { 
    137172      std::string fieldid_str; 
    138       boost::shared_ptr<CContext> context = CContext::getCurrent() ; 
    139       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;  
    140        
     173     if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;  
     174 
     175      CTimer::get("XIOS").resume() ; 
     176      CTimer::get("XIOS send field").resume() ; 
     177      CContext* context = CContext::getCurrent() ; 
    141178//      boost::const_multi_array_ref<float, 1> array_(data_k4, 
    142179//          boost::extents [data_Xsize], 
     
    149186      for(int i=0;i<data->num_elements();i++) ptr_data[i]=data_k4[i]; 
    150187      CField::get(fieldid_str)->setData(data) ; 
     188      CTimer::get("XIOS send field").suspend() ; 
     189      CTimer::get("XIOS").suspend() ; 
    151190   } 
    152191    
     
    154193   { 
    155194      std::string fieldid_str; 
    156       boost::shared_ptr<CContext> context = CContext::getCurrent() ; 
    157       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;  
    158        
     195      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;  
     196 
     197      CTimer::get("XIOS").resume() ; 
     198      CTimer::get("XIOS send field").resume() ; 
     199      CContext* context = CContext::getCurrent() ; 
    159200//      boost::const_multi_array_ref<float, 2> array_(data_k4, 
    160201//          boost::extents [data_Xsize][data_Ysize], 
     
    167208      for(int i=0;i<data->num_elements();i++) ptr_data[i]=data_k4[i]; 
    168209      CField::get(fieldid_str)->setData(data) ; 
     210      CTimer::get("XIOS send field").suspend() ; 
     211      CTimer::get("XIOS").suspend() ; 
    169212   } 
    170213    
     
    172215   { 
    173216      std::string fieldid_str; 
    174       boost::shared_ptr<CContext> context = CContext::getCurrent() ; 
    175       if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;  
    176        
     217  
     218      if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return;  
     219  
     220      CTimer::get("XIOS").resume() ; 
     221      CTimer::get("XIOS send field").resume() ; 
     222      CContext* context = CContext::getCurrent() ; 
     223      
    177224//      boost::const_multi_array_ref<float, 3> array_(data_k4, 
    178225//          boost::extents [data_Xsize][data_Ysize][data_Zsize], 
     
    185232      for(int i=0;i<data->num_elements();i++) ptr_data[i]=data_k4[i]; 
    186233      CField::get(fieldid_str)->setData(data) ; 
     234      CTimer::get("XIOS send field").suspend() ; 
     235      CTimer::get("XIOS").suspend() ; 
     236 
    187237    }  
    188238 
Note: See TracChangeset for help on using the changeset viewer.