Remove CUDA Foreach... files dependency on function operators (#68462)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/68462
ATen has a header dependency problem. Whenever an operator is added or modified, it changes `ATen/Functions.h` and `ATen/NativeFunctions.h` which in turn requires essentially every single file to be rebuilt. Per-operator headers allow files to only include the specific operators they use and so minimizes unnecessary rebuilds during incremental builds and improves cache hits in CI builds.
See this note for more details:
https://github.com/pytorch/pytorch/blob/3a03af2f505494582f1359254431f0c47fd88705/aten/src/ATen/templates/Functions.h#L20
Test Plan: Imported from OSS
Reviewed By: ngimel
Differential Revision: D33949899
Pulled By: malfet
fbshipit-source-id: c044c73891eaaa5533dc2fac1b12fcfb1b871312
(cherry picked from commit 3c7f4da61f967b9fc35ecd0dc3e6323a85c300ef)