Assume that we are able to “package” MTT so it can be upstreamed to the OpenHPC folks (as they have requested). It then becomes a little more “salable” as a generalized testing tool, which means that the tests in our repo could be used by others without having to deal with the MTT-specific harness calls.
At that point, it seems to me one could make a case for a general MPI test repo that supported MTT, and OpenHPC could even be a reasonable home for it. I can certainly raise the question there, if you like. > On May 19, 2016, at 8:24 AM, Josh Hursey <jjhur...@open-mpi.org> wrote: > > I think talking to the MPICH folks about creating a common test pool might be > useful. More useful would be to get the MPI Forum to 'bless' it and take > input from all of the MPI venders. Maybe you all can talk about that in a > sidebar at the MPI Forum - depending on what we figure out here. > > The MPICH tests [1] contains a few test suites that are freely available as > tarball downloads on their site (though they seem a bit stale - last updated > 2012). They also have the 'tests' subdirectory in their repo [2]. > > > From my perspective, the benefits of creating a new public test repo on > GitHub would be (in no particular order, numbers provided to aid in reference > during followup discussion): > > (1) As we create new MPI test cases for issues, we file them publicly. > Currently, we drop them in ompi-tests for convenience. As a result, the > public cannot see/use them. Same for new test suites that we might create as > part of a new MPI standard interface proposal (e.g., FT, Sessions, or even > back to Nonblocking collectives). > > (2) GitHub allows us to foster a discussion about the tests in a way that is > easily traceable. More so than using a mailing list and discussing a tarball > drop of a test suite. > > (3) We can associate a MTT snippet of code for Test Build/Run that can be > used to run that test suite. Instead of putting this in with the MTT repo. > This would make these snippets slightly easier to find. > > (4) We can contain references to other test suites, even if we don't copy > them into our public test suite. This would allow us to say "hey, there are > these great MPICH/Netpipe/IMB/... tests at this URL" then give them > instructions on how we run them in MTT (or outside of MTT). If we have any > patches for that test suite we could collect them in the sub-directory until > (if) they get incorporated upstream. We could also associate notes on runtime > parameters that help tune Open MPI for a particular performance test at > various scales. > > (5) Generally, it would make it easier for the community to pick up some > unit tests and run them to do a 'make deep-check' on their MPI install. I > think there is a hesitation to use the test suite from another MPI > implementation with Open MPI as it might not be as consistent as one would > like. Any failures would have to be investigated as a difference of > implementation (do their tests use our CLI correctly?), difference of MPI > Standard interpretation (as often happens as the MPI Forum rolls out errata), > or actual bug in Open MPI. For an end user that is tough to determine. For > MPI implementers it is easier since we live those differences. > > > Let me play a little devils advocate here too on a couple points [not that I > need to really, I'm sure I'll get some help here]. (#) reference the points > above. > > (1) Shouldn't the MPI forum be doing this? Maybe. That is for the MPI Forum > to decide, and might be difficult to achieve given the diversity of > stakeholders at that level. However, if there is a public repo for MPI tests > that the MPI Forum can all agree on then that might be a good place to start. > I still think (4) would apply, but maybe we can solve that differently. > > (2) How much do we really debate the correctness of our tests? Early on in > the project, quite often. Lately it still happens (NULL datatype issue, for > example). That discussion can only happen internally since the test cases we > reference are not public unless we expose them (which is toe'ing the line of > redistribution). There is value in broadening the discussion outside of the > Open MPI developers on some of those test cases. At the very least for > educational benefit of the community about some of the more subtle edges of > the MPI standard. > > (3) Shouldn't that sample code live with MTT? Maybe. I can see both sides of > this one. I do think there is some value in separating out the functional > code of MTT from the test suite configurations. > > > -- Josh > > [1] http://www.mcs.anl.gov/research/projects/mpi/mpi-test/tsuite.html > <http://www.mcs.anl.gov/research/projects/mpi/mpi-test/tsuite.html> > [2] http://trac.mpich.org/projects/mpich/browser/test > <http://trac.mpich.org/projects/mpich/browser/test> > > > On Thu, May 19, 2016 at 6:50 AM, Jeff Squyres (jsquyres) <jsquy...@cisco.com > <mailto:jsquy...@cisco.com>> wrote: > I was initially for this idea, but now I find myself conflicted. > > Specifically: what's the value in yet another MPI test suite? > > Sure, we've got a bunch of tests that no one else has (i.e., the things we've > home-grown over the years). Some are great tests. Some will need to be > cleaned up and generalized. Some are user-contributed. Some are ompi-specific. > > Should these tests be contributed to some other test suite? > > Specifically: I'm wondering about the MPICH test suite - that seems to be the > only remaining big MPI test suite these days. Is it worth having a discussion > w the MPICH folks to see if a) their test suite is general enough for all MPI > implementations, and B) if they would accept a bunch of random tests from us? > > And if not, I think I'd like to understand better the value add that we can > provide by making another MPI test suite. > > Sent from my phone. No type good. > > > On May 18, 2016, at 11:54 PM, Josh Hursey <jjhur...@open-mpi.org > > <mailto:jjhur...@open-mpi.org>> wrote: > > > > WHAT: Create a public test repo (ompi-tests-public) to collect > > > > WHY: ompi-tests is private, and difficult/impossible to open up. There is a > > demand for a public collection of unit tests. This repo would allow us to > > cultivate such a collection of unit tests. > > > > WHERE: open-mpi GitHub project > > > > TIMEOUT: Teleconf, Tue., May 24, 2016 > > > > MORE DETAIL: > > > > Over the years we have had periodic public requests for access to our > > ompi-tests repo. Opening up ompi-tests to the public is nearly impossible > > since, given the age of some of these tests, determining if we can > > redistribute these tests has become complicated. > > > > Recently we had two different requests on the MTT users and Open MPI devel > > list about access to the ompi-tests repo for testing. This got me thinking > > that we could try to cultivate a public set of tests with a clear lineage > > and license. > > > > > > Below are my current thoughts for structure and maintenance of the repo. > > Certainly up for discussion. > > > > Similar to the existing ompi-tests repo structure. > > - Call the repository "ompi-tests-public" > > - The repo will contain at least one test suite ('misc' - see below). > > - Each test suite can have its own build system > > - Each test suite should contain a README-MTT.md which will contain a > > sample Test Build and Test Run section for use in MTT. > > > > All tests contributed will be covered under the Open MPI license agreement > > unless a specific test suite has a different, but compatible license. To > > contribute a test to the repo a developer must sign the contributor > > agreement. Contributions must go through a PR + Review process (similar to > > how we maintain ompi-release). This is meant to provide an opportunity to > > review the tests for correctness before acceptance into the repo. > > > > We will seed the repo with a 'misc' test suite. This test suite is meant to > > collect all of the miscellaneous tests created by Open MPI developers > > including those regression tests that emerge as part of Issues or MPI Forum > > discussions, for example. It will contain the unit tests currently in the > > Open MPI's examples directory - what we have been calling the 'trivial' > > test suite. I was thinking about breaking it down into roughly MPI Standard > > chapters. > > > > If someone wants to contribute a whole suite of tests they can do so in a > > separate directory in the repo with it's own build system. The license must > > be compatible with the Open MPI license, and, in particular, allow the code > > to be freely distributed. > > > > > > Let me know what you think. Certainly everything here is open for > > discussion, and we will likely need to refine aspects as we go. > > > > -- Josh > > > > > > > > _______________________________________________ > > devel mailing list > > de...@open-mpi.org <mailto:de...@open-mpi.org> > > Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/devel > > <https://www.open-mpi.org/mailman/listinfo.cgi/devel> > > Link to this post: > > http://www.open-mpi.org/community/lists/devel/2016/05/18997.php > > <http://www.open-mpi.org/community/lists/devel/2016/05/18997.php> > _______________________________________________ > devel mailing list > de...@open-mpi.org <mailto:de...@open-mpi.org> > Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/devel > <https://www.open-mpi.org/mailman/listinfo.cgi/devel> > Link to this post: > http://www.open-mpi.org/community/lists/devel/2016/05/19000.php > <http://www.open-mpi.org/community/lists/devel/2016/05/19000.php> > > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2016/05/19002.php