-
Notifications
You must be signed in to change notification settings - Fork 1.2k
experiments: support local parallel execution in temp directories #4257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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 repro
is currently supporteddvc run
stages within a singlerepro
command cannot be run in paralleldvc repro --experiment --queue
can be used to add an experiment to the execution queuedvc repro --run-all
will run all experiments currently in the queue-j/--jobs
can 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 show
and denoted with*
Next steps:
experiments
classes rather than reading output from an executor's tree)