itaps-parallel A question about iMeshP interface functions
txie at scorec.rpi.edu
txie at scorec.rpi.edu
Thu Aug 14 08:54:38 CDT 2008
Hi, Jason,
Thanks for your feedback. Please see my comments below, and correct me if
you find any further problems. Thanks.
> txie at scorec.rpi.edu wrote:
>> Dear all,
>>
>> I have a question about the design of some iMeshP Entity interface
>> functions. This question is relative to the real execution performance.
>>
>> Some iMeshP Entity interface functions provide two input arguments:
>> entity_handle and partition_handle. The specification requires that one
>> function returns an error code if an entity is not in the partition. But
>> the question is how to decide whether an entity is in the partition
>> since
>> entity_handle (iBase_EntityHandle) may be not globally unique in the
>> partition.
>>
>> I can think of one way in FMDB implementation:
>> * Get all the local_part_handles in the partition,
>> * Then get the mesh within each local part,
>> * Iterate all mesh entities of all dimensions in each part mesh,
>> * Check if the given entity_handle equals any mesh entity. If yes,
>> entity_handle is valid and local. Otherwise, it is not valid.
>>
>> But this way is not time efficient in the real performance.
>>
>> Please let me know if I make any mistakes or you have any problems about
>> this question. Thanks.
>>
>
> Which functions in particular do you find problematic? The one with the
> specified error behavior that you describe above is:
> iMeshP_getEntOwnerPart.
These functions include:
iMeshP_getEntOwnerPart(), iMeshP_getEntOwnerPartArr(),
iMeshP_getNumCopies(), iMeshP_getCopyParts(),
iMeshP_getCopies(), iMeshP_getOwnerCopy().
> If the above sequence of steps is required for you to determine whether
> or
> not an entity is in a partition, wouldn't you have to do that search
> anyway
> to find the part handle?
>
The problem is: even the part handle is given, we still need to do mesh
entity iteration to determine whether or not the given entity is valid
within the part mesh. That is inefficient.
> - jason
>
>
Ting
More information about the itaps-parallel
mailing list