-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1899 Improve performance of Runnable and surrounding machinery #1963
1899 Improve performance of Runnable and surrounding machinery #1963
Conversation
Pipelines resultsPR tests (gcc-12, ubuntu, mpich) Build for 8568fb7
PR tests (gcc-5, ubuntu, mpich) Build for 8568fb7
PR tests (clang-3.9, ubuntu, mpich) Build for 8568fb7
PR tests (gcc-10, ubuntu, openmpi, no LB) Build for 8568fb7
PR tests (clang-5.0, ubuntu, mpich) Build for 8568fb7
PR tests (gcc-7, ubuntu, mpich, trace runtime, LB) Build for 8568fb7
PR tests (gcc-8, ubuntu, mpich, address sanitizer) Build for 8568fb7
PR tests (gcc-9, ubuntu, mpich, zoltan) Build for 8568fb7
PR tests (nvidia cuda 10.1, ubuntu, mpich) Build for 8568fb7
PR tests (nvidia cuda 11.0, ubuntu, mpich) Build for 8568fb7
PR tests (gcc-6, ubuntu, mpich) Build for 8568fb7
PR tests (clang-10, ubuntu, mpich) Build for 8568fb7
PR tests (clang-9, ubuntu, mpich) Build for 8568fb7
PR tests (clang-12, ubuntu, mpich) Build for 8568fb7
PR tests (intel icpx, ubuntu, mpich) Build for 8568fb7
PR tests (clang-13, ubuntu, mpich) Build for 8568fb7
PR tests (clang-14, ubuntu, mpich) Build for 8568fb7
PR tests (gcc-11, ubuntu, mpich, json schema test) Build for 8568fb7
PR tests (intel icpc, ubuntu, mpich) Build for 8568fb7
PR tests (clang-11, ubuntu, mpich) Build for 8568fb7
PR tests (clang-13, alpine, mpich) Build for 8568fb7
|
d411151
to
3e4334b
Compare
Codecov Report
@@ Coverage Diff @@
## develop #1963 +/- ##
===========================================
- Coverage 84.37% 84.37% -0.01%
===========================================
Files 727 727
Lines 25491 25491
===========================================
- Hits 21508 21507 -1
- Misses 3983 3984 +1
|
Looks like we have a double free when fcontext is enabled. |
5416018
to
bc3b2b4
Compare
This is a long-standing bug that started showing up with the changes in #1899, making the runnable more efficient. TestGroup.test_group_range_construct_2 was consistently breaking on the gcc-8 build with address sanitizer. With extensive debugging, I tracked this bug down to the lack of propagation of an epoch on the remote group construction message when a rooted group is constructed where the constructing node is not included. Additionally, the group must be specified by a list (not a range). When these conditions occur, the group manager sends the information about the group to a remote node using a packed put, which uses the `PayloadMessage`: namely, ` struct GroupListMsg : GroupInfoMsg<GroupMsg<::vt::PayloadMessage>>`. The `PayloadMessage`, using a default template parameter, uses a basic envelope which is not large enough to store the epoch. Thus, it gets dropped. Therefore, the test sometimes breaks because the group construction and following broadcast escape the `runInEpochCollective` and the test condition will fail sometimes as it races with the delivery of the group message being broadcast to the group spanning tree.
c7df3b9
to
ba19bad
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lots going on here, but looks good to me!
…-allocation-performance-new-variant 1899 Improve performance of Runnable and surrounding machinery
Fixes #1899
Fixes #1593 (see commit 4992e78)