viable/strict/1788906341: [BE] Unify Pooling shape checks across backends / families (#196230)
- PyTorch: 675 events in the last 90 days
- PyTorch: 666th Release in the last 90 days
- Previous: earlier the same day · viable/strict/1788904239
What happened
Started just max_unpooling check, but then realized there are tons of duplicated logic across numerous pooling checks headers: Move all pooling ops helper functions into PoolingChecks.h Delete duplicate max_unpooling3d_shape_check from MaxUnpooling.cu Refactor inlined shapecheck into max_unpool2d_shape_check used by CPU, CUDA and MPS Make gradOutput a trailing std::optional , so forward callers don't have to pass a…
Summary assembled by rule from the sources below