pytorch/torch/csrc/jit/tensorexpr
Nikita Shulga 36ac095ff8 Migrate PyTorch to C++17 (#85969)
With CUDA-10.2 gone we can finally do it!

This PR mostly contains build system related changes, invasive functional ones are to be followed.
Among many expected tweaks to the build system, here are few unexpected ones:
 - Force onnx_proto project to be updated to C++17 to avoid `duplicate symbols` error when compiled by gcc-7.5.0, as storage rule for `constexpr` changed in C++17, but gcc does not seem to follow it
 - Do not use `std::apply` on CUDA but rely on the built-in variant, as it results in test failures when CUDA runtime picks host rather than device function when `std::apply` is invoked from CUDA code.
 - `std::decay_t` -> `::std::decay_t` and `std::move`->`::std::move` as VC++ for some reason claims that `std` symbol is ambigious
 - Disable use of `std::aligned_alloc` on Android, as its `libc++` does not implement it.

Some prerequisites:
 - https://github.com/pytorch/pytorch/pull/89297
 - https://github.com/pytorch/pytorch/pull/89605
 - https://github.com/pytorch/pytorch/pull/90228
 - https://github.com/pytorch/pytorch/pull/90389
 - https://github.com/pytorch/pytorch/pull/90379
 - https://github.com/pytorch/pytorch/pull/89570
 - https://github.com/facebookincubator/gloo/pull/336
 - https://github.com/facebookincubator/gloo/pull/343
 - 919676fb32

Fixes https://github.com/pytorch/pytorch/issues/56055

Pull Request resolved: https://github.com/pytorch/pytorch/pull/85969
Approved by: https://github.com/ezyang, https://github.com/kulinseth
2022-12-08 02:27:48 +00:00
..
operators Fix the issue that cat result would be incorrect for channels-last (#85076) 2022-09-24 09:23:46 +00:00
scripts
analysis.h
block_codegen.cpp
block_codegen.h
bounds_inference.cpp [BE] Use CamelCase for enum class members (#79772) 2022-06-17 05:53:57 +00:00
bounds_inference.h
bounds_overlap.cpp [BE] Use CamelCase for enum class members (#79772) 2022-06-17 05:53:57 +00:00
bounds_overlap.h [BE] Use CamelCase for enum class members (#79772) 2022-06-17 05:53:57 +00:00
codegen_external.py
codegen.cpp Revert "Fix crash on unload torch cpu dll (#67632)" 2022-08-02 00:56:18 +00:00
codegen.h Revert "Fix crash on unload torch cpu dll (#67632)" 2022-08-02 00:56:18 +00:00
ConditionalsInTE.md
cpp_codegen.cpp
cpp_codegen.h
cpp_intrinsics.h
cuda_codegen.cpp Migrate PyTorch to C++17 (#85969) 2022-12-08 02:27:48 +00:00
cuda_codegen.h
cuda_random.h
eval.cpp
eval.h
exceptions.h
expr.cpp
expr.h
external_functions_codegen.cpp Simplify and optimize linalg.solve 2022-06-11 04:06:40 +00:00
external_functions_core.cpp
external_functions_core.h
external_functions_registry.cpp
external_functions_registry.h
external_functions.cpp [NNC] enable fusion of conv with elementwise OP (#77157) 2022-08-10 21:46:51 +00:00
external_functions.h
fwd_decls.h
graph_opt.cpp
graph_opt.h
half_support.h nnc: fix Store if value is fp32 while buf is bf16 (#86788) 2022-11-24 02:52:34 +00:00
hash_provider.cpp
hash_provider.h
intrinsic_symbols.cpp
intrinsic_symbols.h
ir_cloner.cpp
ir_cloner.h
ir_mutator.cpp
ir_mutator.h
ir_printer.cpp
ir_printer.h
ir_simplifier.cpp [BE] Use CamelCase for enum class members (#79772) 2022-06-17 05:53:57 +00:00
ir_simplifier.h
ir_verifier.cpp
ir_verifier.h
ir_visitor.cpp
ir_visitor.h
ir.cpp
ir.h
IRSpecification.md
kernel.cpp Fix typos in messages under torch (#88961) 2022-11-14 19:06:41 +00:00
kernel.h Fix the performance issue that the for-loop before ExternallCall could not be parallelized. (#85056) 2022-10-07 07:36:28 +00:00
llvm_codegen.cpp [NNC] Use New PassManager for LLVM >= 15 (#89978) 2022-12-05 19:19:36 +00:00
llvm_codegen.h
llvm_jit.cpp Suppress virtual-dtor check on llvm_jit (#81449) 2022-07-14 06:22:40 +00:00
llvm_jit.h
loopnest_randomization.cpp turn on -Werror=type-limits in our Bazel CPU build 2022-06-10 10:04:08 +00:00
loopnest_randomization.h
loopnest.cpp Fix bugs found by static analysis (#85705) 2022-10-28 23:51:55 +00:00
loopnest.h
lowerings.cpp [NNC] add eltwise OPs: mish and elu (#80586) 2022-09-17 01:44:34 +00:00
lowerings.h
mem_dependency_checker.cpp [BE] Use CamelCase for enum class members (#79772) 2022-06-17 05:53:57 +00:00
mem_dependency_checker.h
reduction.cpp Use high precision accmulate buffer for bf16 accmulation (#84402) 2022-09-27 04:40:42 +00:00
reduction.h Use high precision accmulate buffer for bf16 accmulation (#84402) 2022-09-27 04:40:42 +00:00
registerizer.cpp
registerizer.h
stmt.h Fix bugs found by static analysis (#85705) 2022-10-28 23:51:55 +00:00
tensor.cpp Use high precision accmulate buffer for bf16 accmulation (#84402) 2022-09-27 04:40:42 +00:00
tensor.h Use high precision accmulate buffer for bf16 accmulation (#84402) 2022-09-27 04:40:42 +00:00
tensorexpr_init.cpp Revert "Revert "Add a lint rule for torch/csrc/util/pybind.h include (#82552)"" (#82599) 2022-08-02 19:37:02 +00:00
tensorexpr_init.h
types.cpp Support BF16ImmPtr (#84041) 2022-09-24 11:58:43 +00:00
types.h
unique_name_manager.cpp
unique_name_manager.h
var_substitutor.h