[MOAB-dev] r4432 - MOAB/trunk/src/parallel
kraftche at cae.wisc.edu
kraftche at cae.wisc.edu
Tue Jan 11 15:51:41 CST 2011
Author: kraftche
Date: 2011-01-11 15:51:41 -0600 (Tue, 11 Jan 2011)
New Revision: 4432
Modified:
MOAB/trunk/src/parallel/ReadParallel.cpp
Log:
fix parallel read bug: RESOLVE_SHARED_ENTS always fails for READ_PART
Modified: MOAB/trunk/src/parallel/ReadParallel.cpp
===================================================================
--- MOAB/trunk/src/parallel/ReadParallel.cpp 2011-01-11 20:52:54 UTC (rev 4431)
+++ MOAB/trunk/src/parallel/ReadParallel.cpp 2011-01-11 21:51:41 UTC (rev 4432)
@@ -599,7 +599,6 @@
EntityHandle file_set )
{
int proc_rk = myPcomm->proc_config().proc_rank();
- Range partition_sets;
ErrorCode result;
Tag ptag;
@@ -610,7 +609,7 @@
result = mbImpl->tag_create(ptag_name.c_str(), sizeof(int),
MB_TAG_SPARSE,
MB_TYPE_INTEGER, ptag,
- 0, true);
+ 0);
if (MB_ALREADY_ALLOCATED == result) {
// this tag already exists; better check to see that tagged sets
// agree with this partition
@@ -619,7 +618,11 @@
result = mbImpl->get_entities_by_type_and_tag(file_set, MBENTITYSET, &ptag,
(const void* const*)&proc_rk_ptr, 1,
tagged_sets); RR(" ");
- if (!tagged_sets.empty() && tagged_sets != myPcomm->partition_sets()) {
+ if (!tagged_sets.empty() && myPcomm->partition_sets().empty()) {
+ myPcomm->partition_sets() = tagged_sets;
+ return MB_SUCCESS;
+ }
+ else if (!tagged_sets.empty() && tagged_sets != myPcomm->partition_sets()) {
result = mbImpl->tag_delete_data(ptag, tagged_sets); RR(" ");
}
else if (tagged_sets == myPcomm->partition_sets()) return MB_SUCCESS;
More information about the moab-dev
mailing list