cuda_graph_instance is a cudaGraphExec_t from cudaGraphInstantiate()
and must be released with cudaGraphExecDestroy(), not cudaGraphDestroy().
The handle-type mismatch corrupted the CUDA context on CUDA 13, causing
a silent process death after the node finished (keep_model_loaded=False)
or cudaErrorInvalidValue on the next run (keep_model_loaded=True).
The owner condition pointed at the upstream author so the registry
publish never ran on this fork. Publish now extracts a changelog from
the version bump commit.
Add .ruff_cache/ and/or .devin/ to .gitignore so local linter cache and
Devin local configuration are never committed.
Generated with Devin (https://devin.ai)
The dynamo exporter in PyTorch 2.13 produces complex shape formulas
(Min, TruncToInt, CEIL_DIV) that TensorRT cannot resolve for dynamic
shapes. The legacy TorchScript exporter produces clean symbolic dims
(batch, height, width). Also skip onnxsim which folds constants based
on dummy input size, breaking TRT large profile builds.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The previous 512x512 dummy input caused onnxsim to fix intermediate
dimensions to 512px, which broke TensorRT engine build for the large
resolution profile (720-1920px). Using 1080x1080 prevents this.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Add RIFE v4.25 architecture support in rife_arch.py (Head with
16/4 channels, 5 IFBlocks with c=192/128/96/64/32, scale_list
[16,8,4,2,1], no ensemble)
- Add rife425.pth to export_onnx.py with HF fallback URL
- Update load_rife_config.json: dropdown now only shows rife425 and
rife49 (removed rife47/48/417/426/sudo_rife4 that never worked)
- Set rife425 as default
- Make TORCH_DEVICE fallback to CPU for ONNX export on non-CUDA
- Pin polygraphy==0.49.26 for TensorRT 10.15.1 compatibility
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Use the user's own HuggingFace repo as the first source for ONNX
models, falling back to yuvraj108c and marduk191 mirrors.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The download_file() function now validates:
- HTTP status code (fails on non-200)
- File size (removes files <1KB as likely error pages)
- ONNX header (detects HTML pages masquerading as .onnx files)
The ONNX download in AutoLoadRifeTensorrtModel now tries multiple
HuggingFace sources before giving up, with clear error message
pointing users to manual export_onnx.py as fallback.
This prevents the cryptic "factory function returned nullptr" error
when TensorRT attempts to parse a corrupted/empty/HTML file as ONNX.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Verify tensorrt is actually importable before trusting the install marker;
retry install if marker exists but import fails (likely cause of user reports
where the node loaded but TensorRT did not work)
- Add --no-input to pip install calls to avoid hanging on interactive prompts
- Show pip stdout during auto-install so users can see progress
- Improve failed-install cooldown message with retry instructions
- Bump version to 1.2.0
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
rife426.pth and possibly other new checkpoints contain extra modules
used during training (teacher network, caltime scheduler) that are not
part of the IFNet inference architecture. These cause
load_state_dict to fail with "Unexpected key(s)" errors.
Now export_onnx.py filters the state_dict to keep only keys that match
the model architecture before loading, with strict=True to catch any
real missing keys.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Update rife_arch.py with support for new architectures:
- v4.17: Head_417 encoder, IFBlock with 16 extra channels
- v4.26: 5 IFBlocks (block4 extra), lastconv 4*13 channels,
feat_out return, no ensemble, 5 scale levels
- Head/Head_417 classes for v4.17/v4.26 encoders
- warp() fix: MPS padding_mode, dtype mismatch, get_torch_device()
Update export_onnx.py:
- Add rife417.pth and rife426.pth to CKPT_NAME_VER_DICT
- Add CKPT_FALLBACK_URLS with HuggingFace mirrors for all models
- Add export calls for rife49, rife417, rife426, sudo_rife4
Update load_rife_config.json with 3 new ONNX model options.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The frames arrive from generate_frames_rife on CPU, but the engine output
(tile_out) is on CUDA. The accumulator tensors (output, weight, window)
were created on frame_0.device (CPU), causing a RuntimeError when mixing
devices in the feathering blend. Now all tensors are explicitly moved to
the CUDA device at the start of infer_tiled.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Ported and adapted from Fannovel16/ComfyUI-Frame-Interpolation:
- gc.collect() after soft_empty_cache() to reduce RAM fragmentation
- Explicit float32 cast in postprocess_frames for fp16 engine safety
- InterpolationStateList class + MakeInterpolationStateList node to
skip/keep specific frame pairs during interpolation
- Per-pair multiplier schedule (comma-separated list) overriding uniform
multiplier, with automatic padding to match the number of pairs
- Automatic tiling with cosine feathering when frame dimensions exceed
the TensorRT engine optimization profile (fixes 1440x2560 with max=1920)
- Padding with replicate mode when frame dimensions are below profile min
- get_input_profile_bounds() on Engine to retrieve min/opt/max shapes
- Batch inference: process multiple (pair, timestep) tasks per GPU call
with dynamic batch axis in ONNX export and engine profile
- Backward compatible: all new features are opt-in via optional inputs
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Auto-install now only installs the matching TensorRT wheels instead of the
multi-GB cuda-toolkit package from PyPI.
- Use a single pip install -r call per requirements file for faster dependency
resolution and better cache reuse.
- Add install-success/failure markers to avoid repeating the install on every
ComfyUI startup.
- Fix pyproject.toml Repository and PublisherId to point to
huchukato/ComfyUI-RIFE-TensorRT-Auto.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>