itaps-parallel A question about iMeshP interface functions
Onkar Sahni
osahni at scorec.rpi.edu
Thu Aug 14 10:45:06 CDT 2008
> There's simply no way to
> pass a remote entity handle --- that would require both a handle and a
> part ID.
In iMeshP_getCopies(), copies_entity_handles (of type
iBase_EntityHandle) can have handles that are off-proc. (if handle is a
pointer then off-proc. pointer/memory). What if user took one such
handle and pass it in iMeshP_getEntOwnerPart().
>
> Second, because a partition is a covering of the entire contents of a
> parallel mesh, checking whether an entity is in a partition reduces to
> checking whether the entity handle is valid in the local root set, a
> test that iMesh requires routinely.
There should be routine test but we do not want to exercise such routine
test in very basic functions.
- Onkar
> Onkar Sahni wrote:
>>> I had assumed that if one had a handle for an entity at all, that the
>>> local
>>> processor knew enough about that entity to answer such questions (e.g.
>>> that
>>> it is an interface or ghost entity.) But I missed several discussions.
>>> Are
>>> we back to considering entity handles to be globally unique across all
>>> processors?
>>
>> If entity-handle is local (on local part/proc.) then one can ask such
>> questions (ghost entity etc.), but if entity is not local, i.e,
>> remote-handle or remote-copt then it is not valid to ask such questions.
>> How do we return reasonable error message/code in this case of
>> remote-handle. There are no globally unique entity handles.
>
> I'm a bit confused about what the problem is here.
>
> First, I agree that we're certain to be looking at a local entity handle
> here (though it could be a ghost or copy). There's simply no way to
> pass a remote entity handle --- that would require both a handle and a
> part ID.
>
> Second, because a partition is a covering of the entire contents of a
> parallel mesh, checking whether an entity is in a partition reduces to
> checking whether the entity handle is valid in the local root set, a
> test that iMesh requires routinely.
>
>>> It seems to me that the iMeshP_getEntOwnerPart and
>>> iMeshP_getEntOwnerPartArr
>>> are inherently expensive, and those are the only two for which I see a
>>> requirement to return an error if the passed entity is not contained in
>>> the
>>> partition. I'm looking at the draft spec Karen sent on July 24th. Is
>>> there
>>> a more recent one?
>>
>> I do not see why these will be expensive, at least they are not in
>> FMDB
>> implementation.
>
> If those are cheap, then surely checking for partition membership is too
> (if it belongs to a part, the entity surely belongs to the partition...).
>
> Maybe I'm being incredibly naive here, but I don't see this as being
> terribly difficult or time consuming. Am I missing something here?
>
> Carl
>
> --
> ------------------------------------------------------------------------
> Dr. Carl Ollivier-Gooch, P.Eng. Voice: +1-604-822-1854
> Associate Professor Fax: +1-604-822-2403
> Department of Mechanical Engineering email: cfog at mech.ubc.ca
> University of British Columbia http://www.mech.ubc.ca/~cfog
> Vancouver, BC V6T 1Z4 http://tetra.mech.ubc.ca/ANSLab/
> ------------------------------------------------------------------------
>
>
More information about the itaps-parallel
mailing list