Skip to content

add flux multi-prog for MPMD support #6881

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

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

grondo
Copy link
Contributor

@grondo grondo commented Jun 17, 2025

This PR takes the MPMD workaround script from #2414 and turns it into an official Flux command: flux multi-prog.

This is meant to be used as the command and arguments to flux run and flux submit for MPMD support in the near term until more advanced capabilities are added to jobspec. This allows Flux to have this basic capability instead of requiring users to search an issue and copy a workaround script.

This PR includes a manpage and tests for the new command.

grondo added 2 commits June 17, 2025 19:25
Problem: Flux does not currently support for MPMD (multiple program
multiple data) execution for parallel jobs,

Add a new command `flux multi-prog` which takes a mandatory config
file which maps task rank to program and arguments. This utility
is then used as the command and arguments to `flux submit` and/or
`flux run`, i.e.

 $ flux run -N4 flux multi-prog test.conf

Fixes flux-framework#2414
Problem: There's no man page for `flux multi-prog`.

Add one.

Update spelling dictionary.
Copy link
Member

@garlick garlick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All looks good to me and I think we've had a few people use this already so probably has been a little battle tested.

Problem: There are no tests of the `flux multi-prog` utility.

Add a new sharness test t2720-python-cli-multi-prog.t for this
purpose.
Problem: There are no tab completions for flux-multi-prog(1).

Add them.
Copy link

codecov bot commented Jun 18, 2025

Codecov Report

Attention: Patch coverage is 93.61702% with 6 lines in your changes missing coverage. Please review.

Project coverage is 83.86%. Comparing base (b89dfab) to head (72df65d).
Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
src/cmd/flux-multi-prog.py 93.61% 6 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #6881   +/-   ##
=======================================
  Coverage   83.85%   83.86%           
=======================================
  Files         538      539    +1     
  Lines       89962    90056   +94     
=======================================
+ Hits        75440    75521   +81     
- Misses      14522    14535   +13     
Files with missing lines Coverage Δ
src/cmd/flux-multi-prog.py 93.61% <93.61%> (ø)

... and 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants