Ignore:
Timestamp:
06/09/16 11:32:27 (4 years ago)
Author:
mhnguyen
Message:

Chaning the way to process transformation to improve the performance.
Instead of exchanging global index and weights on full GRID, each process only
sends and receives the global index and weights on each ELEMENT, which can reduce
the message size of DHT.

+) Domain and axis now have their own exchange function to transfer global index and weight
+) Generic transformation now plays the role of "synthesizer" for all elements
+) Grid transformation now plays the role of transformation mapping, e.x: exchange final global index and weight
among processes.

Test
+) On Curie
+) Pass on all basic tests
+) Dynamic interpolation on axis hasn't been tested (and it seems to need more change to make it rework)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/transformation/axis_algorithm_transformation.hpp

    r829 r862  
    3939  void computeIndexSourceMapping_(const std::vector<CArray<double,1>* >& dataAuxInputs); 
    4040 
     41  void computeExchangeGlobalIndex(const CArray<size_t,1>& globalAxisIndex, 
     42                                  boost::unordered_map<int,std::vector<size_t> >& globalDomainIndexOnProc); 
     43 
    4144protected: 
    4245  //! Global index of an axis on grid destination 
Note: See TracChangeset for help on using the changeset viewer.