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.

Location:
XIOS/dev/dev_trunk_omp/src/filter
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_trunk_omp/src/filter/file_writer_filter.cpp

    r1670 r1671  
    1616    if (buildWorkflowGraph) 
    1717    { 
    18       if(InvalidableObject::count_ptr == 0) InvalidableObject::count_ptr = new std::map< StdString, int>; 
    19       if(InvalidableObject::count_ptr->find(CWorkflowGraph::my_filename) == InvalidableObject::count_ptr->end()) 
    20       { 
    21         (*InvalidableObject::count_ptr)[CWorkflowGraph::my_filename] = 0;  
    22       } 
    23       //filterId = InvalidableObject::count; 
    24       filterId = (*InvalidableObject::count_ptr)[CWorkflowGraph::my_filename]; 
    25       printf("file_writer_filter ================ filterId = %d\n", (*InvalidableObject::count_ptr)[CWorkflowGraph::my_filename]); 
    26       (*InvalidableObject::count_ptr)[CWorkflowGraph::my_filename]++; 
    27       //InvalidableObject::count++; 
     18      filterId = InvalidableObject::count; 
     19      InvalidableObject::count++; 
    2820    } 
    2921  } 
  • XIOS/dev/dev_trunk_omp/src/filter/file_writer_filter.hpp

    r1668 r1671  
    33 
    44#include "input_pin.hpp" 
     5#include "file.hpp" 
    56 
    67namespace xios 
     
    2425      CFileWriterFilter(CGarbageCollector& gc, CField* field, bool buildWorkflowGraph = false); 
    2526 
    26       inline StdString GetName(void) {return StdString("File writer filter");}; 
     27      //inline StdString GetName(void) {return StdString("File writer filter");}; 
     28      inline StdString GetName(void) {return StdString("File writer filter : ") + StdString(this->field->file->name);}; 
     29 
    2730 
    2831      /*! 
  • XIOS/dev/dev_trunk_omp/src/filter/garbage_collector.hpp

    r1670 r1671  
    2020     */ 
    2121    void virtual invalidate(Time timestamp) = 0; 
    22  
    23     static std::map<StdString, int> *count_ptr; 
    24     #pragma omp threadprivate(count_ptr) 
    2522   
    2623    static int count; //!< Counter used to identify a filter in case building workflow graph 
  • XIOS/dev/dev_trunk_omp/src/filter/output_pin.cpp

    r1670 r1671  
    1212    if (buildWorkflowGraph) 
    1313    { 
    14       if(InvalidableObject::count_ptr == 0) InvalidableObject::count_ptr = new std::map< StdString, int>; 
    15       if(InvalidableObject::count_ptr->find(CWorkflowGraph::my_filename) == InvalidableObject::count_ptr->end()) 
    16       { 
    17         (*InvalidableObject::count_ptr)[CWorkflowGraph::my_filename] = 0;  
    18       } 
    19    
    20       filterId = (*InvalidableObject::count_ptr)[CWorkflowGraph::my_filename]; 
    21       printf("output_pin ================ filterId = %d, CWorkflowGraph::my_filename = %s\n", (*InvalidableObject::count_ptr)[CWorkflowGraph::my_filename], CWorkflowGraph::my_filename.c_str()); 
    22       (*InvalidableObject::count_ptr)[CWorkflowGraph::my_filename]++; 
    23  
    24       //filterId = InvalidableObject::count; 
    25       //InvalidableObject::count++; 
     14      filterId = InvalidableObject::count; 
     15      InvalidableObject::count++; 
    2616    } 
    2717  } 
     
    5242    if (buildWorkflowGraph) 
    5343    { 
    54         if(CWorkflowGraph::mapFilterTimestamps_ptr==0) CWorkflowGraph::mapFilterTimestamps_ptr = new std::unordered_map<StdString, std::unordered_map <int, vector<Time> > >;  
    55       if(CWorkflowGraph::timestamps_ptr==0) CWorkflowGraph::timestamps_ptr = new std::unordered_map< StdString, set<Time> >; 
    56       (*CWorkflowGraph::mapFilterTimestamps_ptr)[CWorkflowGraph::my_filename][this->getFilterId()].push_back(packet->timestamp); 
    57       (*CWorkflowGraph::timestamps_ptr)[CWorkflowGraph::my_filename].insert(packet->timestamp); 
     44        if(CWorkflowGraph::mapFilterTimestamps_ptr==0) CWorkflowGraph::mapFilterTimestamps_ptr = new std::unordered_map <int, vector<Time> >; 
     45      if(CWorkflowGraph::timestamps_ptr==0) CWorkflowGraph::timestamps_ptr = new set<Time>; 
     46      (*CWorkflowGraph::mapFilterTimestamps_ptr)[this->getFilterId()].push_back(packet->timestamp); 
     47        CWorkflowGraph::timestamps_ptr->insert(packet->timestamp); 
    5848    } 
    5949 
  • XIOS/dev/dev_trunk_omp/src/filter/spatial_transform_filter.cpp

    r1670 r1671  
    5656        if (buildWorkflowGraph) 
    5757        { 
    58           if(CWorkflowGraph::mapFilters_ptr==0) CWorkflowGraph::mapFilters_ptr = new std::unordered_map< StdString, std::unordered_map <int, StdString> >; 
    59           if(CWorkflowGraph::mapFieldToFilters_ptr==0) CWorkflowGraph::mapFieldToFilters_ptr = new std::unordered_map< StdString, std::unordered_map <StdString, vector <int> > >; 
     58          if(CWorkflowGraph::mapFilters_ptr==0) CWorkflowGraph::mapFilters_ptr = new std::unordered_map <int, StdString>; 
     59          if(CWorkflowGraph::mapFieldToFilters_ptr==0) CWorkflowGraph::mapFieldToFilters_ptr = new std::unordered_map <StdString, vector <int> >; 
    6060          int filterOut = (std::static_pointer_cast<COutputPin>(filter))->getFilterId(); 
    6161          int filterIn = (std::static_pointer_cast<COutputPin>(firstFilter))->getFilterId(); 
    6262          // PASS field's id here 
    63           (*CWorkflowGraph::mapFieldToFilters_ptr)[CWorkflowGraph::my_filename]["XXX"].push_back(filterOut); 
    64           (*CWorkflowGraph::mapFieldToFilters_ptr)[CWorkflowGraph::my_filename]["XXX"].push_back(filterIn); 
    65           (*CWorkflowGraph::mapFilters_ptr)[CWorkflowGraph::my_filename][filterOut] = "Spatial transform filter"; 
    66           (*CWorkflowGraph::mapFilters_ptr)[CWorkflowGraph::my_filename][filterIn] = "Spatial transform filter"; 
    67           //std::cout<<"CSpatialTransformFilter::CSpatialTransformFilter CWorkflowGraph::mapFieldToFilters_ptr->size = "<<CWorkflowGraph::mapFieldToFilters_ptr->size()<<std::endl; 
     63          (*CWorkflowGraph::mapFieldToFilters_ptr)["XXX"].push_back(filterOut); 
     64          (*CWorkflowGraph::mapFieldToFilters_ptr)["XXX"].push_back(filterIn); 
     65          (*CWorkflowGraph::mapFilters_ptr)[filterOut] = "Spatial transform filter"; 
     66          (*CWorkflowGraph::mapFilters_ptr)[filterIn] = "Spatial transform filter"; 
     67          std::cout<<"CSpatialTransformFilter::CSpatialTransformFilter CWorkflowGraph::mapFieldToFilters_ptr->size = "<<CWorkflowGraph::mapFieldToFilters_ptr->size()<<std::endl; 
    6868        } 
    6969      } 
Note: See TracChangeset for help on using the changeset viewer.