From 64557d67810c81f72bd6a7544bd8930488868319 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Fri, 7 Apr 2023 00:27:54 -0400 Subject: [PATCH] Add a --force-fp32 argument to force fp32 for debugging. --- comfy/cli_args.py | 1 + comfy/model_management.py | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/comfy/cli_args.py b/comfy/cli_args.py index b6898ce..739891f 100644 --- a/comfy/cli_args.py +++ b/comfy/cli_args.py @@ -9,6 +9,7 @@ parser.add_argument("--extra-model-paths-config", type=str, default=None, metava parser.add_argument("--output-directory", type=str, default=None, help="Set the ComfyUI output directory.") parser.add_argument("--cuda-device", type=int, default=None, metavar="DEVICE_ID", help="Set the id of the cuda device this instance will use.") parser.add_argument("--dont-upcast-attention", action="store_true", help="Disable upcasting of attention. Can boost speed but increase the chances of black images.") +parser.add_argument("--force-fp32", action="store_true", help="Force fp32 (If this makes your GPU work better please report it).") attn_group = parser.add_mutually_exclusive_group() attn_group.add_argument("--use-split-cross-attention", action="store_true", help="Use the split cross attention optimization instead of the sub-quadratic one. Ignored when xformers is used.") diff --git a/comfy/model_management.py b/comfy/model_management.py index 504da21..2407140 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -69,6 +69,11 @@ elif args.novram: elif args.highvram: vram_state = VRAMState.HIGH_VRAM +FORCE_FP32 = False +if args.force_fp32: + print("Forcing FP32, if this improves things please report it.") + FORCE_FP32 = True + if set_vram_to in (VRAMState.LOW_VRAM, VRAMState.NO_VRAM): try: @@ -273,6 +278,9 @@ def mps_mode(): def should_use_fp16(): global xpu_available + if FORCE_FP32: + return False + if cpu_mode() or mps_mode() or xpu_available: return False #TODO ?