reframe
reframe copied to clipboard
Support distributing multi-node jobs with the `--distribute` option
We should extend the --distribute feature to multi-node jobs that will (by default) run on all the combinations of available nodes over the nodes of the test. Since the combinations can grow extremely fast, we should give the user the option prune the exploration space by extending the syntax of the NODESTATE argument to the --distribute option. For example, we could have something like --distribute[=NODESTATE[:distspec]], where distspec is the specification for distributing the nodes. One other important thing to pay attention to is not to create blindly the test cases if they are too many. In this case, we should issue a warning and ask the user to pass another option to force the creation of the test cases if the number of combinations exceeds a certain limit, e.g., 1000.