LLNL / maestrowf

A tool to easily orchestrate general computational workflows both locally and on supercomputers
https://maestrowf.readthedocs.io
MIT License
134 stars 43 forks source link

Add the ability to specify which MPI launcher to use #110

Open FrankD412 opened 6 years ago

FrankD412 commented 6 years ago

@gonsie mentioned this issue previously, but I wanted to make note of it since this came up again when using the Flux-spectrum adapter. This issue addresses the ability to specify a different MPI launcher other than a schedulers default (say for SLURM, srun etc.).

The FluxSpectrum adapter handles this by requiring the mpi key in its batch parameters. I propose that this key, along with something like mpi_args become required batch keys. An adapter can then index into a standard set of MPI objects to get the appropriate launcher format (and validate args). The mpi key could even be optional, with each specific scheduling adapter specifying its preferred default.

gonsie commented 6 years ago

I like the idea of a preferred default.

FrankD412 commented 6 years ago

More sanity notes:

Some thoughts on the current recipe format mentioned above:

FrankD412 commented 6 years ago

Alright, I've been steadily working on this in the enhance/mpi_launchers branch. And here's what I have going so far (if you'd like to take a look at what's been changing, feel free to look at the branch and comment there).

Other thoughts:

These are all the major thoughts I've had since starting to implement the enhancements related to this issue. I'll keep updating as I find other things.

FrankD412 commented 5 years ago

This issue is going to be somewhat complex to implement because it's going to need a hefty refactor. I'm moving it out of v1.1.4 release.