itaps-parallel Proposal for handling queries with parts, sets, and partitions

Onkar Sahni osahni at scorec.rpi.edu
Fri Dec 14 20:16:46 CST 2007



> Finally, it's worth noting that, while a partition contains many parts
> distributed over many processes, each process is associated with a
> unique partition (MPI communicator or equivalent) and each part is
> associated both with a unique process and a unique partition.  So
> specifying both part handle and partition handle is actually redundant.
>
> Given that backgroun, I propose that we overload our current query
> functions so that any place where a mesh instance is currently usable, a
> part handle or partition handle is also usable, and continue to use
> either a bona fide entity set or the (global placeholder) root set as
> the second argument.  In this scenario, we would have, for instance:
>
>              / partition handle
> getNumOfType| mesh instance    , root set handle   , type, result, err )
>              \ part handle        entity set handle
>
> The other iMesh function that is obviously of this type is getNumOfTopo.

I may also fall into category of (for iMesh, serial) -- new enough to not
be "trapped in the culture" -- so I will go ahead and ask some
"non-sensical / counter-intuitive" questions (at least to me at this point
of time). If mesh-instance and root-set-handle is one-to-one then
specifying both seems redundant. Actually why we need both mesh-instance
and entity-set-handle in functions like getNumOfType() and getNumOfTopo(),
may be if entity-sets span  more than one mesh instance... can they?


>
> A somewhat larger collection of functions would be able to take both
> mesh instances and part handles as the first argument, but not partition
> handles: getAllVtxCoords, getVtxCoordIndex, getEntities.
>
> My guess is that iterator functions will fall into the second category.

Functions like getAllVtxCoords() etc. can possibly take partition-handles
as first argument like we may do in functions that support following (from
combined doc. from Karen):

- Map from the process rank to part handles.
  +  Given a partition instance, return the number of on-process parts in the
     partition.
  +  Given a partition instance, return all on-process part handles in the
     partition.

- Onkar





More information about the itaps-parallel mailing list