Ignore:
Timestamp:
06/04/19 10:00:52 (5 years ago)
Author:
yushan
Message:

MARK: branch merged with trunk @1663. One output graph file with output file names in file writer filter.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_trunk_omp/src/workflow_graph.cpp

    r1670 r1671  
    44{ 
    55 
    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; 
    77  #pragma omp threadprivate(CWorkflowGraph::mapFieldToFilters_ptr) 
    88 
    9   std::unordered_map < StdString, std::unordered_map <int, StdString>  > *CWorkflowGraph::mapFilters_ptr = 0; 
     9  std::unordered_map <int, StdString> *CWorkflowGraph::mapFilters_ptr = 0; 
    1010  #pragma omp threadprivate(CWorkflowGraph::mapFilters_ptr) 
    1111 
    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; 
    1313  #pragma omp threadprivate(CWorkflowGraph::mapFilterTimestamps_ptr) 
    1414 
    15   std::unordered_map< StdString, set<Time> >  *CWorkflowGraph::timestamps_ptr = 0; 
     15  set<Time>  *CWorkflowGraph::timestamps_ptr = 0; 
    1616  #pragma omp threadprivate(CWorkflowGraph::timestamps_ptr) 
    1717 
     
    1919  vector <StdString> CWorkflowGraph::fields; 
    2020  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) 
    2721 
    2822  CWorkflowGraph::CWorkflowGraph() 
     
    3226   * Reorganize information collected by XIOS for visualization. 
    3327   */ 
    34   /* 
    35  
    3628  void CWorkflowGraph::buildStaticWorkflow() 
    3729  TRY 
     
    5850  } 
    5951  CATCH 
    60 */ 
    61  
    62   void CWorkflowGraph::buildStaticWorkflow_forfile(StdString filename) 
    63   TRY 
    64   { 
    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   CATCH 
    9052 
    9153 
     
    9658    for (auto it=mapFilters_ptr->begin(); it != mapFilters_ptr->end(); it++) 
    9759    { 
    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; 
    10061    } 
    10162    else std::cout<<"mapFilters_ptr empty"<<std::endl; 
     
    10465    for (auto it=mapFieldToFilters_ptr->begin(); it != mapFieldToFilters_ptr->end(); it++) 
    10566    { 
    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++) 
    10768      { 
    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; 
    11070      } 
    11171    } 
    11272    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()) 
    11575    for (auto it=mapFilterTimestamps_ptr->begin(); it != mapFilterTimestamps_ptr->end(); it++) 
    11676    { 
     
    13393 
    13494} 
    135  
Note: See TracChangeset for help on using the changeset viewer.