Changeset 832
- Timestamp:
- 03/23/16 16:11:13 (9 years ago)
- Location:
- XIOS/trunk/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/client_client_dht_decl.cpp
r829 r832 3 3 \author Ha NGUYEN 4 4 \since 05 Oct 2015 5 \date 05 Oct 20155 \date 23 Mars 2016 6 6 7 7 \brief Distributed hashed table implementation. -
XIOS/trunk/src/client_client_dht_template_impl.hpp
r830 r832 3 3 \author Ha NGUYEN 4 4 \since 05 Oct 2015 5 \date 05 Oct 20155 \date 23 Mars 2016 6 6 7 7 \brief Distributed hashed table implementation. -
XIOS/trunk/src/client_server_mapping.cpp
r829 r832 19 19 { 20 20 } 21 22 ///*!23 // Compute mapping global index of server which client sends to.24 // \param [in] globalIndexOnClient global index on client25 // \param [in] globalIndexServer global index of servers26 //*/27 //void CClientServerMapping::computeServerIndexMapping(const CArray<size_t,1>& globalIndexOnClient,28 // const std::vector<CArray<size_t,1>* >& globalIndexServer)29 //{30 // defaultComputeServerIndexMapping(globalIndexOnClient, globalIndexServer);31 //}32 33 ///*!34 // Compute index of data which are sent to server and index global on server side35 // \param [in] globalIndexOnClient global index of data on client36 // \param [in] globalIndexServer global index of server(s)37 // \param [in] localIndexOnClient local index of data on client which are sent to server38 //*/39 //void CClientServerMapping::defaultComputeServerIndexMapping(const CArray<size_t,1>& globalIndexOnClient,40 // const std::vector<CArray<size_t,1>* >& globalIndexServer,41 // const CArray<int,1>* localIndexOnClient)42 //{43 // int nServer = globalIndexServer.size();44 // std::vector<CArray<size_t,1>::const_iterator> itBegin(nServer), itEnd(nServer), it(nServer);45 // for (int i = 0; i < nServer; ++i)46 // {47 // itBegin[i] = it[i] = globalIndexServer[i]->begin();48 // itEnd[i] = globalIndexServer[i]->end();49 // }50 //51 // size_t ssize = globalIndexOnClient.numElements();52 // for (int i = 0; i < ssize; ++i)53 // {54 // for (int j = 0; j < nServer; ++j)55 // {56 // // Just temporarily, it's bad.57 // if (std::binary_search(itBegin[j], itEnd[j], globalIndexOnClient(i)))58 // {59 // // Just try to calculate local index server on client side60 // (indexGlobalOnServer_[j]).push_back((globalIndexOnClient)(i));61 // if (0 != localIndexOnClient) (localIndexSend2Server_[j]).push_back((*localIndexOnClient)(i));62 // else63 // (localIndexSend2Server_[j]).push_back(i);64 // continue;65 // }66 // }67 // }68 //}69 21 70 22 /*! … … 134 86 } 135 87 136 ///*!137 // Return local index of data that is send to server138 // \return mapping of server rank and local index of sending data on the client139 //*/140 //const CClientServerMapping::LocalIndexMap& CClientServerMapping::getLocalIndexSendToServer() const141 //{142 // return localIndexSend2Server_;143 //}144 145 88 /*! 146 89 Return global index of data on each connected server. -
XIOS/trunk/src/filter/spatial_transform_filter.cpp
r827 r832 87 87 std::vector<CArray<double,1>* > dataAuxInputs(data.size()-1); 88 88 for (size_t idx = 0; idx < dataAuxInputs.size(); ++idx) dataAuxInputs[idx] = &(data[idx+1]->data); 89 gridTransformation->computeAll(dataAuxInputs );89 gridTransformation->computeAll(dataAuxInputs, packet->timestamp); 90 90 } 91 91 packet->data.resize(gridTransformation->getGridDestination()->storeIndex_client.numElements()); -
XIOS/trunk/src/transformation/grid_transformation.cpp
r831 r832 25 25 : gridSource_(source), gridDestination_(destination), originalGridSource_(source), 26 26 algoTypes_(), nbAlgos_(0), currentGridIndexToOriginalGridIndex_(), tempGrids_(), 27 auxInputs_(), dynamicalTransformation_(false) 27 auxInputs_(), dynamicalTransformation_(false), timeStamp_() 28 28 29 29 { … … 356 356 -) Make current grid destination become grid source in the next transformation 357 357 */ 358 void CGridTransformation::computeAll(const std::vector<CArray<double,1>* >& dataAuxInputs )358 void CGridTransformation::computeAll(const std::vector<CArray<double,1>* >& dataAuxInputs, Time timeStamp) 359 359 { 360 360 if (nbAlgos_ < 1) return; 361 361 if (!auxInputs_.empty() && !dynamicalTransformation_) { dynamicalTransformation_ = true; return; } 362 if (dynamicalTransformation_) DestinationIndexMap().swap(currentGridIndexToOriginalGridIndex_); // Reset map 362 if (dynamicalTransformation_) 363 { 364 if (timeStamp_.insert(timeStamp).second) 365 DestinationIndexMap().swap(currentGridIndexToOriginalGridIndex_); // Reset map 366 else 367 return; 368 } 363 369 364 370 CContext* context = CContext::getCurrent(); -
XIOS/trunk/src/transformation/grid_transformation.hpp
r829 r832 15 15 #include "generic_algorithm_transformation.hpp" 16 16 #include "transformation_enum.hpp" 17 #include "duration.hpp" 17 18 18 19 namespace xios { … … 42 43 ~CGridTransformation(); 43 44 44 void computeAll(const std::vector<CArray<double,1>* >& dataAuxInput=std::vector<CArray<double,1>* >() );45 void computeAll(const std::vector<CArray<double,1>* >& dataAuxInput=std::vector<CArray<double,1>* >(), Time timeStamp = 0); 45 46 46 47 const std::map<int, CArray<int,1> >& getLocalIndexToSendFromGridSource() const; … … 109 110 std::vector<StdString> auxInputs_; 110 111 bool dynamicalTransformation_; 112 113 std::set<Time> timeStamp_; //! Time stamps for auxillary inputs 111 114 }; 112 115
Note: See TracChangeset
for help on using the changeset viewer.