signac-flow icon indicating copy to clipboard operation
signac-flow copied to clipboard

New directives syntax

Open b-butler opened this issue 1 year ago • 1 comments

Description

This PR removes and changes the supported directive names in favor of a more generic structure which has less ambiguous setting and more closely allows for modern scheduler requests. One example is moving np to n_processes which provides some self-documenting effect. We also anchor to n_processes as a basis for most other directives such as n_threads_per_process.

Motivation and Context

There have been multiple issues related to directives behavior or confusion based on naming np and nranks for instance. This clears them up, and simplifies the logic to support various workflows or appropriately disallows them when unlikely to work on a scheduler.

Checklist:

b-butler avatar Feb 16 '24 15:02 b-butler

Sorry for the delay, I have uploaded my current changes.

Some things that need to be done:

  • [ ] Regenerate the template test standard (the generation script currently fails and needs to be debugged)
  • [ ] Add in support for OMP which requires modifying the launcher syntax.
  • [ ] Testing on clusters to validate correctness
  • [ ] Adding new tests of the expected behavior

Currently, the code once debugged supports homogenous MPI, heterogeneous nonMPI, and mixed MPI/nonMPI submissions.

b-butler avatar Mar 15 '24 13:03 b-butler