Changeset 1671 for XIOS/dev/dev_trunk_omp/src/workflow_graph.cpp
- Timestamp:
- 06/04/19 10:00:52 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_trunk_omp/src/workflow_graph.cpp
r1670 r1671 4 4 { 5 5 6 std::unordered_map < StdString, std::unordered_map <StdString, vector <int> >> *CWorkflowGraph::mapFieldToFilters_ptr = 0;6 std::unordered_map <StdString, vector <int > > *CWorkflowGraph::mapFieldToFilters_ptr = 0; 7 7 #pragma omp threadprivate(CWorkflowGraph::mapFieldToFilters_ptr) 8 8 9 std::unordered_map < StdString, std::unordered_map <int, StdString>> *CWorkflowGraph::mapFilters_ptr = 0;9 std::unordered_map <int, StdString> *CWorkflowGraph::mapFilters_ptr = 0; 10 10 #pragma omp threadprivate(CWorkflowGraph::mapFilters_ptr) 11 11 12 std::unordered_map < StdString, std::unordered_map <int, vector<Time> >> *CWorkflowGraph::mapFilterTimestamps_ptr = 0;12 std::unordered_map <int,vector<Time> > *CWorkflowGraph::mapFilterTimestamps_ptr = 0; 13 13 #pragma omp threadprivate(CWorkflowGraph::mapFilterTimestamps_ptr) 14 14 15 s td::unordered_map< StdString, set<Time>> *CWorkflowGraph::timestamps_ptr = 0;15 set<Time> *CWorkflowGraph::timestamps_ptr = 0; 16 16 #pragma omp threadprivate(CWorkflowGraph::timestamps_ptr) 17 17 … … 19 19 vector <StdString> CWorkflowGraph::fields; 20 20 vector <pair<int, int> > CWorkflowGraph::fieldsToFilters; 21 22 StdString CWorkflowGraph::my_filename = "my_filename";23 #pragma omp threadprivate(CWorkflowGraph::my_filename)24 25 std::map< StdString, int> *InvalidableObject::count_ptr=0;26 #pragma omp threadprivate(InvalidableObject::count_ptr)27 21 28 22 CWorkflowGraph::CWorkflowGraph() … … 32 26 * Reorganize information collected by XIOS for visualization. 33 27 */ 34 /*35 36 28 void CWorkflowGraph::buildStaticWorkflow() 37 29 TRY … … 58 50 } 59 51 CATCH 60 */61 62 void CWorkflowGraph::buildStaticWorkflow_forfile(StdString filename)63 TRY64 {65 // Create a list of filters (graph nodes)66 //if(mapFilters_ptr==0) mapFilters_ptr = new std::unordered_map <int, StdString>;67 //if(mapFieldToFilters_ptr==0) mapFieldToFilters_ptr = new std::unordered_map <StdString, vector <int > >;68 size_t filterIdx = 0;69 filters.resize((*mapFilters_ptr)[filename].size());70 fieldsToFilters.clear();71 fields.clear();72 73 74 for (std::unordered_map <int, StdString>::iterator it=(*mapFilters_ptr)[filename].begin(); it != (*mapFilters_ptr)[filename].end(); it++)75 {76 filters[it->first]=it->second;77 }78 79 // Create a list of fields and their filter connectivity (graph edges and edge-to-node connectivity)80 for (std::unordered_map <StdString, vector <int > >::iterator it=(*mapFieldToFilters_ptr)[filename].begin(); it != (*mapFieldToFilters_ptr)[filename].end(); it++)81 {82 for (size_t i = 0; i < (it->second.size() - 1); i+=2)83 {84 fieldsToFilters.push_back(make_pair(it->second[i],it->second[i+1]));85 fields.push_back(it->first);86 }87 }88 }89 CATCH90 52 91 53 … … 96 58 for (auto it=mapFilters_ptr->begin(); it != mapFilters_ptr->end(); it++) 97 59 { 98 for (auto it2=mapFilters_ptr->at(it->first).begin(); it2 != mapFilters_ptr->at(it->first).end(); it2++) 99 std::cout<<"mapFilters_ptr["<<it->first<<"]="<<it2->first<<" "<<it2->second<<std::endl; 60 std::cout<<"mapFilters_ptr["<<it->first<<"]="<<it->second<<std::endl; 100 61 } 101 62 else std::cout<<"mapFilters_ptr empty"<<std::endl; … … 104 65 for (auto it=mapFieldToFilters_ptr->begin(); it != mapFieldToFilters_ptr->end(); it++) 105 66 { 106 for ( auto it2=mapFieldToFilters_ptr->at(it->first).begin(); it2 != mapFieldToFilters_ptr->at(it->first).end(); it2++)67 for (size_t i = 0; i < it->second.size(); i++) 107 68 { 108 for (size_t i = 0; i < it2->second.size(); i++) 109 std::cout<<"mapFieldToFilters_ptr["<<it->first<<"]["<<it2->first<<"]["<<i<<"] = "<<it2->second[i]<<std::endl; 69 std::cout<<"mapFieldToFilters_ptr["<<it->first<<"]["<<i<<"] = "<<it->second[i]<<std::endl; 110 70 } 111 71 } 112 72 else std::cout<<"mapFieldToFilters_ptr empty"<<mapFieldToFilters_ptr<<std::endl; 113 /* 114 if(mapFilterTimestamps_ptr!=0 && !mapFilterTimestamps_ptr->empty())73 74 /*if(mapFilterTimestamps_ptr!=0 && !mapFilterTimestamps_ptr->empty()) 115 75 for (auto it=mapFilterTimestamps_ptr->begin(); it != mapFilterTimestamps_ptr->end(); it++) 116 76 { … … 133 93 134 94 } 135
Note: See TracChangeset
for help on using the changeset viewer.