experiments: support local parallel execution in temp directories#4257
Conversation
02a5fb9 to
0fa523d
Compare
0fa523d to
ea37620
Compare
|
Looks like there's a windows issue w/cleaning up the executor temp directories, I'll have to take a look into it tomorrow |
* `--queue` can be used to stage an experiment for future execution
* `--run-all` can be used to run all queued experiments in parallel
* fix returning unpicklable objects error
* on windows tempdir cannot be removed if we are chdir'd into that directory
6382f65 to
66df566
Compare
|
The windows CI issue is resolved and this should be mergable. Not sure what's going on with the lint build step, check_patch/pylint passes for me locally and in the travis build. |
|
@pmrowla, could be related to pytest-dev/pytest#7558. |
pytest-dev/pytest#7558 pylint throws error for `pytest.mark.*` functions in pytest6. ``` tests/unit/repo/test_repo.py:15:1: E1102: pytest.mark.parametrize is not callable (not-callable) tests/unit/repo/test_repo.py:33:1: E1102: pytest.mark.parametrize is not callable (not-callable) ************* Module tests.unit.remote.ssh.test_connection tests/unit/remote/ssh/test_connection.py:87:1: E1102: pytest.mark.skipif is not callable (not-callable) tests/unit/remote/ssh/test_connection.py:100:1: E1102: pytest.mark.skipif is not callable (not-callable) ``` #4257 (comment)
pytest-dev/pytest#7558 pylint throws error for `pytest.mark.*` functions in pytest6. ``` tests/unit/repo/test_repo.py:15:1: E1102: pytest.mark.parametrize is not callable (not-callable) tests/unit/repo/test_repo.py:33:1: E1102: pytest.mark.parametrize is not callable (not-callable) ************* Module tests.unit.remote.ssh.test_connection tests/unit/remote/ssh/test_connection.py:87:1: E1102: pytest.mark.skipif is not callable (not-callable) tests/unit/remote/ssh/test_connection.py:100:1: E1102: pytest.mark.skipif is not callable (not-callable) ``` #4257 (comment)
|
Hi! Wow, this looks cool 👍 👍 Docs-wise though, We have this section in the repro cmd ref, https://dvc.org/doc/command-reference/repro#parallel-stage-execution, reading:
Sounds like it needs an update?
In fact all this seems like several new options have been added, so def. needs docs ticket, I think. Thanks |
|
@jorgeorpinel yeah there will be docs tickets once behavior is finalized, but for now since everything is expected to continue to change before the feature is released (and since it's currently an experimental feature and disabled by default) I haven't submitted any docs PRs yet. |
|
Kk |
❗ I have followed the Contributing to DVC checklist.
📖 If this PR requires documentation updates, I have created a separate PR (or issue, at least) in dvc.org and linked it here.
Maybe: see experiments: support local parallel execution in temp directories #4257 (comment) below.
❌ I will check DeepSource, CodeClimate, and other sanity checks below. (We consider them recommendatory and don't expect everything to be addressed. Please fix things that actually improve code or fix bugs.)
Thank you for the contribution - we'll try to review it as soon as possible. 🙏
Related to #2799.
dvc reprois currently supporteddvc runstages within a singlereprocommand cannot be run in paralleldvc repro --experiment --queuecan be used to add an experiment to the execution queuedvc repro --run-allwill run all experiments currently in the queue-j/--jobscan be used to run experiments in parallel, currently defaults to 1 (run sequentially), will need to decide if we should default to cpu count for this?dvc exp showand denoted with*Next steps:
experimentsclasses rather than reading output from an executor's tree)