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 and PMIX_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.