Vectorized: Use inline namespace instead of anonymous (#67655)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/67655
Some of the CPU operators already use the `namespace CPU_CAPABILITY` trick to avoid anonymous namespacing, like [`PowKernel.cpp`](https://github.com/pytorch/pytorch/blob/cd51d2a3ecc8ac579bee910f6bafe41a4c41ca80/aten/src/ATen/native/cpu/PowKernel.cpp#L14). This extends that pattern to the `Vectorized` class, which avoids `Wsubobject-linage` warnings like I was getting in #67621.
For many functions, it was necessary to add `inline` because the functions are defined in a header. There were no link errors previously because the anonymous namespace ensured they were not exposed to linkage. Similarly, free functions defined in an anonymous namespace might need the `C10_UNUSED` attribute to silence warnings about the function not being called in the only translation unit that it's defined in. By removing the anonymous namespace, these decorators are no longer necessary.
Test Plan: Imported from OSS
Reviewed By: dagitses
Differential Revision: D32566109
Pulled By: malfet
fbshipit-source-id: 01d64003513b4946dec6b709bd73bbab05772134
Co-authored-by: Nikita Shulga <nshulga@fb.com>