Skip to content

MPI_T Events #8057

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

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?

@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.

@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
@jsquyres
Copy link
Member

jsquyres commented Apr 8, 2022

Hey @hppritcha Are there any plans to continue this work (and delete PERUSE, per #189)?

cchambreau and others added 18 commits December 21, 2023 15:32
…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.

@kingshuk00 kingshuk00 mentioned this pull request Mar 10, 2025
hppritcha added a commit to hppritcha/ompi that referenced this pull request Apr 15, 2025
Turns out I forgot to run the pcvs checker when adding MPI_T event stubs
in PR open-mpi#13086 and missed a couple of events related functions.  Also it
looks like these were not included in PR open-mpi#8057.

With this patch, the PCVS MPI API checker passes for MPI 4.0 standard.

The PCVS MPI API checker is described here https://dl.acm.org/doi/abs/10.1145/3615318.3615329

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
vogma pushed a commit to vogma/ompi that referenced this pull request Apr 22, 2025
Turns out I forgot to run the pcvs checker when adding MPI_T event stubs
in PR open-mpi#13086 and missed a couple of events related functions.  Also it
looks like these were not included in PR open-mpi#8057.

With this patch, the PCVS MPI API checker passes for MPI 4.0 standard.

The PCVS MPI API checker is described here https://dl.acm.org/doi/abs/10.1145/3615318.3615329

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
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