itaps-parallel Revised iMeshP interface

Mark Miller miller86 at llnl.gov
Mon Sep 15 15:54:40 CDT 2008


On Mon, 2008-09-15 at 13:25 -0600, Devine, Karen D wrote:
> I revised the iMeshP interface and committed it to the svn repository at
> RPI:  https:// svn.scorec.rpi.edu/svn/TSTT/Interface/iMeshP
> 
> Here's what remains to be done.
> 
> For the slides due this week:
> -  Draft an interface for "pulling" tag data from shared part-boundary
> entities to the owners.  For the slides, we'll need a function name and a
> description of what it does.  That is, we'll have to decide whether it
> performs a numerical operation (e.g., MPI_SUM) or just gathers the received
> data into an array on which the application can perform operations.  Would
> anyone like to make the first proposal with rough syntax?  If not, I'll
> volunteer someone ---  or worse yet for the implementers, I'll draft a
> proposal myself.  :)

If the interface permits the caller to pass an MPI_Op pointer (which is
all MPI_SUM really is), then I think that would permit the ITAPs
implementation to take advantage of optimizations from an MPI
implementation as well. For example, an MPI_reduce operation can be
implemented many, many ways that allow the numerical operation being
performed to be scheduled optimally relative the communication necessary
to perform it. I am not saying any MPI implementation actually does
that. I am just saying the interface makes it possible. And if the
interface DID NOT permit the caller to pass an MPI_Op pointer, then such
optimizations would NOT be possible.

> 
> BTW:  This is an issue we identified earlier and forgot about; this note was
> in the draft:
> "Tim envisions applications (e.g., FETI methods) updating tag data
> in their copies that they would like to accumulate back to the
> owner.  Xiaolin said that he writes in his ghosts, but doesn't send
> those values back to the owner.  Currently, we have the ability
> to send tag data only from owners to ghosts.  Tim will look at this issue
> and propose a solution."
> 
> For SC08:
> -  Need a set of basic common options to iMeshP_load and iMeshP_save to
> allow elementary interoperability with VTK files.  At bootcamp, Tim and Ken
> volunteered to propose a set of common options.

What kind of VTK files are you talkin' here? ascii/binary or both? xml?
the new 'parallel' VTK formats?

> 
> -  At bootcamp, a question arose about what getNumCopies and getCopies would
> return when they were passed a ghost-entity handle.  At bootcamp, we said
> these functions would return errors.  But as I read the document today, I
> found the following:  "Functions getNumCopies, getCopies, getCopyParts, and
> getCopyOnPart have different behavior for ghost and part-boundary copies.
> Ghosts will return only itself and its owner in getCopies; part-boundary
> entities will return copies on other parts as well."  Which behavior do you
> like better?
> 
> Here's a summary of what I changed in DraftInterface.h as a result of the
> bootcamp:
> -  Added iMeshP_load and iMeshP_save.  IMeshP_load will populate both a mesh
> instance (with entities, sets, etc.) and a partition handle (with parts and
> entities).
> -  Changed iMeshP_getNumParts to iMeshP_getNumGlobalParts.
> -  Added iMeshP_getNumLocalParts and iMeshP_getLocalParts.
> -  Changed iMeshP_exchTags (and similar functions) to iMeshP_pushTags and
> clarified documentation on their function.  Removed part ID argument from
> the functions, as updating tags in some copies but not all copies is likely
> a bad idea.
> -  In iMeshP_createGhostEnt, added flag indicating whether non-owned
> part-boundary entities should be ghosted according to the ghosting rules.
> -  Fixed a few comments, but did not thoroughly review all comments.
> 
> 
> 
-- 
Mark C. Miller, Lawrence Livermore National Laboratory
email: mailto:miller86 at llnl.gov
(M/T/W) (925)-423-5901 (!!LLNL BUSINESS ONLY!!)
(Th/F)  (530)-753-8511 (!!LLNL BUSINESS ONLY!!)




More information about the itaps-parallel mailing list