// This global header must not depend on native_functions.yaml or // incremental builds will be next to useless #pragma push_macro("TORCH_ASSERT_NO_OPERATORS") #define TORCH_ASSERT_NO_OPERATORS // This macro doesn't work if defined after the first time inttypes.h // is included, so won't work anywhere if not defined here. #ifndef __STDC_FORMAT_MACROS #define __STDC_FORMAT_MACROS #endif #include // This list of headers was generated using a script that finds // high-impact headers and then manually tweaked to remove OS specific // or duplicate headers (e.g. and ) and to remove // "impl" headers (e.g BFloat16-inl.h or complex_math.h in c10). // To generate the initial list: // 1. Build pytorch from scratch with all build caching disabled // 2. Generate a build trace with ninjatracing (https://github.com/nico/ninjatracing) // $ ninjatracing /path/to/pytorch/build/.ninja_log > trace_all.json // 3. Run pch_gen.py from https://github.com/peterbell10/build_analysis/ // $ python pch_gen.py --threshold .80 --target torch_cpu --build_dir /path/to/pytorch/build --trace trace_all.json // Where the threshold can be tweaked until c10 and some of ATen // core are included but TORCH_ASSERT_NO_OPERATORS still passes. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #pragma pop_macro("TORCH_ASSERT_NO_OPERATORS")