Changeset 1081 for XIOS/dev/branch_yushan/src/cxios.cpp
- Timestamp:
- 03/31/17 20:26:21 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_yushan/src/cxios.cpp
r1079 r1081 14 14 namespace xios 15 15 { 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) 20 21 21 22 bool CXios::isClient ; 22 23 bool CXios::isServer ; 24 #pragma omp threadprivate(CXios::isServer, CXios::isClient) 25 23 26 MPI_Comm CXios::globalComm ; 27 #pragma omp threadprivate(CXios::globalComm) 24 28 25 29 bool CXios::usingOasis ; 26 30 bool CXios::usingServer = false; 31 #pragma omp threadprivate(CXios::usingOasis, CXios::usingServer) 32 27 33 double CXios::bufferSizeFactor = 1.0; 28 34 const double CXios::defaultBufferSizeFactor = 1.0; 29 35 StdSize CXios::minBufferSize = 1024 * sizeof(double); 36 #pragma omp threadprivate(CXios::bufferSizeFactor, CXios::defaultBufferSizeFactor, CXios::minBufferSize) 37 30 38 bool CXios::printLogs2Files; 31 39 bool CXios::isOptPerformance = true; 32 40 CRegistry* CXios::globalRegistry = 0; 41 #pragma omp threadprivate(CXios::printLogs2Files, CXios::isOptPerformance) 42 33 43 34 44 //! Parse configuration file and create some objects from it … … 36 46 { 37 47 set_new_handler(noMemory); 48 38 49 #pragma omp critical 39 50 { 40 51 parseFile(rootFile); 41 52 } 53 #pragma omp barrier 42 54 parseXiosConfig(); 43 55 } … … 95 107 CXios::globalComm = passage[omp_get_thread_num()]; 96 108 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); 100 114 //if(isServer) printf("server thread %d/%d, globalComm = %p\n", omp_get_thread_num(), tmp_rank, &globalComm); 101 115 … … 122 136 isServer = !usingServer; 123 137 124 printf("CXios::initClientSide OK, printLogs2Files = %d\n", printLogs2Files);138 //printf("CXios::initClientSide OK, printLogs2Files = %d\n", printLogs2Files); 125 139 126 140 if (printLogs2Files) 127 141 { 128 142 CClient::openInfoStream(clientFile); 129 CClient::openErrorStream(clientFile);143 //CClient::openErrorStream(clientFile); 130 144 } 131 145 else … … 173 187 std::set<StdString> parseList; 174 188 parseList.insert("xios"); 189 175 190 xml::CXMLParser::ParseFile(rootFile, parseList); 191 176 192 parseXiosConfig(); 177 193 }
Note: See TracChangeset
for help on using the changeset viewer.