On Apr 2, 2018, at 1:39 PM, dpchoudh . <dpcho...@gmail.com> wrote:
> 
> Sorry for a pedantic follow up:
> 
> Is this (heterogeneous cluster support) something that is specified by
> the MPI standard (perhaps as an optional component)?

The MPI standard states that if you send a message, you should receive the same 
values at the receiver.  E.g., if you sent int=3, you should receive int=3, 
even if one machine is big endian and the other machine is little endian.

It does not specify what happens when data sizes are different (e.g., if type X 
is 4 bits on one side and 8 bits on the other) -- there's no good answers on 
what to do there.

> Do people know if
> MPICH. MVAPICH, Intel MPI etc support it? (I do realize this is an
> OpenMPI forum)

I don't know offhand.  I know that this kind of support is very unpopular with 
MPI implementors because:

1. Nearly nobody uses it (we get *at most* one request a year to properly 
support BE<-->LE transformation).
2. It's difficult to implement BE<-->LE transformation properly without causing 
at least some performance loss and/or code complexity in the main datatype 
engine.
3. It is very difficult for MPI implementors to test properly (especially in 
automated environments).

#1 is probably the most important reason.  If lots of people were asking for 
this, MPI implementors would take the time to figure out #2 and #3.  But since 
almost no one asks for it, it gets pushed (waaaaaay) down on the priority list 
of things to implement.

Sorry -- just being brutally honest here.  :-\

> The reason I ask is that I have a mini Linux lab of sort that consists
> of Linux running on many architectures, both 32 and 64 bit and both LE
> and BE. Some have advanced fabrics, but all have garden variety
> Ethernet. I mostly use this for software porting work, but I'd love to
> set it up as a test bench for testing OpenMPI in a heterogeneous
> environment and report issues, if that is something that the
> developers want to achieve.

Effectively, the current set of Open MPI developers have not put up any 
resources to fix, update, and maintain the BE<-->LE transformation in the Open 
MPI datatype engine.  I don't think that there are any sane answers for what to 
do when datatypes are different sizes.

However, that being said, Open MPI is an open source community -- if someone 
wants to contribute pull requests and/or testing to support this feature, that 
would be great!

-- 
Jeff Squyres
jsquy...@cisco.com

_______________________________________________
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Reply via email to