-
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
Trace MPI events with PMPI wrappers when outside VT #900
Labels
Comments
pnstickne
added a commit
that referenced
this issue
Jun 30, 2020
- A bit easier to work with, perhaps.
pnstickne
added a commit
that referenced
this issue
Jun 30, 2020
- Now can map custom actions in the generator; currently a simple sub, and to be logging or some such.
pnstickne
added a commit
that referenced
this issue
Jun 30, 2020
pnstickne
added a commit
that referenced
this issue
Jun 30, 2020
- When a trace user ID is registered it is (often) reported up to rank 0 so it can be added to the STS definition. Unify the logic in one place to support future changes. Also fixes an edge-case where it may be possible for the same registration to be sent multiple times, which is wasteful.
pnstickne
added a commit
that referenced
this issue
Jun 30, 2020
- This unwinds the stack to avoid failing attempting to re-grant MPI access while running under a PMPI wrapper..
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- A bit easier to work with, perhaps.
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- Now can map custom actions in the generator; currently a simple sub, and to be logging or some such.
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- When a trace user ID is registered it is (often) reported up to rank 0 so it can be added to the STS definition. Unify the logic in one place to support future changes. Also fixes an edge-case where it may be possible for the same registration to be sent multiple times, which is wasteful.
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- This unwinds the stack to avoid failing attempting to re-grant MPI access while running under a PMPI wrapper..
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- Provides some API between auto-generated code and standard VT component registration and lifetime management.
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- This should (eventually) use option flags and/or the scheduler runtime depth information to determine if a PMPI call should be logged, regardless of overall tracing status. This also finishes up some component registration and exposure, as needed to be accessed from the free functions.
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- Provides some API between auto-generated code and standard VT component registration and lifetime management.
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- This should (eventually) use option flags and/or the scheduler runtime depth information to determine if a PMPI call should be logged, regardless of overall tracing status. This also finishes up some component registration and exposure, as needed to be accessed from the free functions.
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- Prevent issue where MPI_Wtime could be accessed prior to MPI_Init and crash program..
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- Has to be outside of a loop, without any specific PMPI grants in scope. This can be improved once all usages use the newer loop structure..
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- If nothing else, this allows tests to easily pass.
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- These were individually excluded and are considered core infrastructure PMPI calls that have no need to be logged or guarded.
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- Passing 'no event' is used to create a NO-OP call to this type. Ensure that it truly is a NO-OP in this case.
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- When a trace user ID is registered it is (often) reported up to rank 0 so it can be added to the STS definition. Unify the logic in one place to support future changes. Also fixes an edge-case where it may be possible for the same registration to be sent multiple times, which is wasteful.
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- This unwinds the stack to avoid failing attempting to re-grant MPI access while running under a PMPI wrapper..
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- Provides some API between auto-generated code and standard VT component registration and lifetime management.
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- Splits generators into smaller pieces and prepares for future work. - Wrappers generate collective events.
pnstickne
added a commit
that referenced
this issue
Jul 14, 2020
- This should (eventually) use option flags and/or the scheduler runtime depth information to determine if a PMPI call should be logged, regardless of overall tracing status. This also finishes up some component registration and exposure, as needed to be accessed from the free functions.
pnstickne
added a commit
that referenced
this issue
Jul 21, 2020
- Passing 'no event' is used to create a NO-OP call to this type. Ensure that it truly is a NO-OP in this case.
pnstickne
added a commit
that referenced
this issue
Jul 21, 2020
- Provides some API between auto-generated code and standard VT component registration and lifetime management. - This should (eventually) use option flags and/or the scheduler runtime depth information to determine if a PMPI call should be logged, regardless of overall tracing status. This also finishes up some component registration and exposure, as needed to be accessed from the free functions.
pnstickne
added a commit
that referenced
this issue
Jul 21, 2020
- Splits generators into smaller pieces and prepares for future work. - Wrappers generate collective events.
pnstickne
added a commit
that referenced
this issue
Jul 21, 2020
- Has to be outside of a loop, without any specific PMPI grants in scope. This can be improved once all usages use the newer loop structure..
pnstickne
added a commit
that referenced
this issue
Jul 21, 2020
- If nothing else, this allows tests to easily pass.
pnstickne
added a commit
that referenced
this issue
Jul 21, 2020
- Passing 'no event' is used to create a NO-OP call to this type. Ensure that it truly is a NO-OP in this case.
pnstickne
added a commit
that referenced
this issue
Jul 28, 2020
- Provides some API between auto-generated code and standard VT component registration and lifetime management. - This should (eventually) use option flags and/or the scheduler runtime depth information to determine if a PMPI call should be logged, regardless of overall tracing status. This also finishes up some component registration and exposure, as needed to be accessed from the free functions.
pnstickne
added a commit
that referenced
this issue
Jul 28, 2020
- Splits generators into smaller pieces and prepares for future work. - Wrappers generate collective events.
pnstickne
added a commit
that referenced
this issue
Jul 28, 2020
- Has to be outside of a loop, without any specific PMPI grants in scope. This can be improved once all usages use the newer loop structure..
pnstickne
added a commit
that referenced
this issue
Jul 28, 2020
- If nothing else, this allows tests to easily pass.
pnstickne
added a commit
that referenced
this issue
Jul 28, 2020
- Passing 'no event' is used to create a NO-OP call to this type. Ensure that it truly is a NO-OP in this case.
pnstickne
added a commit
that referenced
this issue
Jul 28, 2020
- If nothing else, this allows tests to easily pass.
pnstickne
added a commit
that referenced
this issue
Jul 28, 2020
- Passing 'no event' is used to create a NO-OP call to this type. Ensure that it truly is a NO-OP in this case.
pnstickne
added a commit
that referenced
this issue
Jul 28, 2020
- If nothing else, this allows tests to easily pass.
pnstickne
added a commit
that referenced
this issue
Jul 28, 2020
- Passing 'no event' is used to create a NO-OP call to this type. Ensure that it truly is a NO-OP in this case.
pnstickne
added a commit
that referenced
this issue
Jul 28, 2020
pnstickne
added a commit
that referenced
this issue
Jul 28, 2020
pnstickne
added a commit
that referenced
this issue
Jul 28, 2020
pnstickne
added a commit
that referenced
this issue
Jul 28, 2020
- MPI_Get is now guarded. - Some minor comment updates.
pnstickne
added a commit
that referenced
this issue
Jul 31, 2020
- Now uses an option instead of a flag. Specify the form of MPI to enable. In C++, the options should be separated with spaces: --vt_mpi_trace internal --vt_mpi_trace external --vt_mpi_trace internal externall 'internal' is the few select internal calls, 'external' is PMPI overall.
lifflander
pushed a commit
that referenced
this issue
Aug 4, 2020
- Provides some API between auto-generated code and standard VT component registration and lifetime management. - This should (eventually) use option flags and/or the scheduler runtime depth information to determine if a PMPI call should be logged, regardless of overall tracing status. This also finishes up some component registration and exposure, as needed to be accessed from the free functions.
lifflander
pushed a commit
that referenced
this issue
Aug 4, 2020
- Splits generators into smaller pieces and prepares for future work. - Wrappers generate collective events.
lifflander
pushed a commit
that referenced
this issue
Aug 4, 2020
- Has to be outside of a loop, without any specific PMPI grants in scope. This can be improved once all usages use the newer loop structure..
lifflander
pushed a commit
that referenced
this issue
Aug 4, 2020
- If nothing else, this allows tests to easily pass.
lifflander
pushed a commit
that referenced
this issue
Aug 4, 2020
- Passing 'no event' is used to create a NO-OP call to this type. Ensure that it truly is a NO-OP in this case.
lifflander
pushed a commit
that referenced
this issue
Aug 4, 2020
lifflander
pushed a commit
that referenced
this issue
Aug 4, 2020
- MPI_Get is now guarded. - Some minor comment updates.
lifflander
pushed a commit
that referenced
this issue
Aug 4, 2020
- Now uses an option instead of a flag. Specify the form of MPI to enable. In C++, the options should be separated with spaces: --vt_mpi_trace internal --vt_mpi_trace external --vt_mpi_trace internal externall 'internal' is the few select internal calls, 'external' is PMPI overall.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What Needs to be Done?
We currently track when we are outside VT. With the PMPI wrappers enabled, we can generate user events for MPI calls, like
MPI_Send
/MPI_Recv
/MPI_Reduce
/etc.The text was updated successfully, but these errors were encountered: