signac-flow
signac-flow copied to clipboard
New directives syntax
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:
- [x] I am familiar with the Contributing Guidelines.
- [x] I agree with the terms of the Contributor Agreement.
- [x] My name is on the list of contributors.
- [ ] The changes introduced by this pull request are covered by existing or newly introduced tests.
- [ ] The package documentation and framework documentation in signac-docs are up to date with these changes.
- [ ] I have updated the changelog and added any related issue and pull request numbers for future reference.
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.