I also have an O(log Nproc) implementation that I've been using for some time.

Bill

William Gropp
Director, Parallel Computing Institute
Deputy Director for Research
Institute for Advanced Computing Applications and Technologies
Thomas M. Siebel Chair in Computer Science
University of Illinois Urbana-Champaign




On Jul 3, 2013, at 11:02 AM, Jeff Hammond wrote:

https://wiki.alcf.anl.gov/parts/index.php/Implementing_a_Symmetric_Heap has an implementation of MPE_Comm_split_node that does a very simple O(Nproc) implementation of MPI_Comm_split_type(type=SHARED) using MPI_Get_processor_name.  It also shows the non-portable implementation for Cray and Blue Gene that one can use until MPI-3 is deployed on those systems.

Jim Dinan wrote an O(log Nproc) implementation of MPI_Comm_split_type(type=SHARED) that I have somewhere but I don't like it because it's confusing to my small brain.

Jeff

----- Original Message -----
From: "Rob Latham" <robl@mcs.anl.gov>
To: devel@mpich.org
Sent: Wednesday, July 3, 2013 10:53:15 AM
Subject: Re: [mpich-devel] find out what processes are on the same node

On Wed, Jul 03, 2013 at 10:39:55AM -0500, Tatiana V. Martsinkevich wrote:
Hello,

I have a couple of questions:

1) is there a way to find out what other processes reside in the same
node as my_rank from within MPICH?

MPI_GET_PROCESSOR_NAME might be what you are looking for.  

==rob

--
Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA

--
Jeff Hammond
Argonne Leadership Computing Facility
University of Chicago Computation Institute
jhammond@alcf.anl.gov / (630) 252-5381
http://www.linkedin.com/in/jeffhammond
https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond
ALCF docs: http://www.alcf.anl.gov/user-guides