[mpiwg-hybridpm] Hybrid telecon fiasco

Daniel Holmes dholmes at epcc.ed.ac.uk
Thu Apr 10 06:16:58 CDT 2014

I agree with Jeff that consistent use of well-defined terminology is 
paramount for understanding and acceptance of this new concept.
In particular, the ambiguity in meaning of the term process between OS 
process and MPI process in the spec is not helpful, especially when 
there is a 1-to-many relationship between them.

However, as we're splitting hairs, I have to disagree with Jeff's statement:
> With this proposal, MPI processes are a proper subset of MPI endpoints.
This is like saying "cars are a proper subset of wheels". Which wheel is 
the car and which ones are not?
Could Jim's statement go one step further, i.e. in the proposal we are 
saying "everywhere that you see 'process' in the spec, replace it with 
'endpoint' (some of which are MPI processes and some of which are not)"? 
Which endpoint is the MPI process and which ones are not?

Every MPI process will contain at least one endpoint. Every endpoint is 
represented in an MPI process as a 2-tuple of communicator and rank. 
Actually, there will be at least two endpoints in every MPI process (one 
from MPI_COMM_WORLD and one from MPI_COMM_SELF). New endpoints can be 
created by creating new communicators, e.g. with MPI_COMM_DUP. This 
proposal provides a way to create multiple endpoints for the same 
communicator in the same MPI process.


On 10/04/2014 11:16, Jeff Squyres (jsquyres) wrote:
> On Apr 9, 2014, at 4:37 PM, Jim Dinan <james.dinan at gmail.com> wrote:
>> This debate is entirely academic, made possible by the totally (intentionally) evasive definition of MPI processes in the spec.  The language used in the proposal, and the language we have been using all along to describe endpoints is the right language to use.  I'm not suggesting that we change anything.
> Nor am I.
> Please don't get me wrong -- I realize I am being anal and super picky -- but this sub-thread started when you said "Every process in a communicator...", but you were really referring to *endpoints*, not (MPI) *processes*.
> My *only* point in this sub-thread is that we need to be precise in our terminology when talking about this new endpoints stuff.
>> Sure, I might be taking a little bit of a leap here.  In the proposal we are saying "everywhere that you see 'process' in the spec, replace it with 'process or endpoint'".
> With this proposal, MPI processes are a proper subset of MPI endpoints, so yes, I think that is a correct statement.

Dan Holmes
Applications Consultant in HPC Research
EPCC, The University of Edinburgh
James Clerk Maxwell Building
The Kings Buildings
Mayfield Road
Edinburgh, UK
T: +44(0)131 651 3465
E: dholmes at epcc.ed.ac.uk

*Please consider the environment before printing this email.*

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

More information about the mpiwg-hybridpm mailing list