[Trilinos-Users] creating Tpetra maps from off-processor data

Templeton, Jeremy Alan jatempl at sandia.gov
Wed Nov 5 11:42:24 MST 2014


Hi Mark,

A simple example of the case we are considering is that process 1 owns a global id *and* knows that process 0 needs access to that global id’s data.  However, process 0 doesn’t know anything about that global id because it doesn’t own it.  The current approach is for process 1 to do a specialized send to process 0, which then uses that information to create a map with specified global ids to use with importers.

The genesis of the question was that it seems like a lot of effort for something Trilinos might have already as this seemed like a common case, i.e. having process 1 create a map for process 0.  The documentation for the constructor you mention has the argument

elementList     [in] List of global indices owned by the calling process

which implied to us (and we have only ever used as) a list of global indices the process calling the constructor owns (or at least knows about somehow).  What we would want in this case is for process 1 to assemble that element list *and* associate it with a target process.  If this sort of functionality doesn’t exist, no worries, we were just making sure we don’t do a lot of needless MPI-like coding.

Thanks,
Jeremy

On Nov 5, 2014, at 10:26 AM, Hoemmen, Mark <mhoemme at sandia.gov<mailto:mhoemme at sandia.gov>> wrote:



On 11/4/14, 12:00 PM, "trilinos-users-request at software.sandia.gov<mailto:trilinos-users-request at software.sandia.gov>"
<trilinos-users-request at software.sandia.gov<mailto:trilinos-users-request at software.sandia.gov>> wrote:



Message: 1
Date: Tue, 4 Nov 2014 00:47:11 +0000
From: "Templeton, Jeremy Alan" <jatempl at sandia.gov<mailto:jatempl at sandia.gov>>
To: "trilinos-users at software.sandia.gov<mailto:trilinos-users at software.sandia.gov>"
<trilinos-users at software.sandia.gov<mailto:trilinos-users at software.sandia.gov>>
Subject: [Trilinos-Users] creating Tpetra maps from off-processor data
Message-ID: <D57C2643-EA3A-40F1-9BE2-AC28DCCA1D9C at sandia.gov<mailto:D57C2643-EA3A-40F1-9BE2-AC28DCCA1D9C at sandia.gov>>
Content-Type: text/plain; charset="windows-1252"

Hi all,

We are trying to create importers for a particle scheme which which
communicate on-processor data to neighboring processors.  We have seen
some codes creating custom Zoltan_Comm_Obj?s to do this task such that
the processor figures out which particles it needs to send to which other
processors and executes that through the Zoltan_Comm_Obj.  We think we
can accomplish this same task using the Teuchos comm with
non-interrupting sends and receives.

However, this seems to be a lot of effort to do something which seems
like a common and high-level task: create a map from distributed
information to be used with an importer.  So the question we have is: is
there functionality within Tpetra/Teuchos which can more directly perform
this task?

Hi Jeremy -- could you please clarify what you mean by "create a Map from
distributed information"?  Do you mean that each MPI process knows what
global indices it has, but doesn't necessarily know the other processes'
global indices?  If so, then you could just use the third (noncontiguous)
Map constructor.

mfh

_______________________________________________
Trilinos-Users mailing list
Trilinos-Users at software.sandia.gov<mailto:Trilinos-Users at software.sandia.gov>
https://software.sandia.gov/mailman/listinfo/trilinos-users


--------------------------------------------------------
Jeremy A. Templeton, Ph.D.
Thermal/Fluid Sciences & Engineering
jatempl at sandia.gov<mailto:jatempl at sandia.gov>
http://tiny.sandia.gov/jatempl
925-294-1429





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://software.sandia.gov/pipermail/trilinos-users/attachments/20141105/6099c491/attachment.html>


More information about the Trilinos-Users mailing list