BTW, I should point out that this really is only relevant if libfoo A.B.C and 
X.Y.Z are *ABI compatible*, but not *behavior compatible*.

If A.B.C and X.Y.Z are not ABI compatible, then ompi_info will fail just like 
the MPI processes fail (i.e., it may not be able to dlopen the component using 
libfoo X.Y.Z).

A useful case to determine behavior compatibility is if libfoo exports a 
capability vector; A.B.C supports capability 13 and 27, but X.Y.Z supports only 
13.  If the OMPI component is smart enough to detect these run-time behavior 
differences, it'll only use capability 13 with X.Y.Z but will use both 13 and 
27 with A.B.C.




On Apr 14, 2014, at 2:48 PM, "Jeff Squyres (jsquyres)" <jsquy...@cisco.com> 
wrote:

> On Apr 14, 2014, at 10:59 AM, Mike Dubman <mi...@dev.mellanox.co.il> wrote:
> 
>> There is no correlation between built_with and running_with versions of 
>> external libraries supported by OMPI.
> 
> Ah, I see -- yes, that's the disconnect here.
> 
> I think one use case that shows this is the following:
> 
> 1. Admin Bob builds Open MPI on the cluster head node with dependent library 
> libfoo.so version A.B.C, which is a fully supported configuration.  
> Therefore, the appropriate configure.m4's are happy, and everything builds 
> and installs.
> 
> 2. But when User Betty goes to run, the libfoo.so on the back-end compute 
> nodes is accidentally version X.Y.Z, which is *not* supported.  And Bad 
> Things happen.
> 
> 3. So you'd like to be able to run ompi_info on the head node and on the 
> compute nodes and compare the output, and see an obvious difference of A.B.C 
> vs. X.Y.Z in the dependent library of a given component, and use that to help 
> figure out what is going wrong.
> 
>> The next release of external library does not mean we should remove code in 
>> ompi for all previous supported releases for the same library.
> 
> This is another use case: OMPI was built against dep library libfoo.so A.B.C 
> (which is a supported config).  But then someone does an upgrade of libfoo 
> *without rebuilding OMPI*, and now OMPI run-time links against libfoo.so 
> X.Y.Z, which is no longer a supported configuration.
> 
>> Why are you so against it? I don`t see any issue with printing ext lib 
>> version number in the MCA description, something that can improve 
>> sysadmin/user-experience.
> 
> FWIW, we've done this before by putting them in read-only MCA parameters -- 
> we've called them "info" MCA params.
> 
> I don't see any in the code base today, but I know we've definitely had 
> version kinds of MCA params before.
> 
> -- 
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to: 
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: 
> http://www.open-mpi.org/community/lists/devel/2014/04/14513.php


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/

Reply via email to