- Timestamp:
- 03/22/18 10:43:20 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/src/transformation/generic_algorithm_transformation.hpp
r1328 r1460 52 52 virtual ~CGenericAlgorithmTransformation() {} 53 53 54 bool isDistributedTransformation(int elementPositionInGrid, CGrid* gridSrc, CGrid* gridDst) ; 55 54 56 void computeGlobalSourceIndex(int elementPositionInGrid, 55 57 CGrid* gridSrc, … … 85 87 */ 86 88 void computeIndexSourceMapping(const std::vector<CArray<double,1>* >& dataAuxInputs = std::vector<CArray<double,1>* >()); 89 void computeTransformationMappingNonDistributed(int elementPositionInGrid, CGrid* gridSrc, CGrid* gridDst, 90 vector<int>& localSrc, vector<int>& localDst, vector<double>& weight, vector<bool>& localMaskOnGridDest); 91 void nonDistributedrecursiveFunct(int currentPos, bool masked, int elementPositionInGrid, vector< CArray<bool,1>* >& maskSrc, vector< CArray<bool,1>* >& maskDst, int& srcInd, int& srcIndCompressed, vector<int>& nIndexSrc, int& t, vector<vector<vector<pair<int,double> > > >& dstIndWeight, int currentInd, 92 vector<int>& localSrc, vector<int>& localDst, vector<double>& weight, CArray<bool,1>& localMaskOnGridSrc, vector<bool>& localMaskOnGridDest) ; 87 93 88 94 protected: … … 126 132 127 133 protected: 134 //! indicate if the transformation is performed on a distributed element 135 bool isDistributed_ ; 136 //! indicate if the method isDistributedTransformation has been called before 137 bool isDistributedComputed_ ; 138 128 139 //! Map between global index of destination element and source element 129 140 std::vector<TransformationIndexMap> transformationMapping_; … … 138 149 AlgoTransType type_; 139 150 151 std::set<StdSize> indexElementSrc_; 152 153 std::vector<boost::unordered_map<int,std::vector<size_t> > > globalElementIndexOnProc_; 154 155 std::vector<int> procContainSrcElementIdx_; // List of processes containing source index of transformed elements 156 // std::set<int> procOfNonTransformedElements_; // Processes contain the source index of non-transformed elements 157 std::set<int> commonProc_; 158 std::vector< set<int> > procElementList_ ; // List of processes containing source index of elements 159 160 CClientClientDHTInt::Index2VectorInfoTypeMap globalIndexOfTransformedElementOnProc_; 161 162 bool computedProcSrcNonTransformedElement_; // Flag to indicate whether we computed proc containing non transformed elements 163 140 164 std::map<int, int> elementPositionInGridSrc2AxisPosition_, elementPositionInGridSrc2DomainPosition_, elementPositionInGridSrc2ScalarPosition_; 141 165 std::map<int, int> elementPositionInGridDst2AxisPosition_, elementPositionInGridDst2DomainPosition_, elementPositionInGridDst2ScalarPosition_; 166 167 bool eliminateRedondantSrc_ ; // flag to indicate if the transformation must select only one global source point for all proc. 168 // In this case it will choose preferentially the current process 142 169 }; 143 170
Note: See TracChangeset
for help on using the changeset viewer.