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).
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.
Does that make sense?
For corporate legal information go to: