-
Notifications
You must be signed in to change notification settings - Fork 2
Notes 2020 11 05
Marc-Andre Hermanns edited this page Jan 14, 2021
·
1 revision
- Marc-Andre Hermanns
- Wesley Bland
- Atul Kulkarni
- Bill Williams
- Martin Schulz
- Michael Knobloch
- Joachim Protze
- Bengisu Elis
-
Stackwalking
- Expensive to do "every time"
- Only walk the stack when needed (on-demand)
- Matter of "quality of implementation"
-
MPI should provide the return address
-
Using the context object
-
What kind of performance expectations do we have
- Current prototype is OK
- But on-demand stackwalking is extremely expensive (better ways need to be explored)
-
No tool registration after
MPI_(Session_)Init
- Needs a branch in all functions that may be callable before
MPI_Init
(e.g., Info calls) - What about
MPI_T
?-
MPI_T_init_thread
will start up QMPI.
-
- Tools need to be aware that in the sessions model multiple calls can initialize MPI
- The first time any call with
MPI_
prefix
- The first time any call with
- Tools cannot do anything but registration inside of bootstrap mechanisms
- Order of these may compiler/OS dependent (and MPI might not be initialized yet)
- External library that performs
MPI_Session_init
beforemain
may break other tools that want to register- This is a problem that already exists with PMPI
- Solution could be a general concept (outside of tools)
- External library that performs
- Order of these may compiler/OS dependent (and MPI might not be initialized yet)
- Needs a branch in all functions that may be callable before
-
Maybe three-phase system is better
- "I am a tool, here is my name, and callbacks for interception setup and initialization"
- "Setup all the interceptions"
- "Now it's safe to make MPI calls"