Comfy-Org / Comfy-Org/comfy-aimdo
comfy-aimdo is not compatible with Torch compile (it only seems to bug with cuda130).
- Dominant language
- C
- Stars
- 67
- Forks
- 39
- Avg merge
- 1d 25m
- Merged PRs (30d)
- 10
Description
Causes multiple recompilations when compiling the model.
AUTOTUNE addmm(330x4608, 330x1536, 1536x4608)
strides: [0, 1], [s16, 1], [1, s16]
dtypes: torch.float16, torch.float16, torch.float16
addmm 0.1874 ms 100.0%
bias_addmm 0.2560 ms 73.2%
SingleProcess AUTOTUNE benchmarking takes 0.0793 seconds and 0.0001 seconds precompiling for 2 choices
W0304 22:24:11.700000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [10/64] torch._dynamo hit config.recompile_limit (64)
W0304 22:24:11.700000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [10/64] function: 'torch_dynamo_resume_in_get_tensor_from_raw_ptr_at_16' (/home/user/miniforge3/envs/comfy/lib/python3.11/site-packages/comfy_aimdo/torch.py:16)
W0304 22:24:11.700000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [10/64] last reason: 10/63: ___check_obj_id(___stack0, 139610556710336), type=.Holder'> # holder = Holder() # comfy_aimdo/torch.py:19 in torch_dynamo_resume_in_get_tensor_from_raw_ptr_at_16
W0304 22:24:11.700000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [10/64] To log all recompilation reasons, use TORCH_LOGS="recompiles".
W0304 22:24:11.700000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [10/64] To diagnose recompilation issues, see https://pytorch.org/docs/main/compile/programming_model.recompilation.html
W0304 22:24:14.611000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [7/64] torch._dynamo hit config.recompile_limit (64)
W0304 22:24:14.611000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [7/64] function: 'cast_bias_weight_with_vbar' (/home/user/ComfyUI/comfy/ops.py:82)
W0304 22:24:14.611000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [7/64] last reason: 7/63: s._v[1] == 66657769472 # signature = comfy_aimdo.model_vbar.vbar_fault(s._v) # ComfyUI/comfy/ops.py:86 in cast_bias_weight_with_vbar (HINT: torch.compile considers integer attributes of the nn.Module to be static. If you are observing recompilation, you might want to make this integer dynamic using torch._dynamo.config.allow_unspec_int_on_nn_module = True, or convert this integer into a tensor.)
W0304 22:24:14.611000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [7/64] To log all recompilation reasons, use TORCH_LOGS="recompiles".
W0304 22:24:14.611000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [7/64] To diagnose recompilation issues, see https://pytorch.org/docs/main/compile/programming_model.recompilation.html
W0304 22:24:14.958000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [13/64] torch._dynamo hit config.recompile_limit (64)
W0304 22:24:14.958000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [13/64] function: 'uncast_bias_weight' (/home/user/ComfyUI/comfy/ops.py:267)
W0304 22:24:14.958000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [13/64] last reason: 13/63: offload_stream[0] is None # comfy_aimdo.model_vbar.vbar_unpin(s._v) # ComfyUI/comfy/ops.py:274 in uncast_bias_weight
W0304 22:24:14.958000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [13/64] To log all recompilation reasons, use TORCH_LOGS="recompiles".
W0304 22:24:14.958000 6869 site-packages/torch/_dynamo/convert_frame.py:1676] [13/64] To diagnose recompilation issues, see https://pytorch.org/docs/main/compile/programming_model.recompilation.html
[adaptive_pid] ae_dopri5: 90.6301%|██████▎| 24 [05:44<00:13, 1.47s/%, σ=0.0937]Autotune Choices Stats:
Contributor guide
Research direction
Start by reproducing the issue with torch.compile on CUDA 13.0, using the recompilation logs and TORCH_LOGS="recompiles". Read comfy_aimdo/torch.py and the referenced functions in comfy/ops.py, including get_tensor_from_raw_ptr, cast_bias_weight_with_vbar, and uncast_bias_weight. Done means the reported workload no longer repeatedly recompiles or reaches the recompile limit.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, pytorch
- Domain
- machine-learning, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100