Commit Graph

68 Commits

Author SHA1 Message Date
guill
7d4530f6f5
Rework Caching (#2)
This commit solves a number of bugs and adds some caching related
functionality. Specifically:

1. Caching is now input-based. In cases of completely identical nodes,
   the output will be reused (for example, if you have multiple
   LoadCheckpoint nodes loading the same checkpoint). If a node doesn't
   want this behavior (e.g. a `RandomInteger` node, it should set
   `NOT_IDEMPOTENT = True`.
2. This means that nodes within a component will now be cached and will
   only change if the input actually changes. Note that types that can't
   be hashed by default will always count as changed (though the
   component itself will only expand if one of its inputs changes).
3. A new LRU caching strategy is now available by starting with
   `--cache-lru 100`. With this strategy, in addition to the latest
   workflow being cached, up to N (100 in the example) node outputs will
   be retained. This allows users to work on multiple workflows or
   experiment with different inputs without losing the benefits of
   caching (at the cost of more RAM and VRAM). I intentionally left some
   additional debug print statements in for this strategy for the
   moment.
4. A new endpoint `/debugcache` has been temporarily added to assist
   with tracking down issues people encounter. It allows you to browse
   the contents of the cache.
5. Outputs from ephemeral nodes will now be communicated to the
   front-end with both the ephemeral node id, the 'parent' node id, and
   the 'display' node id. The front-end has been updated to deal with
   this.
2023-09-11 19:53:41 -07:00
comfyanonymous
861fd58819 Add a warning if a card that doesn't support cuda malloc has it enabled. 2023-08-13 12:37:53 -04:00
comfyanonymous
2bc12d3d22 Add --temp-directory argument to set temp directory. 2023-08-11 05:13:03 -04:00
comfyanonymous
eb5191f911 0.0.0.0 doesn't work on windows. 2023-08-01 01:15:18 -04:00
comfyanonymous
ccb6b70de1 Move image encoding outside of sampling loop for better preview perf. 2023-07-19 18:06:58 -04:00
comfyanonymous
799c08a4ce Auto disable cuda malloc on some GPUs on windows. 2023-07-19 14:43:55 -04:00
comfyanonymous
9871a15cf9 Enable --cuda-malloc by default on torch 2.0 and up.
Add --disable-cuda-malloc to disable it.
2023-07-17 15:12:10 -04:00
comfyanonymous
1679abd86d Add a command line argument to enable backend:cudaMallocAsync 2023-07-17 11:00:14 -04:00
comfyanonymous
6f914fb77d Print prestartup times for custom nodes. 2023-07-13 13:01:45 -04:00
Dr.Lt.Data
99abcbef41
feat/startup-script: Feature to avoid package installation errors when installing custom nodes. (#856)
* support startup script for installation without locking on windows

* modified: Instead of executing scripts from the startup-scripts directory, I will change it to execute the prestartup_script.py for each custom node.
2023-07-11 02:33:21 -04:00
comfyanonymous
103c487a89 Cleanup. 2023-07-02 11:58:23 -04:00
comfyanonymous
d52ed407a7 Send websocket message only when prompt is actually done executing. 2023-06-13 13:38:43 -04:00
reaper47
5cf4079923 Give linux some love 2023-06-07 15:15:38 +02:00
space-nuko
48f7ec750c Make previews into cli option 2023-06-05 13:19:02 -05:00
space-nuko
38bc02bb40 Fix 2023-06-05 09:20:20 -05:00
space-nuko
b4f434ee66 Preview sampled images with TAESD 2023-06-05 09:20:17 -05:00
comfyanonymous
1dd846a7ba Fix outputs gone from history. 2023-05-15 00:27:28 -04:00
comfyanonymous
dfc74c19d9 Add the prompt_id to some websocket messages. 2023-05-11 01:22:40 -04:00
comfyanonymous
d6dee8af1d Only validate each input once. 2023-05-10 00:29:31 -04:00
EllangoK
8e03c789a2 auto-launch cli arg 2023-05-06 16:59:40 -04:00
comfyanonymous
93c64afaa9 Use sampler callback instead of tqdm hook for progress bar. 2023-05-02 23:00:49 -04:00
comfyanonymous
74fc7b7726 custom_nodes paths can now be set in the extra_model_paths.yaml 2023-04-16 01:46:43 -04:00
EllangoK
28fff5d1db fixes lack of support for multi configs
also adds some metavars to argarse
2023-04-06 19:06:39 -04:00
EllangoK
e5e587b1c0 seperates out arg parser and imports args 2023-04-05 23:41:23 -04:00
EllangoK
dd29966f8a changes main.py to use argparse 2023-04-05 22:36:40 -04:00
comfyanonymous
f816964847 Add a way to set output directory with --output-directory 2023-04-05 14:29:30 -04:00
comfyanonymous
6be7c64245 Merge branch 'custom_routes' of https://github.com/pythongosssss/ComfyUI 2023-04-02 01:55:05 -04:00
comfyanonymous
66f1f57615 Add --extra-model-paths-config to --help. 2023-04-02 01:54:44 -04:00
pythongosssss
313f1f83a6 Tweak server/custom node load order
- Load custom nodes after creating server
 - Add routes after loading custom nodes
Custom nodes can now add routes via PromptServer.instance
2023-04-01 12:44:29 +01:00
comfyanonymous
5218e5d596 Command line option to set CUDA device. 2023-03-29 23:28:21 -04:00
comfyanonymous
31dd6c0531 Add way to specify listen ip with --listen. 2023-03-28 01:42:34 -04:00
comfyanonymous
51d6427ddf Add support for loading extra paths from yaml file.
Rename extra_model_paths.yaml.example to extra_model_paths.yaml and edit
it to point to your other UI.
2023-03-18 02:52:43 -04:00
comfyanonymous
5ad9f86514 Do a quick test on the CI to see if ComfyUI actually runs before pushing
the build.
2023-03-14 23:02:57 -04:00
comfyanonymous
ff255d9dcd Make sure windows permission issues don't mess things up. 2023-03-14 18:07:09 -04:00
pythongosssss
6db777b348 Added ability to save images to temp dir 2023-03-13 19:34:05 +00:00
comfyanonymous
83f23f82b8 Add pytorch attention support to VAE. 2023-03-13 12:45:54 -04:00
comfyanonymous
a256a2abde --disable-xformers should not even try to import xformers. 2023-03-13 11:36:48 -04:00
comfyanonymous
0f3ba7482f Xformers is now properly disabled when --cpu used.
Added --windows-standalone-build option, currently it only opens
makes the code open up comfyui in the browser.
2023-03-12 15:44:16 -04:00
comfyanonymous
afff30fc0a Add --cpu to use the cpu for inference. 2023-03-06 10:50:50 -05:00
comfyanonymous
49d2e5bb5a Move some stuff from main.py to execution.py 2023-02-27 19:44:58 -05:00
comfyanonymous
c0fb0c848f Update colab notebook. 2023-02-25 22:49:22 -05:00
comfyanonymous
6de6246dd4 Fix some potential issues related to threads. 2023-02-25 18:36:29 -05:00
pythongosssss
9f391ab656
changed to store history by uniqueid
fixed removing history items
2023-02-23 21:25:08 +00:00
pythongosssss
5c5725dac0
Remove extra args 2023-02-23 20:21:58 +00:00
pythongosssss
9bd7bfa648
Added workflow history
Moved socket output updates to all node executions
Made image rendering on nodes more generic
2023-02-23 20:12:57 +00:00
pythongosssss
a52aa9f4b5
Moved api out to server
Reworked sockets to use socketio
Added progress to nodes
Added highlight to active node
Added preview to saveimage node
2023-02-21 19:29:49 +00:00
comfyanonymous
5f375f0d16 Remove my "deleted" debug print that confused people. 2023-02-21 01:28:08 -05:00
masterpiecebestquality
3a83da7281 empty cache after execute() 2023-02-20 13:56:34 -05:00
comfyanonymous
a38a30cb87 Document --highvram and enable it in colab. 2023-02-17 21:32:27 -05:00
pythongosssss
0787299610
Hide Triton warning on Windows
Triton doesnt work on Windows so hide the error
2023-02-16 18:19:26 +00:00