r5225 - MOAB/trunk/src/parallel
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++) {
participants (1)
-
hongjun@mcs.anl.gov