itaps-parallel Assignments for parallel interface, due before 2/5 phone conf

Onkar Sahni osahni at scorec.rpi.edu
Mon Feb 4 17:00:40 CST 2008


> Carl wrote:
>
>
> createPart:  How do we envision the adjudication of global part ID's?
> Does part creation imply a request to some oracle for a part ID?  Does
> each process have its own unique space for part ID's?  Using n bits for
> process rank, m bits for local ID would create part ID's that were easy
> to create and interpret...  with cleverness, we could work things so
> that n+m <= 31 (a billion part ID's...) so that this all looks like an
> int, and we don't have to mess with the sign bit.

  I agree that we need to reserve constant part IDs on each process/rank
('m' bits). I think we may also want to allow for more than 31 bits for
part IDs and thus, use iPartID_type (typedef to appropriate type like
32-bit-int and it may be decided by application during compile time). In
the same context, we may want to revisit routines like
prefix_getNumPartIds. Do we really need them for each rank?

> getPartIdsFromPartHandle: The part handle presumably must be local here;
> this should be added to the comment.

  I think part-handles are always local on-process ones.

> getNumPartNbors/getPartNbors: communicating or pre-computed?  If the
> latter, how/when are these updated?  And again, how are we defining
> which parts are neighbors?

  I think the reason to support this is to have this pre-commuted. These
are maintained and updated during mesh migration and parallel
sub-division (send/recieveEntArr and add/rmvCopy).

> getEntityOwner:  I disagree with Karen.  I think it -does- make sense to
> be able to determine the owner of an arbitrary entity.  We have agreed
> that exactly one part will have ownership of an entity in the
> right-to-modify sense, and IMO this is what this call should return.  We
> may also need functionality to identify the entities that were used in
> -determining- the partition, but I see that as a different issue.

  I thought this is for any arbitrary entity. Actually I may have added to
confusion by referring 'entity functionality' as 'functionality for
inter-part boundary entities' but I agree that it allows for
non-inter-part boundary entities too like prefix_getEntityParStatus for
internal mesh faces or regions.

- Onkar




More information about the itaps-parallel mailing list