Repository navigation
Conversation
…periment/v2-exec-deps-object-cache
Contributor
Author
|
@griptapeops review |
Contributor
Contributor
There was a problem hiding this comment.
The move to local_objects is aimed right, and the one-resident policy matches what ModelCache did. 1 correctness finding on the new Release Pipeline node, plus 1 LLMism.
release_pipeline_node.py:49: releasing one pipeline breaks the other one in the base + ControlNet pairlatent_diffusion_pipeline_builder_node.py:90: a comment describing code that was removed
…periment/v2-exec-deps-object-cache
With one pipeline resident at a time, the only moment two are held is a base and its ControlNet pipeline, which share components. Releasing one of them tears down the components the other still uses, so targeted release differed from Clear Pipeline Cache only where it broke the survivor. Clear Pipeline Cache covers freeing memory between steps. Also drops the builder comment about the removed state override.
Contributor
Author
|
@griptapeops re-review |
Contributor
…periment/v2-exec-deps-object-cache
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #66, which moves Diffusers into a worker-v2 execution environment but keeps the library's own
ModelCache. This PR is the second half: built pipelines move out of that cache and into the engine'slocal object store.
The object cache
The library kept its own module-global
ModelCache. Built pipelines now live in the worker's localobject store through
node.local_objects:on_drop=clear_diffusion_pipelineruns ondisplacement, node delete, and worker teardown. Before, release happened only if a node reached
remove_pipelineon the way past.ModelCache.get_or_build_pipelinedid when it cleared the whole cache on a new config hash. Holding twomodels' worth of VRAM would be a different experience, not just a new environment. The derived-pipeline
path keeps its base rather than cascading, since a derived pipeline shares the base's components and
releasing them would move them to the CPU underneath the pipeline being built from them.
ClearPipelineCacheNodeempties only this library's.
The artifact still carries
config_hashrather than becoming a cache reference: a reference isresolve-or-raise, and the description is needed on the orchestrator too.
The builder's
stateoverride is removed. It reported the node UNRESOLVED when its pipeline wasmissing from the cache, but node state is read on the orchestrator and the pipeline is held in the
worker, so it always answered "not cached" and re-ran the builder on every execution.
get_or_build_pipelinerebuilds on a miss in the process that holds the cache.Verification
The diff against #66 is the object-store adoption only; #66 carries the execution-environment move and
the merges from
main.make checkandmake test/unitpass.