itaps-parallel removal of
Mark Miller
miller86 at llnl.gov
Wed Mar 12 06:40:51 CDT 2008
Onkar pointed out to me that he thinks
the decsion to remove iMeshP_getPartsOnRank from the interface
yesterday makes it impossible for a processor to obtain the part
handle for any part that is both a) remote and b) not a 'neighbor'.
If you look at any of the methods that return part handles, I think
you'll find that they all require that either the associated part is local
or that it is the 'stored with' a 'copy' of an entity.
This is bad for a parallel mesh decomposer, for example, which
needs to be able to 'assign' entities to 'any' parts. It will need to
be able to identify parts to 'send' entities to that are neither local
nor neighbors of the 'initial' decomposition. I suppose one could
argue that it could achieve this by sending entities on a 'journey'
through all the part neighbors between the originating and destination
parts. But, that wouldn't be too efficient.
So, somehow, processors need to be able to obtain part handles
for any parts in the decomposition. At the same time, Mark M.
argued that we can't design things in such a way that O(num_parts)
storage is required on any processor -- which is what iMeshP_getPartsOnRank
sort of implies.
Yesterday, I argued that the requirements for iMeshP_PartHandle data
type is that a) it identifies a part that is unique across all
parts/processors
and b) it is creatable without communication, I was thinking *only* in terms
of a processors need to create part handles for parts that are 'local'.
Given the above discussion, I think there is a new requirement and that is
that it is possible for a processor to obtain/create part handles for parts
that are 'distantly' remote WITHOUT communication. Now, I can think
of implementations of iMeshP_PartHandle, that make meeting all these
requirements trivial. But, I think this all means that part handles are
integral
values into which a processor rank and local part index that 'fits' in
the same space as a void* or it is a pointer to some such data.
Finally, I think we still need some method like
iMeshP_getHandleForPart(int part_number)
or some such thing.
Mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/itaps-parallel/attachments/20080312/f36d2263/attachment.htm>
More information about the itaps-parallel
mailing list