The MPS backend implements grid_sample but rejects padding_mode="border" (RuntimeError: MPS: Unsupported Border padding mode), so the Frame Interpolation node fails on Apple Silicon for every RIFE and FILM model. PYTORCH_ENABLE_MPS_FALLBACK=1 does not help, as the op is implemented and only the argument is rejected. The upstream PyTorch issue (#125098) has been open since April 2024. Clamping the sampling grid to the valid range makes padding_mode="zeros" exactly equivalent to "border": with align_corners=True that range is [-1, 1], and with align_corners=False it is +-(1 - 1/size) per axis. Gated on device.type == "mps", so CUDA and CPU paths are unchanged. |
||
|---|---|---|
| .. | ||
| film_net.py | ||
| ifnet.py | ||