Route the 1D/2D nearest and nearest-exact forward ops to Metal kernels instead of MPSGraph, joining the linear/bilinear/bicubic/3D forward paths that were already Metal. This also fixes a latent MPSGraph correctness bug.
Unify the host-side dispatch so a single templated launcher drives every Metal upsample kernel and UpsampleParams supplies the geometry for all ranks, collapsing the previously duplicated per-rank dispatch overloads.
Backward is intentionally left on MPSGraph: it has no correctness bug and its fused gradient kernel is several times faster than a naive Metal gather.
Co-authored-by: Claude [email protected]
Pull Request resolved: #186989
Approved by: https://github.com/Skylion007, https://github.com/kurtamohler
SOCIAL SHARE CARD GENERATOR