Skip to content
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

MPI_T Events #8057

Open
wants to merge 23 commits into
base: main
Choose a base branch
from
Open

MPI_T Events #8057

wants to merge 23 commits into from

Conversation

cchambreau
Copy link

This PR includes Nathan Hjelm's reworking of PERUSE functionality to implement the MPI_T Events API as specified in the MPI 4.0 proposal. Subsequent minor changes to the MPI_T Events API were made and included here. The API and an initial set of events were tested against Marc-André Hermann's MEL tracing tool and other test cases. History, a description of the API and experience with tools can be found in "Enabling callback-driven runtime introspection via MPI_T."

@ompiteam-bot
Copy link

Can one of the admins verify this patch?

@jsquyres
Copy link
Member

ok to test

@gpaulsen
Copy link
Member

@cchambreau, Hi. Is this desirable for Open MPI v5.0 (not MPI-4.0 compliant)? If so please, rebase it and get it into master and then cherry-pick to v5.0.x branch after it's in master.

Copy link
Member

@jsquyres jsquyres left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you rebase and fix all current conflicts?

Do we have any tests for this MPI_T event functionality?

ompi/mpi/tool/event_get_info.c Outdated Show resolved Hide resolved
@hppritcha
Copy link
Member

@cchambreau could you please rebase? thanks.

@hppritcha hppritcha self-assigned this Nov 16, 2021
@hppritcha
Copy link
Member

Howard will rebase and merge unless objections are raised.

ompi/mpi/tool/event_get_info.c Outdated Show resolved Hide resolved
ompi/mpi/tool/event_get_info.c Outdated Show resolved Hide resolved
ompi/mpi/tool/event_get_info.c Outdated Show resolved Hide resolved
ompi/mpi/tool/event_handle_alloc.c Outdated Show resolved Hide resolved
ompi/mpi/tool/event_handle_free.c Outdated Show resolved Hide resolved
opal/mca/base/mca_base_event.c Outdated Show resolved Hide resolved
opal/mca/base/mca_base_event.c Outdated Show resolved Hide resolved
opal/mca/base/mca_base_event.c Outdated Show resolved Hide resolved
opal/mca/base/mca_base_event.c Outdated Show resolved Hide resolved
opal/mca/base/mca_base_event.c Outdated Show resolved Hide resolved
@ibm-ompi
Copy link

The IBM CI (GNU/Scale) build failed! Please review the log, linked below.

Gist: https://gist.github.com/d182f369f64bb66a239cbf4b56b1e3ce

@ibm-ompi
Copy link

The IBM CI (XL) build failed! Please review the log, linked below.

Gist: https://gist.github.com/20f1009df186bd52f322544e39a3595c

@jsquyres
Copy link
Member

jsquyres commented Jan 1, 2022

@cchambreau can you fix the conflicts on this PR? Thanks!

Copy link
Member

@jsquyres jsquyres left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In addition to the other comments on this PR, please update this PR to use opal_clock_gettime() (and, if necessary, opal_clock_getres()) from #9798.

@hppritcha hppritcha force-pushed the topic/mpi_t_events branch 2 times, most recently from 3ed1cd9 to 14ccc8d Compare January 7, 2022 22:11
@hppritcha
Copy link
Member

bot:ompi:retest

@hppritcha hppritcha requested a review from jsquyres January 19, 2022 02:23
ompi/mpi/tool/event_callback_get_info.c Outdated Show resolved Hide resolved
ompi/mpi/tool/event_callback_get_info.c Show resolved Hide resolved
ompi/mpi/tool/event_get_info.c Outdated Show resolved Hide resolved
ompi/mpi/tool/event_get_info.c Outdated Show resolved Hide resolved
ompi/mpi/tool/event_handle_alloc.c Outdated Show resolved Hide resolved
ompi/mpi/tool/source_get_num.c Show resolved Hide resolved
opal/mca/base/mca_base_event.h Show resolved Hide resolved
opal/mca/base/mca_base_source.c Show resolved Hide resolved
opal/mca/base/mca_base_source.c Outdated Show resolved Hide resolved
opal/mca/base/mca_base_source.c Show resolved Hide resolved
@cchambreau
Copy link
Author

@jquyres I'm hoping to get back to this in April.

hjelmn and others added 23 commits December 21, 2023 15:32
…or fixes.

Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
dss.h has been removed since this PR was originally opened

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
…cking.

Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
…functionality

Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
- Correct MPI_T_event_dropped_cb_function arguments
- Check for negative event index

Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
new profile interface generation method

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
by fixing some code

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
values.

Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
Signed-off-by: Chris Chambreau <chambreau1@llnl.gov>
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
@hppritcha
Copy link
Member

@cchambreau i'm trying to get this PR fixed up for merging so did a rebase and pushed to your repo.

@hppritcha
Copy link
Member

Discussed some at the 2024 F2F. Not sure who really needs this. Joseph will ping scorep people about whether they may want/need this feature.

@jsquyres
Copy link
Member

Is it really a question of who needs this?

I.e., isn't this part of conformance to the MPI standard?

@hppritcha
Copy link
Member

Some tools folks were pinged about use of MPI_T events as part of Open MPI devel f2f meeting 4/2024. ScoreP developer said its on their todo list to use this feature in some future release. Tau may already use events if the MPI being used supports it. Possibly some unreleased version of MPI Advisor can use them.

@kingshuk00
Copy link

It would be nice to have this standard-compliant interface from tools perspective.
I have posted another PR PR-6 on the source branch of this PR. This fixes a potential problem that is captured in this test events_callbacks.c. This should be there for correctness.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove PERUSE in favour of upcoming MPI_T pvar implementation