itaps-parallel Notes from today's meeting
Xiaolin Li
linli at ams.sunysb.edu
Mon Apr 12 14:36:47 CDT 2010
Karen, I was also there but did not tell you because people were
talking. But I have taken note of everything.
Xiaolin
On Mon, 2010-04-12 at 12:46 -0600, Devine, Karen D wrote:
> Notes from 4/12/10 phone conference attended by
>
> RPI: Mark S., S. Yung (spelling?), Ting
> Uwisc: Tim T, Jason
> UBC: Carl
> SNL: Vitus, Karen
> LLNL: Mark M.
> Simmetrix: Mark B., Saurabh Tendulkar
>
> Agreed: We will meet again on 4/19 at 8:30am PST.
>
> Action Items:
>
> 1. Before our next meeting, write your view of the first big question below
> and email it to the list. Include pros, cons, how apps will use it, how it
> will affect implementations, etc. Mail it to
> itaps-parallel at lists.mcs.anl.gov.
>
> 2. Read other peoples' write-ups. Definitely reply for clarification of
> details, but let's save the discussion for the phone call where it is easier
> to follow.
>
> My notes from the meeting:
>
> Agreed: From the iMeshP perspective, an application will typically have,
> for a given mesh, one iMesh_instance per process, containing all entities
> stored on that process. The iMesh_instance may have a partition associated
> with it, with zero, one or multiple parts per process. The underlying
> implementation may implement this design in any way desired.
>
> If I understand correctly, Simmetrix intends to implement multiple parts per
> process by having, internally, multiple "meshes," each representing a part.
> The iMesh functions would return results from the union of these meshes; the
> iMeshP part-specific functions would return results from individual meshes.
> (Does that sound correct, Mark B. and Saurabh?)
>
> The first big question: Can an entity exist in an iMesh_instance that has a
> partition without being owned by any part?
> Discussion: There are several points in iMeshP operations where an entity
> may not (yet) have a part assignment. For example, entities are created
> with iMesh_createEnt; they can then be added to a part with
> iMesh_addEntToSet (overloaded with a part handle). But in-between the two
> function calls, the entity exists without being in a part. Some think this
> state is acceptable, with the understanding that parallel operations are not
> possible on entities that are not in parts. But this state causes problems
> for some implementations, which assume an entity is always in some part
> (with a default part assignment set during entity creation). If we require
> that an entity always be assigned to some part, we'll likely need additional
> interface functions, such as iMeshP_createEnt that creates an entity and
> assigns it to a part. Even if we don't have the requirement, we could
> consider adding such functions as a convenience.
>
> The second big question: How should we enable multiple partitions of a
> single mesh in iMeshP?
>
> The third question: Should iMeshP_destroyPart should return an error if the
> part to be destroyed is not empty?
> The answer to this question depends, to some extent, on our answer to the
> first big question above.
> Cons: Requires users to explicitly remove entities from parts before
> deleting the parts. This operation requires three function
> calls: iMeshP_getEntities, iMesh_rmvEntFromSet (overloaded with
> part handle), iMeshP_destroyPart.
> Pros: Prevents users from shooting themselves in the foot.
> Users would possibly call iMeshP_getEntities and
> iMesh_rmvEntFromSet anyway to do migration to new part.
>
>
>
More information about the itaps-parallel
mailing list