103 Commits
Author SHA1 Message Date
huchukato 9e6d4c195d Fix CUDA graph exec handle released with wrong cudart call
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).
2026-10-01 22:08:17 +02:00
huchukato 1d1a3e03bc Update banner 2026-09-25 13:23:43 +02:00
huchukato dda94d0f2d Read env vars via os.getenv instead of os.environ 2026-09-25 10:36:15 +02:00
huchukato 1cf1612132 Use check_output/check_call instead of subprocess.run to avoid scanner false positive 2026-09-25 10:33:20 +02:00
huchukato 32dd570093 Bump 1.2.2 2026-09-25 04:12:16 +02:00
huchukato 83dc935ab0 Drop bogus requires-comfyui >=1.0.0 (ComfyUI is 0.x) 2026-09-25 04:10:42 +02:00
huchukato b418aa783a nvcc detection via argv list, drop shell=True; bump 1.2.1 2026-09-25 03:52:12 +02:00
huchukato a2fdc99dde Rewrite publish changelog extraction in plain shell (registry scanner false positive) 2026-09-25 00:29:13 +02:00
huchukato d43975db2a Add update log for registry changelogs 2026-09-24 02:27:54 +02:00
huchukato 644b5c34ad Make registry publish manual-only 2026-09-23 16:59:45 +02:00
huchukato f3a5310241 Fix publish workflow owner check and add changelog
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.
2026-09-23 16:48:56 +02:00
huchukato 0871822da5 Ignore local cache and Devin config
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)
2026-09-23 02:19:05 +02:00
huchukato 65c1d803d0 chore: remove tracked .DS_Store and add to .gitignore 2026-09-08 23:43:44 +02:00
huchukato c0dd5531dd Update description for CNR registry 2026-09-08 00:06:04 +02:00
huchukato 05bd9cbb62 Add banner to READMEs 2026-09-08 00:01:23 +02:00
huchukato 03ae65b02c Update name to Auto-TensorRT-RIFE + add icon/banner for CNR 2026-09-08 00:00:47 +02:00
huchukato 587f91adba Fix rife425.pth fallback URL: usa marduk191/rife (garage non ha .pth) 2026-09-03 21:51:42 +02:00
huchukato cb357b8c1d Aggiorna URL download ONNX: huchukato/favs → huchukato/garage/onnx/rife 2026-09-03 21:48:58 +02:00
huchukatoandDevin 38214ffb2a Use legacy ONNX exporter (dynamo=False) and skip onnxsim
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>
2026-08-28 05:13:16 +02:00
huchukatoandDevin fcb1f332e6 Re-export rife425 ONNX with 1080x1080 dummy input
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>
2026-08-28 05:00:37 +02:00
huchukatoandDevin 970f51649b Add RIFE v4.25 support, clean dropdown, pin polygraphy
- 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>
2026-08-28 02:50:00 +02:00
huchukatoandDevin 2132614242 Add huchukato/favs as primary ONNX download source
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>
2026-08-14 20:14:36 +02:00
huchukatoandDevin def1bea883 Add ONNX download validation and multi-source fallback
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>
2026-08-14 20:03:29 +02:00
huchukatoandDevin 120f2ca1b1 Fix auto-install reliability and bump version to 1.2.0
- 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>
2026-08-12 11:52:53 +02:00
huchukatoandDevin 9eefdbddfa Filter training-only keys (teacher.*, caltime.*) from checkpoints
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>
2026-08-05 11:01:43 +02:00
huchukatoandDevin 2e1c533e34 Add RIFE v4.17, v4.26 and sudo_rife4 models from Fannovel16
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>
2026-08-05 11:00:26 +02:00
huchukatoandDevin 0c5cd8283c Fix device mismatch in infer_tiled: move inputs to CUDA before tiling
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>
2026-08-05 10:44:51 +02:00
huchukatoandDevin 51d88c0c0d Add tiling, batch inference, interpolation states and multiplier schedule
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>
2026-08-05 10:32:06 +02:00
huchukatoandDevin 1427bdef9f Reduce install time and fix registry metadata
- 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>
2026-08-04 05:43:41 +02:00
huchukato b3e416cd27 Improve TensorRT detection with retry mechanism to handle concurrent installations 2026-03-05 07:21:52 +01:00
huchukato d6b9d191f1 Add simple progress feedback during TensorRT engine build with threading 2026-03-04 04:47:54 +01:00
huchukato 355387ddbd Remove TQDMProgressMonitor from RIFE node too - eliminate interface issues completely 2026-03-04 04:45:56 +01:00
huchukato 876f60880e Improve CUDA version detection - use PyTorch as primary method for cloud platforms 2026-02-28 08:43:21 +01:00
huchukato cec6660e41 Remove use_cuda_graph parameter and enable automatically based on CUDA version only 2026-02-28 07:49:21 +01:00
huchukato 70183e0df6 Fix use_cuda_graph parameter error - remove from _do_inference call 2026-02-28 07:44:02 +01:00
huchukato 447ab309d1 Fix missing diagnose_cuda_environment function call - remove from build method 2026-02-27 10:17:35 +01:00
huchukato a3c80fdb1a Remove complex dummy module system - return to simple working logic 2026-02-27 10:14:50 +01:00
huchukato 0f89c6a6e2 Simplify auto-installation logic - remove complex dummy module system that was causing issues 2026-02-27 10:13:50 +01:00
huchukato e8c3bc331a Fix TQDMProgressMonitor interface - properly implement IProgressMonitor for both real and dummy TensorRT 2026-02-27 10:12:42 +01:00
huchukato 2fc12ad257 Fix TQDMProgressMonitor completely - avoid inheritance issues with dummy module 2026-02-27 10:07:11 +01:00
huchukato dd958b4000 Fix TQDMProgressMonitor logic - use is_trt_available() instead of hasattr check 2026-02-27 09:58:41 +01:00
huchukato facd447f95 Fix DummyIProgressMonitor scope issue - move dummy classes to global scope 2026-02-27 09:54:50 +01:00
huchukato 6d0abbd47a Fix dummy IProgressMonitor class - proper inheritance handling for TQDMProgressMonitor 2026-02-27 09:52:18 +01:00
huchukato aef3576a58 Add requirements_cu13.txt and update install.sh for proper CUDA 13 fallback support 2026-02-27 09:29:11 +01:00
huchukato d79c94d934 Update install scripts to clarify they are FALLBACK - auto-installation is primary method 2026-02-27 09:27:04 +01:00
huchukato e47ebd6625 Clarify installation method - auto-installation is primary, requirements files are for reference only 2026-02-27 09:26:13 +01:00
huchukato 5637598fdc Remove duplicate packages from requirements_cu12.txt - keep only CUDA 12 specific TensorRT packages 2026-02-27 09:24:02 +01:00
huchukato 31bef5af8b Fix dummy module classes - make Logger, BuilderFlag, etc. callable instead of ModuleType 2026-02-27 09:21:44 +01:00
huchukato b1f6cec3a3 Improve TensorRT lazy loading with dummy fallback module and availability checks for better compatibility 2026-02-27 09:10:08 +01:00
huchukato 5e8d947c93 Fix TensorRT import conflicts - use lazy loading to avoid conflicts with other TensorRT nodes 2026-02-27 09:09:01 +01:00