itaps-parallel Two options from today's iMeshP phone conference
Carl Ollivier-Gooch
cfog at mech.ubc.ca
Fri Jul 16 19:00:03 CDT 2010
On 10-07-16 04:21 PM, Devine, Karen D wrote:
> Today's attendees: Carl, Seegyoung, Misbah, Jason, Tim, Vitus, Karen, Mark
> Beall, Saurabh
>
> In today's iMeshP phone conference, we discussed options that would
> associate entities with parts during the entities' creation. This
> association is desirable to provide consistency of the data base for
> parallel applications and for efficiency in some implementations. And,
> indeed, for parallel operations to make sense, entities must belong to some
> part. In addition, we'd like to allow serial iMesh services to be applied
> to all entities in a part; having a mechanism to add entities to a part
> during the creation process allows the serial service to be used.
>
> We discussed services that one might like to use in serial within a part.
> Mesh smoothing was one example; however, because it does not create
> entities, it is not relevant to this discussion. Other options, like mesh
> generation and edge swapping, need to have some parallel awareness when they
> are used in parallel. We envisioned that some serial kernels could be used
> under a parallel-aware wrapper for these types of services, provided that
> the serial kernels could add entities to the desired part.
>
> Note that below, I refer to "serial" and "parallel" services. Serial
> services are those that do not use iMeshP; they view the root set as the
> entire mesh, with no concept of partitions, part boundaries or ghosts.
> Parallel services use iMeshP and recognize that the mesh is distributed
> across one or more processors.
>
> We identified two options:
>
> A. Change the iMesh_createEnt function to include an entity set handle
> argument PH. For serial applications, PH would be the root set; that is,
> entities are added only to the root set. For parallel applications, PH
> would be a part handle; the created entity would be added to the part
> identified by the part handle. Since iMesh_createEnt is an iMesh function
> (not an iMeshP function), we would use entity set handle as the argument
> type, so that serial users would not have to include iMeshP.h nor link with
> iMeshP. This option was generally accepted by Carl, Simmetrix, Sandia and
> RPI. Tim is in favor of adding the argument, but does not like the
> restriction of the handle to be either the root set or a part handle. My
> fear in allowing arbitrary entity set handles to be used is as follows: if
> a service uses the entity set handle to, say, add entities to a boundary
> condition set, that service could not be used in parallel, as its
> iMesh_createEnt calls would not add the entities to a part.
>
> B. Add a new iMeshP function iMeshP_createEnt that takes as input a part
> handle. Parallel services would need to use iMeshP_createEnt to add
> entities, include iMeshP.h, and link with an iMeshP library; iMesh_createEnt
> would return an error. Serial services would continue to use
> iMesh_createEnt. This option is more explicit than option A, but requires
> more work on the user's part if the user wants code to work both with and
> without iMeshP.
I think this is a pretty accurate description.
> One point we didn't discuss but, perhaps, should have was when and how
> entity ownership should be assigned. The proposed changes add entities to
> parts, but do not address determining the ownership or copy-status of an
> entity. I am not sure where these issues should most appropriately be
> resolved; can they be postponed until iMeshP_syncPartitionAll?
I had assumed that we were talking about setting ownership, since that's
the real sticking point: entities that don't have an owner can't be
modified (as I interpret the current spec).
Carl
--
------------------------------------------------------------------------
Dr. Carl Ollivier-Gooch, P.Eng. Voice: +1-604-822-1854
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