-
Notifications
You must be signed in to change notification settings - Fork 10
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
Test mpi_ring_async_sender_receiver
with all MPI completion modes
#1151
Conversation
6907577
to
b7b5615
Compare
Performance test reportpika PerformanceComparison
Info
Explanation of Symbols
|
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferences🚀 Don’t miss a bit, follow what’s new on Codacy. Codacy stopped sending the deprecated coverage status on June 5th, 2024. Learn more |
…ync_sender_receiver test
… suspend_resume mode
Two counters were used for debugging during development, but are not really needed for counting tasks in flight and it's better to use the main in_flight counter for checking when finished.
cf04418
to
13e41fe
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.
ok. Fortunately, we're not really using the polling size now, but I'll make sure that stuff get's checked next time I change it.
abb60e5
to
d06f114
Compare
This avoids data races between writing (set_max_polling_size) and reading (within the MPI polling loop) the max polling size. Reads are relaxed since we don't care much about stale values being used.
d06f114
to
61555e4
Compare
Is this PR good to go now? |
Yes, should be. I was hoping to get CSCS CI back for testing before merging it. |
Fixes #1142, except for testing the MPI continuations modes. Those will be enabled separately (#1150).
This:
--pika:mpi-completion-mode
flag for setting the mode via command line options. This isn't intended as the primary way to change the mode for users, but is mostly there for the unit test. CMake'sENVIRONMENT
property on tests allows setting an environment variable. I originally intended to use this, but the variables are not exported so sub-processes don't see the value, and since the tests are run throughmpirun
/mpiexec
the variable isn't applied.PIKA_TEST_EQ
so that it's run with all build types and prints the failing value if it fails.--recv-before-send
flag to the unit test, and makes send-before-recv the default, to avoid deadlocks when requests are done inline. Sends will never block indefinitely, so doing the sends first avoids hangs.