-
Notifications
You must be signed in to change notification settings - Fork 859
WeeklyTelcon_20190423
- Dialup Info: (Do not post to public mailing list or public wiki)
- Geoff Paulsen
- Matthew Dosanjh
- Brian Barrett
- Edgar Gabriel
- Josh Hursey
- Ralph Castain
- Todd Kordenbrock
- Jeff Squyres
- Michael Heinz (Intel)
- Thomas Naughton
- Joshua Ladd
- George Bosilca
- Howard Pritchard
- Akshay Venkatesh (nVidia)
- Dan Topa (LANL)
- Noah Evans (Sandia)
- David Bernholdt
- Mike Heinz (Intel)
- Jake Hemstad
- Xin Zhao
- Nathan Hjelm
- Geoffroy Vallee
- Matias Cabral
- Aravind Gopalakrishnan (Intel)
- Arm (UTK)
- Peter Gottesman (Cisco)
- mohan
-
Vector Datatype https://github.com/open-mpi/ompi/issues/5540
- If you're using complicated data types for real things, it's important.
- Should it be back ported to release branches? Perhaps not, since only one customer has hit.
- Not a blocker for v4.0.1
-
Jeff opened a PR about ProBot - https://github.com/apps/stale
- Brian to send out email about tomorrow.
- https://github.com/open-mpi/ompi/pull/6495
- Brian created a wiki page under open mpi for 'CI development tasks'
- Wishlist wiki: https://github.com/open-mpi/ompi/wiki/GitHub-Robot-Tasks
- Auto adding labels to PRs.
- Would all run on AWS Jenkins server
- Nice framework is written in NODE.js
-
Should have someone begin working on
-
Issue: Some cases cause Co-Author instead of signed-off: https://github.com/pmix/pmix-standard/pull/180/commits We may want to update our policy to also allow for Co-Authored-By When someone proposes a change via a github review, and the Author approves it, the new commit has a "Co-Authored-By". ACTION: Jeff will email Github to ask how other teams deal with this.
-
Submodule Topic
- Background - how to build the OMPI stack, moving to PRRTE. PMIx then becomes the infrastructure, but PRRTE needs to be able to stand alone.
- Proposal to use submodules to implement
- Concerns that we need to coirdinate Alliena DDT, and Totalview Tools.
- Reason that this doesn't work is that there's no MPIR interface in PRRTE.
- So we need to either get PMIx interface into the tools and remove support for MPIR
- Ripping out an interface the tools depend on, but we can not wait for them to catch up.
- Concerns about using submodules:
- One OPAL would move off to it's own repo, and we'd have a reference.
- A bot would watch that, and then it would file a PR, and a human would merge.
- We MAY want to automate this at some point, but manually first.
- Issue, someone locally makes a change to a submodule and commits locally, then bumps their parent repo's reference to point to that local change. If they push THAT, then other users won't have that submodule change.
- CI catches case this, where someone accidentally pushes a submodule change
- Other challenge is someone doesn't rev submodule refrence until right before a release.
- For release branches, they should really point to a submodule release also.
- One OPAL would move off to it's own repo, and we'd have a reference.
- New directory structure, will cause a lot of configury work.
- Brian did some ugly prototyping in an hour, but not too bad.
- How would this work for install?
- just use
--prefix
and let each submodule install to the right place. -
--enable-debug
across multiple projects then it's going to be a bit of a pain. - Since similar lineage for each of these projects, then similar configure flags for each component.
- just use
-
Figure 2 of document shows:
- external->opal->HEAD prrte->HEAD pmix->HEAD libevent->v2.1.8-stable release hwloc->v2.0.3 release
- In reality, opal depends on libevent. pmix depends on hwloc
- How do we ensure that the dependencies are "compatible"?
- If everyone has the same jenkins driving them to update. Issues should be transient.
- PRRTE doesn't bundle libevent, and hwloc. So OMPI is only owners of bundling.
- PRRTE only uses external
- Don't have the "keep in sync" issue for anything but PMIX and OPAL.
- OMPI currently uses HWLOC directly. Treematch code uses hwloc directly.
- Most of code today doesn't use hwloc... just goes through pmix.
- Two versions of OPAL one for OMPI and one for PRRTE?
- How do we ensure those are not incompatible?
- Answer: Test a lot.
-
submodule if have patch on two pieces, have to push lower, then wait for patch to get accepted (to get the hash, and CI to finish) then update higher level patch before pushing that.
-
Remember due to linkers, we need to keep OPAL as stable ABI.
-
Are we going to have official opal "releases", or just have everyone track master?
- Yes want to do release branches of opal. And cut them at the same time.
- This will make cherry-picking on release branches a bit tricky
- Fix that spans both ompi/opal will be complicated.
- Brian will update document
- Will there be a seperate OPAL VERSION file?
- Yes, and this is why release branches should be cut in both repos.
- What to do about PMIx and PRRTE ? Do they get their own release branches?
- That just triples the work, and doesn't mean we're converging on opal
- No, just version the dependencies, and submodules will
-
If anyone has a problem with submodules fundamentally, please speak up now.
- Just normal knee jerk reaction, but it looks like with good CI we can manage the risks.
-
Host Ordering fix to v3.0.x, v3.1.x, v4.0.x https://github.com/open-mpi/ompi/issues/6501
- --host (and hostfile) on command line, the ordering of the hosts were not ordered.
- This Fix went into master. Do we want to bring it back to release branches?
- Everyone on call liked PRing this to release branches, but want to see what Brian and Howard think.
- Not a backwards compatibility issues, since a specified ordering is a subset of a random ordering.
- There is a PR for v4.0.x that Ralph and Jeff are iterating on. Unexpectedly large. Would be good to do this first.
- Ralph is slammed but will try to find some time this week or next.
-
OLD Giles openib issue: https://github.com/open-mpi/ompi/pull/6152
- No one had any thoughts on.
- Would like Mellanox to chime in and let us know if it's needed in v4.0.x
- No update.
-
Season of Documentation?
- Due: April 23rd.
- If anyone has any ideas on our website other than start from scratch, please let Howard know.
- Any experience Open MPI had with professional tech writers are all gone.
- Sun wrote our man pages many years ago. Jeff Squires did proof reading.
- Jeff did all of the open mpi web-pages.
- Season of Documentation stipend. Would Open MPI want to accept the stipend?
- Yes, we'd accept as long as it comes as a donation, not a pay for services.
- Well, Stipend implies Taxable... which would be a no.
- Ralph and Jeff are contacts for "Software in the Public Interest"
- Jeff and Howard will share via box folder.
- OLD:
- In libfabric they make man pages in Markdown, and then in make dist, they convert it to nroff.
- For user facing APIs, they use Sphynx - convert Markdown in comments to user facing HTML man pages.
-
OLD Noah described a new thread framework
- two bits of cleverness. Static initializes, and need certain functions to be static inline.
- Get an implementation defined header that gets installed in configure. (similar to libevents)
- Two components: Argobots and pthreads.
- Currently exclusive (only one component, since it installs a header at configure time).
- Probably permanently.
- Need to look at thread local storage.
- Had to implement TLS on top of pthreads, Argobots has this already.
- Request completion would be the most sensitive to having oversubscription.
- Posted a Work-in-progress PR:
https://github.com/open-mpi/ompi/pull/6578
- certain types of applications want to schedule a finer grained task
- Ex: OpenMP groups, some apps have shown some improvements.
- If you have a really unbalanced problem, where you can't rebalance with a mesh rebalance. Then if you do a traditional MPI task per core, the imbalance becomes a big problem. Like the CharmPlusPlus approach, don't think about task / thread mapping yourself, let the system map that. To do this well, you need to implement them correctly. Really want some threads (like libevent) to really be an OS thread, rather than user thread.
- Do you have to use the same thread framework at all levels of the process?
- You kinda want the MPI process to know how the user is using threads, but also want the libevent thread to be pre-emtively schedule, not co-operatively scheduled (borrowing from solaris terminology)
Review All Open Blockers
Review v3.0.x Milestones v3.0.4
- Shipped v3.0.4 Last week
- Will be at 3.0.5 driver: Fix hostlist ordering Fix for persistent sends memory leak
Review v3.1.x Milestones v3.1.4
- Shipped v3.1.4 Last week
- Will be at 3.1.5 driver: Fix hostlist ordering Fix for persistent sends memory leak
Review v4.0.x Milestones v4.0.2
- Got a little heat after the v4.0.1, because we're hiding the MPI1 APIs by default.
- We told the world we were going to do it in v4.0.0
- in v4.0.1 we fixed the bug, but didn't announce it loudly in v4.0.1
- Not too much in way of PRs. A couple of new things for OB1.
- Waiting for hostlist
- Issue 6568:
- 4.0.1 and 4.0.x reproduced for Jeff.
- Issue 6565 MPI persistent sends cause a leak in ob1.
- Jeff tracked it back to v2.x
- Fujitsu root caused it.
- We don't have a fix yet.
- Not a blocker.
- Should pull future fix to v3.0.x and v3.1.x, and maybe to v2.x (but not release)
- Josh Ladd please review PR6152 - delay UCX warning to add_procs
- Josh Hursey Please review PR6508 - ensure nodes are always used in order.
- This was being held for post v4.0.1 due to size
- Ralph, was there any reason to add anything to PR6508?
- Yes, it's not quite right.
- This still
- Vader - cleanup, fixes the problem. Intel folks have verified that.
- PR6508 - Fixes host ordering, but is quite large.
- Fixing this brings in quite a bit of other things.
- Problem with this is that it's a significant patch
- Action: Ralph will look at it.
- This might force
- Schedule: Delaying post Summer ***
- Discussion of schedule depends on scope discussion
- if we want to separate Orte out for that? Would be a bit past summer.
- Giles has a prototype of PRRTE replacing ORTE
- Want to open up release-manager elections.
- Now that we're delaying, will decide at face2face.
- Now the possibility of v4.1 from master is a possibility
- If we instead do a v4.1, some things we'd need fixed on master.
- will discuss more at face to face.
- Brian and Ralph are meeting on the 18th
- Ralph is putting out a doodle to discuss
- Fortran Array
-
Schedule sometime this summer will be v4.0.x
- No schedule as of April 16
-
A few bugfix releases for v2 and v3 series. RC this week, and release sometime in April.
-
New standardization issue is destined for v5
-
Take a look at Gile's PRRTE work. He may have done SOME of that. He should have done that all in PRRTE layer, maybe just some MPI layer work remains.
- PR6339 - he's closed, and re-opened a new branch to look at.
- Howard reviewed PR6339, and likes everything that Giles did, so abandoned his branch
- This is a good approach, and gets something running, but it's not complete
- IBM still has 10% failure rate and build issue. Please fix!!!
- MPI Forum - nothing too substantial. MPI_Sessions getting a lot of traction. Goal to get it done by next meeting. Need reading, and then vote, and another vote and another. So MPI Next would be in 2020 year. Language bindings, and some crazy proposals
- Read MPI Forum link here: https://www.mpi-forum.org/
- how do we get more participation, and make MTT more meaningful?
Review Master Master Pull Requests
- didn't discuss today.
Review Master MTT testing
- Mellanox, Sandia, Intel
- LANL, Houston, IBM, Fujitsu
- Amazon,
- Cisco, ORNL, UTK, NVIDIA