-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Execution order for dvc DAG #9958
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
Comments
DVC is not a general purpose task runner or a pipeline orchestrator. It is a simple build-system, like Here it looks like you are using independent stages with no dependencies but only outputs, which is more of an edgecase for DVC. We used to call this a callback stage, because they always run and can be used to trigger (or, not trigger) other stages. We probably won't support this use-case for this scenario. But maybe that was just an example. For debugging, you can use Do you mind elaborating more on your usecase and the benefit of having a different execution order? You do mention that stages are executed faster, and the errors are detected early. I do think we'll have some priority when we implement #755. |
We use it for running experiments and they take a lot of time. Sometimes what happens, is that we change e.g. the plot stage and rerun it. It then takes a while until we detect e.g. plotting issues. We also had the case that the issues were connected to the first stage in the pipeline and we needed to rerun the whole pipeline. We would have saved time if we could inspect the (partial) results earlier. But it could be circumvented by including better testing in the process. |
@skshetry Just tried |
Closing as we are unlikely to support different execution orders. |
Uh oh!
There was an error while loading. Please reload this page.
Imagine the stages
e.1.1
,e.1.2
,e.2.1
,e.2.2
ande.3.1
,e.3.2
p.1
,p.2
andp.3
in
dvc.yaml
. By using the default execution orderdvc
evaluates the stage experiment, e.g. all experimentse.1.1
toe.3.2
. Afterwards it evaluates the stage plot, e.g.p.1
top.3
. It would be favorable to have an option--prioritize-stage plot
, which prioritizes the stage plot. This would result in the execution ordere.1.1
,e.2.2
,p.1
toe.3.1
,e.3.2
,p.3
. It has the advantage that all stages are executed faster and thus errors might be detected earlier.For the toy example the feature could be included by
--prioritize-stage plot
dvc.yaml
withpriority: <num>
.breadth-first
ordepth-first
The issue is related to #5181.
The text was updated successfully, but these errors were encountered: