[MOAB-dev] r5225 - MOAB/trunk/src/parallel

hongjun at mcs.anl.gov hongjun at mcs.anl.gov
Sun Nov 27 17:29:04 CST 2011


Author: hongjun
Date: 2011-11-27 17:29:02 -0600 (Sun, 27 Nov 2011)
New Revision: 5225

Modified:
   MOAB/trunk/src/parallel/ParallelComm.cpp
Log:
o remove incorrect shared tag checking code
o changed to create interface sets from shared entities
o buffer is not deleted and kept for shared processors in exchange_owned mesh function
o PSTATUS_NOT_OWNED is added for interface mesh created in unpack_entities


Modified: MOAB/trunk/src/parallel/ParallelComm.cpp
===================================================================
--- MOAB/trunk/src/parallel/ParallelComm.cpp	2011-11-23 16:47:25 UTC (rev 5224)
+++ MOAB/trunk/src/parallel/ParallelComm.cpp	2011-11-27 23:29:02 UTC (rev 5225)
@@ -1771,10 +1771,10 @@
           // update sharing data and pstatus, adjusting order if iface
         result = update_remote_data(new_h, &ps[0], &hs[0], num_ps, 
                                     (is_iface ? PSTATUS_INTERFACE :
-                                     (created_here ? (created_iface ? 0 : PSTATUS_GHOST 
-                                                      | PSTATUS_NOT_OWNED) : 0)));
+                                     (created_here ? (created_iface ? PSTATUS_NOT_OWNED:
+                                                      PSTATUS_GHOST | PSTATUS_NOT_OWNED) : 0)));
         RRA("");
-
+        
           // need to send this new handle to all sharing procs
         if (!is_iface) {
           for (j = 0; j < num_ps; j++) {
@@ -5716,12 +5716,6 @@
     exchange_procs_sets.push_back(exchange_procs[i]);
   }
 
-  // check and clean incorrect shared tags
-  result = clean_shared_tags(exchange_ents);
-  RRA("Couldn't clean shared tags.");
-  result = clean_shared_tags(exchange_sets);
-  RRA("Couldn't clean shared tags.");
-
   // exchange entities first
   result = exchange_owned_mesh(exchange_procs, exchange_ents,
                                store_remote_handles, wait_all, migrate);
@@ -5734,53 +5728,27 @@
 
   for (int i = 0; i < n_proc; i++) delete exchange_sets[i];
 
-  // set shared information
-  Tag sharedp = sharedp_tag();
-  Tag sharedps = sharedps_tag();
-  Tag pstatus = pstatus_tag();
-  Range tagged_ents;
-  
-  // get shared proc tag entities and add shared pstatus
-  result = mbImpl->get_entities_by_type_and_tag(0, MBMAXTYPE, &sharedp, 0, 1,
-                                                tagged_ents);
-  RRA("Failed to get sharing proc tag in remote_handles.");
-  
-  std::vector<int> shared_procs(tagged_ents.size());
-  result = mbImpl->tag_get_data(sharedp, tagged_ents, &shared_procs[0]);
-  Range::iterator it = tagged_ents.begin();
-  Range::iterator eit = tagged_ents.end();
-  for (int i = 0; it != eit; it++, i++) {


More information about the moab-dev mailing list