[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