Am 29.10.2010 um 18:47 schrieb Jeff Squyres:
> On Oct 29, 2010, at 12:40 PM, Reuti wrote:
>>> I'd have to go check 1.4.3 and 1.4.1 to be sure, but I would generally *NOT* assume that different versions like this are compatible.
>> I'm getting confused, as these versions are exactly fitting "x.(y+1).*" which you mention below. So they should work together by design.
> It depends on what you mean by "work together".
> 1. OMPI provides an ABI guarantee for x.y.* and x.(y+1).*, where y is odd. So if you compile your MPI app with Open MPI v1.4.1, it'll work just fine with 1.4.3. (the only disclaimer is that this guarantee started with v1.3.2). Note that y must be odd -- so if you compile your MPI app with v1.4.1, it does *not* necessarily work with v1.5. Indeed, we broken ABI between the v1.3/v1.4 series and the v1.5 series (our ABI guarantee allows us to do this).
Yep, I read it this way in your first reply.
> 2. OMPI does *not* provide multi-version *interoperability* guarantees. Say you compile your MPI app against OMPI v1.4.1. Then you run it across a bunch of nodes, but some nodes have OMPI v1.4.1 on them and others have OMPI v1.4.3 (i.e., your app gets libmpi.so from v1.4.1 on some nodes and libmpi.so from v1.4.3 on other nodes). This is absolutely not guaranteed to work -- we don't even try to maintain this kind of compatibility.
Aha, now I see. When all are the same, it's for sure no problem, but with different ones on different nodes you get a mixture of libraries then of course for one and the same execution. So, when e.g. the protocol for the message which is send to another node changed, it will break.
NB: If I would upgrade my cluster in two steps, I would for a short time adjust the queuing system to get nodes for each parallel job where all have the same version then.
> Does that make sense?
> Jeff Squyres
> For corporate legal information go to:
> users mailing list