[MOAB-dev] r5182 - in MOAB/trunk/src/parallel: . moab
Rajeev Jain
jain at mcs.anl.gov
Mon Oct 3 17:35:01 CDT 2011
You are right, this commit didn't break anything.
I didn't test this code before, my guess is some similar fix is need for resolving shared sets.
Rajeev
>________________________________
>From: Hong-Jun Kim <hongjun at mcs.anl.gov>
>To: Rajeev Jain <jain at mcs.anl.gov>
>Cc: moab-dev at mcs.anl.gov
>Sent: Monday, October 3, 2011 5:28 PM
>Subject: Re: [MOAB-dev] r5182 - in MOAB/trunk/src/parallel: . moab
>
>Actually, this commit seems not to do anything related to resolving shared sets.
>Was your code working with the previous version of MOAB?
>
>Hong-Jun
>
>----- Original Message -----
>> From: "Rajeev Jain" <jain at mcs.anl.gov>
>> To: moab-dev at mcs.anl.gov
>> Sent: Monday, October 3, 2011 5:11:25 PM
>> Subject: Re: [MOAB-dev] r5182 - in MOAB/trunk/src/parallel: . moab
>> Hi Hong-Jun,
>> Is there some change needed for "unpack_set" function (below)?
>>
>>
>> ErrorCode WriteHDF5Parallel::unpack_set( EntityHandle set,
>> const unsigned long* buffer,
>> size_t buffer_size )
>> {
>> // use local variables for readability
>> assert(buffer_size >= 4);
>> assert(buffer[1]+buffer[2]+buffer[3] <= buffer_size);
>> ....
>>
>>
>>
>>
>> CoreGen resolves MATERIAL_SET's using the "resolve_shared_sets"
>> function before calling parallel save, the following error occurs and
>> the process is terminated:
>>
>> "
>> 3 H5M *********** Debug Barrier 7 (@412)***********
>> 0 H5M (1.60 s) creating meshset table
>> ...
>> ...
>> 0 H5M (1.61 s) COMMUNICATING SHARED SET DATA (0 owned & 0 remote)
>> 0 H5M Using buffer size of 128 for an expected message count of 0
>> [2] Assert(buffer[1]+buffer[2]+buffer[3] <= buffer_size) failed at
>> WriteHDF5Parallel.cpp:1727
>> Terminated (signal 15)
>> "
>>
>> Rajeev
>>
>>
>>
>>
>>
>>
>> From: "hongjun at mcs.anl.gov" <hongjun at mcs.anl.gov>
>> To: moab-dev at mcs.anl.gov
>> Sent: Friday, September 30, 2011 6:26 PM
>> Subject: [MOAB-dev] r5182 - in MOAB/trunk/src/parallel: . moab
>>
>> Author: hongjun
>> Date: 2011-09-30 18:26:09 -0500 (Fri, 30 Sep 2011)
>> New Revision: 5182
>>
>> Modified:
>> MOAB/trunk/src/parallel/ParallelComm.cpp
>> MOAB/trunk/src/parallel/moab/ParallelComm.hpp
>> Log:
>> o "created_iface" flag is added in "unpack_entities" function
>> o it is used in "exchange_owned_mesh" and it is for recognizing with
>> ghost mesh element and non-ghost newly created mesh element
>> o it prevents to assign "PSTATUS_NOT_OWNED" and "PSTATUS_GHOST" for
>> non-ghost newly created mesh elements
>> o passes make check
>>
>>
>> Modified: MOAB/trunk/src/parallel/ParallelComm.cpp
>> ===================================================================
>> --- MOAB/trunk/src/parallel/ParallelComm.cpp 2011-09-29 21:08:52 UTC
>> (rev 5181)
>> +++ MOAB/trunk/src/parallel/ParallelComm.cpp 2011-09-30 23:26:09 UTC
>> (rev 5182)
>> @@ -960,12 +960,13 @@
>> std::vector<EntityHandle> &L2hloc,
>> std::vector<EntityHandle> &L2hrem,
>> std::vector<unsigned int> &L2p,
>> - std::vector<EntityHandle> &new_ents)
>> + std::vector<EntityHandle> &new_ents,
>> + const bool created_iface)
>> {
>> unsigned char *tmp_buff = buff_ptr;
>> ErrorCode result;
>> result = unpack_entities(buff_ptr, store_remote_handles,
>> - ind, false, L1hloc, L1hrem, L1p, L2hloc, L2hrem, L2p, new_ents);
>> + ind, false, L1hloc, L1hrem, L1p, L2hloc, L2hrem, L2p, new_ents,
>> created_iface);
>> RRA("Unpacking entities failed.");
>> if (myDebug->get_verbosity() == 3) {
>> myDebug->tprintf(4, "unpack_entities buffer space: %ld bytes.\n",
>> (long int)(buff_ptr-tmp_buff));
>> @@ -1585,7 +1586,8 @@
>> std::vector<EntityHandle> &L2hloc,
>> std::vector<EntityHandle> &L2hrem,
>> std::vector<unsigned int> &L2p,
>> - std::vector<EntityHandle> &new_ents)
>> + std::vector<EntityHandle> &new_ents,
>> + const bool created_iface)
>> {
>> // general algorithm:
>> // - unpack # entities
>> @@ -1769,7 +1771,8 @@
>> // 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 ? (PSTATUS_GHOST | PSTATUS_NOT_OWNED) : 0)));
>> + (created_here ? (created_iface ? 0 : PSTATUS_GHOST
>> + | PSTATUS_NOT_OWNED) : 0)));
>> RRA("");
>>
>> // need to send this new handle to all sharing procs
>> @@ -5918,7 +5921,8 @@
>> remoteOwnedBuffs[ind/2]->reset_ptr(sizeof(int));
>> result = unpack_buffer(remoteOwnedBuffs[ind/2]->buff_ptr,
>> store_remote_handles, buffProcs[ind/2], ind/2,
>> - L1hloc, L1hrem, L1p, L2hloc, L2hrem, L2p, new_ents);
>> + L1hloc, L1hrem, L1p, L2hloc, L2hrem, L2p,
>> + new_ents, true);
>> if (MB_SUCCESS != result) {
>> std::cout << "Failed to unpack entities. Buffer contents:" <<
>> std::endl;
>> print_buffer(remoteOwnedBuffs[ind/2]->mem_ptr, MB_MESG_ENTS_SIZE,
>> buffProcs[ind/2], false);
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/moab-dev/attachments/20111003/874fcf09/attachment-0001.htm>
More information about the moab-dev
mailing list