Fair enough, and I'm not disagreeing.  Just indicating why I tend to prefer the 
run-time solutions (although we all agree that in this case, a run-time 
detection would run into a million corner cases, and therefore probably isn't 
worth it).


> On Jan 25, 2016, at 5:55 PM, Ralph Castain <r...@open-mpi.org> wrote:
> 
> My concern with the runtime solution is that I fear we will suffer the death 
> by a thousand cuts as we try to navigate our way around all the odd 
> configurations that exist out there. What I don't want to do is get into a 
> constant game of whack-a-mole where we are trying to only emit the warning 
> when we should, and always emit it when we should.
> 
> Just seems to me like we are begging for a long-running search for the 
> perfect solution.
> 
> 
> On Mon, Jan 25, 2016 at 2:37 PM, Jeff Squyres (jsquyres) <jsquy...@cisco.com> 
> wrote:
> I'd like to point out an offhand comment that I made earlier that seems to 
> have gotten lost -- let me cite the README, because it cites it much better 
> than I did earlier in this thread:
> 
> -----
> Note that for many of Open MPI's --with-<foo> options, Open MPI will,
> by default, search for header files and/or libraries for <foo>.  If
> the relevant files are found, Open MPI will built support for <foo>;
> if they are not found, Open MPI will skip building support for <foo>.
> However, if you specify --with-<foo> on the configure command line and
> Open MPI is unable to find relevant support for <foo>, configure will
> assume that it was unable to provide a feature that was specifically
> requested and will abort so that a human can resolve out the issue.
> -----
> 
> Hence, if the user had specified --with-tm (even without a path), and Open 
> MPI's configure was not able to find TM support, configure would have aborted.
> 
> This --with-<foo> support is uniform across all of its options.  Hence, if 
> you want to guarantee that you have support for a specific feature, you 
> should use --with-<foo>.
> 
> I'm almost certain that we decided on this behavior back near the beginning 
> of the Open MPI project because of conversations exactly like this (and 
> me/others citing that writing something out at the end of configure might end 
> up being a losing battle)...
> 
> 
> > On Jan 25, 2016, at 5:30 PM, Howard Pritchard <hpprit...@gmail.com> wrote:
> >
> > HI Folks,
> >
> > I like Paul's suggestion for configury summary output a lot.  It would have 
> > helped me when I was trying to deal with an oddball
> > one-off install of the moab/torque software on one of the non-standard 
> > front ends at LANL.  The libfabric configury has
> > such a summary output at the end of configure and it makes it much simpler 
> > (for a much smaller project) to check that
> > you're getting what you expected.
> >
> > I still say updating the FAQ with something more precise is in order.  I'll 
> > work on that.
> >
> > Howard
> >
> >
> > 2016-01-25 15:20 GMT-07:00 Paul Hargrove <phhargr...@lbl.gov>:
> > Ralph,
> >
> > As a practical matter most users probably aren't going to know what to do 
> > with anything that scrolls off their screen.
> > So I think dumping the ompi_info output as-is would be just "noise" to many 
> > folks.
> > That is one reason I didn't just suggest doing exactly that 
> > (cross-compilation being another)
> >
> > However, a suitably summarized output might be just the right thing.
> > Perhaps something compact along the lines of
> >     MCA foo: component1 component2 component2
> >  MCA foobar: componentA componentB
> >   ...
> >    Bindings: C C++ Java Fortan(mpif.h 'use mpi')
> >
> > If this could information be generated at the end of configure, rather than 
> > "make install", it could save folks some time spent compiling incorrectly 
> > configured builds.
> >
> >
> > Another thing one might independently want to consider is having configure 
> > warn when the required libs are present for a component but the "can 
> > compile" test fails.
> > This would, for instance, catch the situation when the "libfoo" packages is 
> > installed but the "libfoo-dev" package is not.
> > This approach, however, may require non-trivial changes to how all the 
> > configure probes are performed since I don't believe this is something 
> > autoconf has existing support for (the AC_CHECK_LIB macro is effectively a 
> > check for the "libfoo-dev" package only).
> >
> >
> > Just my $0.02USD, of course.
> >
> > -Paul
> >
> > On Mon, Jan 25, 2016 at 1:46 PM, Ralph Castain <r...@open-mpi.org> wrote:
> > That makes sense, Paul - what if we output effectively the ompi_info 
> > summary of what was built at the end of the make install procedure? Then 
> > you would have immediate feedback on the result.
> >
> > On Mon, Jan 25, 2016 at 1:27 PM, Paul Hargrove <phhargr...@lbl.gov> wrote:
> > As one who builds other people's software frequently, I have my own 
> > opinions here.
> >
> > Above all else, is that there is no one "right" answer, but that 
> > consistency with in a product is best.
> > So (within reason) the same things that work to configure module A and B 
> > should work with C and D as well.
> > To use an analogy from (human) languages, I dislike "irregular verbs".
> >
> > The proposal to report (at run time) the existence of TM support on the 
> > system (but lacking in ORTE), doesn't "feel" consistent with existing 
> > practice.
> > In GASNet we *do* report at runtime if a high-speed network is present and 
> > you are not using it.
> > For instance we warn if the headers were missing at configure time but we 
> > can see the /dev entry at runtime.
> > However, we do that uniformly across all the networks and have done this 
> > for years.
> > So, it is a *consistent* practice in that project.
> >
> > Keep It Simple Stupid is also an important one.
> > So, I agree with those who think the proposal to catch this at runtime is 
> > an unnecessary complication.
> >
> > I think improving the FAQ a good idea
> >
> > I do, however, I can think of one thing that might help the "I thought I 
> > had configured X" problem Jeff mentions.
> > What about a summary output at the end of configure or make?
> >
> > Right now I sometimes use something like the following:
> >   $ grep 'bindings\.\.\. yes' configure.out
> >   $ grep -e 'component .* can compile\.\.\. yes' configure.log
> > This lets me see what is going to be built.
> > Outputing something like this a the end of configure might encourage admins 
> > to check for their feature X before typing "make"
> > The existing configury goop can easily be modified to keep a list of 
> > configured components and language bindings.
> >
> > However, another alternative is probably easier to implement:
> > The last step of "make install" could print a message like
> >   NOTICE: Your installation is complete.
> >   NOTICE: You can run ompi_info to verify that all expected components and 
> > language bindings have been built.
> >
> > -Paul
> >
> > On Mon, Jan 25, 2016 at 11:13 AM, Jeff Squyres (jsquyres) 
> > <jsquy...@cisco.com> wrote:
> > Haters gotta hate.  ;-)
> >
> > Kidding aside, ok, you make valid points.  So -- no tm "addition".  We just 
> > have to rely on people using functionality like "--with-tm" in the 
> > configure line to force/ensure that tm (or whatever feature) will actually 
> > get built.
> >
> >
> > > On Jan 25, 2016, at 1:31 PM, Ralph Castain <r...@open-mpi.org> wrote:
> > >
> > > I think we would be opening a real can of worms with this idea. There are 
> > > environments, for example, that use PBSPro for one part of the system 
> > > (e.g., IO nodes), but something else for the compute section.
> > >
> > > Personally, I'd rather follow Howard's suggestion.
> > >
> > > On Mon, Jan 25, 2016 at 10:21 AM, Nathan Hjelm <hje...@lanl.gov> wrote:
> > > On Mon, Jan 25, 2016 at 05:55:20PM +0000, Jeff Squyres (jsquyres) wrote:
> > > > Hmm.  I'm of split mind here.
> > > >
> > > > I can see what Howard is saying here -- adding complexity is usually a 
> > > > bad thing.
> > > >
> > > > But we have gotten these problem reports multiple times over the years: 
> > > > someone *thinking* that they have built with launcher support X (e.g., 
> > > > TM, LSF), but then figuring out later that things aren't running as 
> > > > expected, and after a bunch of work, figure out that it's because they 
> > > > didn't build with support X.
> > > >
> > > > Gilles idea actually sounds interesting -- if the tm module detect some 
> > > > of the sentinel PBS/TM env variables, emit a show_help() if we don't 
> > > > have full TM support compiled in.  This would actually save some users 
> > > > a bunch of time and frustration.
> > > >
> > > > --> Keep in mind that the SLRUM launcher is different, because it's all 
> > > > CLI-based (not API-based) and therefore we always build it (because we 
> > > > don't have to find headers and libraries).
> > > >
> > > > FWIW, we do have precedent of having extra MCA params for users to turn 
> > > > off warnings that they don't want to see.
> > > >
> > > > I guess the question here is: is there a valid use case for running in 
> > > > PBS/Torque and *not* wanting to use the TM launcher?
> > >
> > > Once case comes to mind. In the case of Cray systems that unfortunately
> > > run Moab/Toque we can launch using either alps or torque (Howard correct
> > > me if I am wrong). When Sam and I originally wrote the XE support we
> > > used alps instead of torque. I am not entirely sure what we do now.
> > >
> > > -Nathan
> > >
> > > _______________________________________________
> > > 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/2016/01/18509.php
> > >
> > > _______________________________________________
> > > 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/2016/01/18510.php
> >
> >
> > --
> > 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/2016/01/18511.php
> >
> >
> >
> > --
> > Paul H. Hargrove                          phhargr...@lbl.gov
> > Computer Languages & Systems Software (CLaSS) Group
> > Computer Science Department               Tel: +1-510-495-2352
> > Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
> >
> > _______________________________________________
> > 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/2016/01/18513.php
> >
> >
> > _______________________________________________
> > 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/2016/01/18514.php
> >
> >
> >
> > --
> > Paul H. Hargrove                          phhargr...@lbl.gov
> > Computer Languages & Systems Software (CLaSS) Group
> > Computer Science Department               Tel: +1-510-495-2352
> > Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
> >
> > _______________________________________________
> > 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/2016/01/18516.php
> >
> > _______________________________________________
> > 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/2016/01/18518.php
> 
> 
> --
> 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/2016/01/18520.php
> 
> _______________________________________________
> 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/2016/01/18521.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