Ignore:
Timestamp:
07/09/15 14:05:43 (6 years ago)
Author:
mhnguyen
Message:

Correcting value written on an distributed axis

+) Seperate writing value on axis in multiple file and one file case

Test
+) On curie
+) test_complet and test_client pass

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/node/axis.hpp

    r631 r633  
    3939         enum EEventId 
    4040         { 
    41            EVENT_ID_SERVER_ATTRIBUT 
     41           EVENT_ID_SERVER_ATTRIBUT, 
     42           EVENT_ID_INDEX, 
     43           EVENT_ID_DISTRIBUTED_VALUE, 
     44           EVENT_ID_NON_DISTRIBUTED_VALUE 
    4245         } ; 
    4346 
     
    102105        int ni_srv, begin_srv, end_srv; 
    103106        int global_zoom_begin, global_zoom_size;  // The real global zoom begin and zoom size after axis is transformed (zoomed) 
     107        CArray<double,1> value_srv; 
     108        CArray<double,2> bound_srv; 
    104109      private : 
    105110         void checkData(); 
    106111         void checkMask(); 
    107112         void checkZoom(); 
     113         void checkBounds(); 
    108114         void checkTransformations(); 
    109115         void computeServerIndex(const std::vector<int>& globalDim, int orderPositionInGrid, 
    110116                                 CServerDistributionDescription::ServerDistributionType disType); 
     117         void sendValue(); 
     118         void computeConnectedServer(void); 
     119         void sendDistributedValue(); 
     120         void sendNonDistributedValue(); 
    111121 
     122         static void recvIndex(CEventServer& event); 
     123         static void recvDistributedValue(CEventServer& event); 
     124         static void recvNonDistributedValue(CEventServer& event); 
     125         void recvIndex(int rank, CBufferIn& buffer); 
     126         void recvDistributedValue(int rank, CBufferIn& buffer); 
     127         void recvNonDistributedValue(int rank, CBufferIn& buffer); 
    112128 
    113129         void setTransformations(const TransMapTypes&); 
     
    118134         TransMapTypes transformationMap_; 
    119135         bool isDistributed_; 
    120  
     136         std::map<int,int> nbConnectedClients_; // Mapping of number of communicating client to a server 
     137         std::map<int, vector<size_t> > indSrv_; // Global index of each client sent to server 
     138         std::vector<int> connectedServerRank_; 
     139         std::map<int, CArray<int,1> > indiSrv_; 
     140         bool hasBounds_; 
    121141         DECLARE_REF_FUNC(Axis,axis) 
    122142   }; // class CAxis 
Note: See TracChangeset for help on using the changeset viewer.