Notes 2015 09 25 - mpiwg-tools/tools-issues GitHub Wiki
Attendees
- Jean-Baptiste Besnard
- Wesley Bland
- Brice Goglin
- Marc-Andre Hermanns
- Kathryn Mohror
- Soren Rasmussen
- Jeff Squyres
- Martin Schulz
Notes
-
Jean-Baptiste from ParaTools presented work on MPC
- Multi-Threaded MPI+OpenMP runtime
- Ranks may be implemented as threads
- Not using MPIR yet, but complications may arise due to Process/Thread context issues
-
Paper on MPI Advisor raises problem with MPI_T exposing variables in multi-rail scenarios
-
MPIR Document does not have a release date
- Create an issue once Github is up and running
-
MPIR_being_debugged
- Changes made to explicitly allow the symbol to be present only to a subset
- Changes made to explicitly state the only times changes to the variable are made and which values are valid
-
Should we merge the MPIR and MQD documents into a single document?
- In the new workflow each document would have its own repository
-
QMPI (slides 1 to 18)
QMPI_Tool_register()called before MPI_Init- To avoid symbol clash, tools vendors should use a naming scheme similar to Java (e.g., org_toolprovider_toolname)
tool_registration_structure()shared between tool and runtime.- runtime sets API version
- rest is set by tool
- There may be a problem with visibility of startup/MPI symbols (Jeff called it the "Python problem")
- A handful of startup calls needs to have a standardized ABI
- How does the ABI call know which library to dlopen?
- The concept of families needs to be discussed further
- We should get sysadmins and tools supporters on the call to discuss core ideas
- How should function lists be defined?
- Opaque handles (better abstraction, but additional indirections)
- Well-known format (no abstraction, but fast direct/random access
- We may need function lists of every function for every tool; how to avoid scalability issues?
- Functions have different prototypes; how to store them properly?
- Using
void*looses type safety - Type safety can only be done with a big
structwith C99 initialization - API version number should be first entry.
- Using
- Provide a
QMPI_Funcname_to_offset()to convert a function name to a pointer to the right position in thestruct - Should we use a separate
structfor extensions?