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>