Meeting 2022 01 20 - openpmix/openpmix GitHub Wiki
01/20/2022 PMIx call notes
Attendees
- Ralph Castain (Nanook)
- Samuel Gutierrez (LANL)
- Howard Pritchard (LANL)
- Aurelien Bouteiller (UTK)
- Matt Baker (ORNL)
- Thomas Naughton (ORNL)
- Austen Lauria (IBM)
- Michael Karo (Altair)
Notes
-
ABI work for PMIx Standard (item of interest)
- "Defining a PMIx ABI" #365, https://github.com/pmix/pmix-standard/issues/365
- ABI related changes
- Change macros to avoid using non-standard backend functions
- Converted all of these but 2 that are little more complicated
(
PMIX_INFO_LOAD
andPMIX_INFO_TRANSFER
) - If doing dlopen/dlsym can not use those macros
- If leave as a macro, can't go into standard. But if remove, will break lots of codes.
- Will discuss this on Monday
- If have macro that calls
PMIX_INFO_TRANSFER
, when you dlsym get pointer to a function name, and that does not match the name for use in the macro. - Idea of ABI is to standardize the name of the internal function
- When someone does dlopen/dlsym, have no control over what name of function will be
- So not sure what plan will be do avoid breaking codes
- Thought - what about promoting macro as a function?
- the
PMIX_INFO_LOAD
is used widely, and existing codes would have to change to using the macro for older version and function for newer - The point being can not transparently hide this change.
-
Command-line processing / personality
- "Redesign the command line system to provide isolation" #1176, https://github.com/openpmix/prrte/pull/1176/
- The driver for this is that PRRTE is wanted to be used more widely, and need to customize/tailor things.
- Can use a provided parser from prrte, or do your own. But when finished parsing, have to hand back a specific data structure (i.e., prte_cli_result_t) with a set of known keys that PRTE will understand.
- In mapping area, there are a set of default mapping algorithms, same for ranking and binding. If none provide (custom) then will use the base. Otherwise, can override those defaults via your schizo "personality".
- PRTE is done
- OMPI is started, waiting on feedback
- Hydra is turned off at moment
- Slurm to be added in future (i.e., translate srun to prun commands to avoid having to re-write scripts when using PRRTE)
- Changes to help system
- For PRRTE, getting rid of the MAN pages, will opt for the detailed help from the command-line, e.g., 'help hostfile' get detailed info on hostfile.
- Linux parser being used does not support multi-char single dash options. But some edits (work-arounds) done for OMPI.
- Can do your own custom parsing, and then pass on to the default system parser. Example: ompi parser promotes single dashes to double dash and then has the prte-parser parse as normal with double-dash arg.