Ignore:
Timestamp:
03/31/17 20:26:21 (7 years ago)
Author:
yushan
Message:

save current modifications

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_yushan/src/cxios.cpp

    r1079 r1081  
    1414namespace xios 
    1515{ 
    16   string CXios::rootFile="./iodef.xml" ; 
    17   string CXios::xiosCodeId="xios.x" ; 
    18   string CXios::clientFile="./xios_client"; 
    19   string CXios::serverFile="./xios_server"; 
     16  const string CXios::rootFile="./iodef.xml" ; 
     17  const string CXios::xiosCodeId="xios.x" ; 
     18  const string CXios::clientFile="./xios_client"; 
     19  const string CXios::serverFile="./xios_server"; 
     20  //#pragma omp threadprivate(CXios::rootFile, CXios::xiosCodeId, CXios::clientFile, CXios::serverFile) 
    2021 
    2122  bool CXios::isClient ; 
    2223  bool CXios::isServer ; 
     24  #pragma omp threadprivate(CXios::isServer, CXios::isClient) 
     25 
    2326  MPI_Comm CXios::globalComm ; 
     27  #pragma omp threadprivate(CXios::globalComm) 
    2428   
    2529  bool CXios::usingOasis ; 
    2630  bool CXios::usingServer = false; 
     31  #pragma omp threadprivate(CXios::usingOasis, CXios::usingServer) 
     32 
    2733  double CXios::bufferSizeFactor = 1.0; 
    2834  const double CXios::defaultBufferSizeFactor = 1.0; 
    2935  StdSize CXios::minBufferSize = 1024 * sizeof(double); 
     36  #pragma omp threadprivate(CXios::bufferSizeFactor, CXios::defaultBufferSizeFactor, CXios::minBufferSize) 
     37 
    3038  bool CXios::printLogs2Files; 
    3139  bool CXios::isOptPerformance = true; 
    3240  CRegistry* CXios::globalRegistry = 0; 
     41  #pragma omp threadprivate(CXios::printLogs2Files, CXios::isOptPerformance) 
     42 
    3343 
    3444  //! Parse configuration file and create some objects from it 
     
    3646  {     
    3747    set_new_handler(noMemory); 
     48     
    3849    #pragma omp critical 
    3950    { 
    4051      parseFile(rootFile);   
    4152    } 
     53    #pragma omp barrier 
    4254    parseXiosConfig(); 
    4355  } 
     
    95107    CXios::globalComm = passage[omp_get_thread_num()]; 
    96108 
    97     // int tmp_rank; 
    98     // MPI_Comm_rank(CXios::globalComm, &tmp_rank); 
    99     // if(isClient) printf("client thread %d/%d, globalComm = %p\n", omp_get_thread_num(), tmp_rank, &(CXios::globalComm)); 
     109    int tmp_rank; 
     110    MPI_Comm_rank(CXios::globalComm, &tmp_rank); 
     111    if(isClient) printf("client thread %d/%d, globalComm = %p, passage = %p\n",  
     112                         omp_get_thread_num(), tmp_rank,  
     113                         &(CXios::globalComm), passage); 
    100114    //if(isServer) printf("server thread %d/%d, globalComm = %p\n", omp_get_thread_num(), tmp_rank, &globalComm); 
    101115     
     
    122136    isServer = !usingServer; 
    123137     
    124     printf("CXios::initClientSide OK, printLogs2Files = %d\n", printLogs2Files); 
     138    //printf("CXios::initClientSide OK, printLogs2Files = %d\n", printLogs2Files); 
    125139     
    126140    if (printLogs2Files) 
    127141    { 
    128142      CClient::openInfoStream(clientFile); 
    129       CClient::openErrorStream(clientFile); 
     143      //CClient::openErrorStream(clientFile); 
    130144    } 
    131145    else 
     
    173187    std::set<StdString> parseList; 
    174188    parseList.insert("xios"); 
     189 
    175190    xml::CXMLParser::ParseFile(rootFile, parseList); 
     191 
    176192    parseXiosConfig(); 
    177193  } 
Note: See TracChangeset for help on using the changeset viewer.