[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [UNIKRAFT/PYTORCH PATCH v2 5/5] Add patches
In this patch we add several patches for: disabling some features such as backtracking, remove calls to functions from cpuinfo, remove calls for other missing symbols. Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> --- ...ds-to-suppress-redefinition-warnings.patch | 37 +++++++++++++++++ .../0002-Comment-out-calls-to-enable_if.patch | 40 +++++++++++++++++++ patches/0003-Comment-out-waitpid-call.patch | 27 +++++++++++++ ...variable-to-avoid-compilation-errors.patch | 28 +++++++++++++ patches/0005-Disable-backtrace-support.patch | 34 ++++++++++++++++ patches/0006-Disable-demangle.patch | 25 ++++++++++++ .../0007-Comment-out-nexttoward-call.patch | 26 ++++++++++++ ...8-Remove-cpuinfo_get_processor-calls.patch | 34 ++++++++++++++++ patches/0009-Comment-out-runJITCPPTests.patch | 29 ++++++++++++++ ...emove-calls-to-cpuinfo_get_processor.patch | 25 ++++++++++++ 10 files changed, 305 insertions(+) create mode 100644 patches/0001-Add-guards-to-suppress-redefinition-warnings.patch create mode 100644 patches/0002-Comment-out-calls-to-enable_if.patch create mode 100644 patches/0003-Comment-out-waitpid-call.patch create mode 100644 patches/0004-Rename-variable-to-avoid-compilation-errors.patch create mode 100644 patches/0005-Disable-backtrace-support.patch create mode 100644 patches/0006-Disable-demangle.patch create mode 100644 patches/0007-Comment-out-nexttoward-call.patch create mode 100644 patches/0008-Remove-cpuinfo_get_processor-calls.patch create mode 100644 patches/0009-Comment-out-runJITCPPTests.patch create mode 100644 patches/0010-Remove-calls-to-cpuinfo_get_processor.patch diff --git a/patches/0001-Add-guards-to-suppress-redefinition-warnings.patch b/patches/0001-Add-guards-to-suppress-redefinition-warnings.patch new file mode 100644 index 0000000..b8fd7b1 --- /dev/null +++ b/patches/0001-Add-guards-to-suppress-redefinition-warnings.patch @@ -0,0 +1,37 @@ +From d4645e726ef513d1a22eb0d6be1d610cd2a01b62 Mon Sep 17 00:00:00 2001 +From: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +Date: Tue, 7 Apr 2020 22:07:49 +0000 +Subject: [PATCH 1/8] Add guards to suppress redefinition warnings + +Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +--- + c10/macros/Export.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/c10/macros/Export.h b/c10/macros/Export.h +index 0a213ed..7fce4f4 100644 +--- a/c10/macros/Export.h ++++ b/c10/macros/Export.h +@@ -86,7 +86,9 @@ + + // This one is being used by libc10.so + #ifdef C10_BUILD_MAIN_LIB ++#ifndef C10_API + #define C10_API C10_EXPORT ++#endif + #else + #define C10_API C10_IMPORT + #endif +@@ -94,7 +96,9 @@ + // This one is being used by libtorch.so + // TODO: rename this to TORCH_API + #ifdef CAFFE2_BUILD_MAIN_LIB ++#ifndef CAFFE2_API + #define CAFFE2_API C10_EXPORT ++#endif + #else + #define CAFFE2_API C10_IMPORT + #endif +-- +2.11.0 + diff --git a/patches/0002-Comment-out-calls-to-enable_if.patch b/patches/0002-Comment-out-calls-to-enable_if.patch new file mode 100644 index 0000000..0195485 --- /dev/null +++ b/patches/0002-Comment-out-calls-to-enable_if.patch @@ -0,0 +1,40 @@ +From f844c7363c909ffa3d1bc8c692ce24e38be6c988 Mon Sep 17 00:00:00 2001 +From: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +Date: Tue, 7 Apr 2020 22:22:37 +0000 +Subject: [PATCH 2/8] Comment out calls to enable_if + +Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +--- + aten/src/ATen/native/cpu/MultinomialKernel.cpp | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/aten/src/ATen/native/cpu/MultinomialKernel.cpp b/aten/src/ATen/native/cpu/MultinomialKernel.cpp +index c00c4c0..352cbc4 100644 +--- a/aten/src/ATen/native/cpu/MultinomialKernel.cpp ++++ b/aten/src/ATen/native/cpu/MultinomialKernel.cpp +@@ -48,8 +48,8 @@ void multinomial_apply(Tensor& result, const Tensor& self, const int64_t n_sampl + TORCH_CHECK(std::isfinite(static_cast<double>(val)), + "invalid multinomial distribution (encountering probability entry = infinity or NaN)"); + #else +- TORCH_CHECK(std::isfinite(val), +- "invalid multinomial distribution (encountering probability entry = infinity or NaN)"); ++ //TORCH_CHECK(std::isfinite(val), ++ // "invalid multinomial distribution (encountering probability entry = infinity or NaN)"); + #endif + + sum += val; +@@ -130,9 +130,11 @@ void multinomial_apply(Tensor& result, const Tensor& self, const int64_t n_sampl + } + + static void multinomial_kernel_impl(Tensor& result, const Tensor& self, const int64_t n_sample, const bool with_replacement, Generator *gen) { ++ /* + AT_DISPATCH_FLOATING_TYPES_AND_HALF(self.scalar_type(), "multinomial", [&] { + multinomial_apply<scalar_t>(result, self, n_sample, with_replacement, gen); + }); ++ */ + } + + } +-- +2.11.0 + diff --git a/patches/0003-Comment-out-waitpid-call.patch b/patches/0003-Comment-out-waitpid-call.patch new file mode 100644 index 0000000..1c09da7 --- /dev/null +++ b/patches/0003-Comment-out-waitpid-call.patch @@ -0,0 +1,27 @@ +From 972caf96f8ad327d281e7287c48c14e0e8fa2dc9 Mon Sep 17 00:00:00 2001 +From: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +Date: Tue, 7 Apr 2020 22:27:39 +0000 +Subject: [PATCH 3/8] Comment out waitpid call + +Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +--- + torch/csrc/DataLoader.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/torch/csrc/DataLoader.cpp b/torch/csrc/DataLoader.cpp +index 164a7ce..5f438ea 100644 +--- a/torch/csrc/DataLoader.cpp ++++ b/torch/csrc/DataLoader.cpp +@@ -113,7 +113,8 @@ static PyObject *THPModule_errorIfAnyWorkerFails(PyObject *module, PyObject *noa + // Use waitid rather than waitpid so that we can set NOWAIT, and that Python + // and other handlers can get whatever info they want about the child. + infop.si_pid = 0; +- error = waitid(P_PID, worker_pid, &infop, WEXITED|WNOHANG|WNOWAIT); ++ // error = waitid(P_PID, worker_pid, &infop, WEXITED|WNOHANG|WNOWAIT); ++ error = 0; + // ignore errors and case with no waitable child + if (error < 0 || infop.si_pid == 0) + continue; +-- +2.11.0 + diff --git a/patches/0004-Rename-variable-to-avoid-compilation-errors.patch b/patches/0004-Rename-variable-to-avoid-compilation-errors.patch new file mode 100644 index 0000000..89ce0bb --- /dev/null +++ b/patches/0004-Rename-variable-to-avoid-compilation-errors.patch @@ -0,0 +1,28 @@ +From 22f0829c951dc358b7fa6b40c67dbed8c36cc6e1 Mon Sep 17 00:00:00 2001 +From: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +Date: Tue, 7 Apr 2020 22:34:46 +0000 +Subject: [PATCH 4/8] Rename variable to avoid compilation errors + +Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +--- + torch/csrc/jit/script/python_tree_views.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/torch/csrc/jit/script/python_tree_views.cpp b/torch/csrc/jit/script/python_tree_views.cpp +index b7726d6..4d89ea3 100644 +--- a/torch/csrc/jit/script/python_tree_views.cpp ++++ b/torch/csrc/jit/script/python_tree_views.cpp +@@ -74,8 +74,8 @@ Maybe<T> wrap_maybe(const SourceRange& fallback_pos, T* val) { + } + + void initTreeViewBindings(PyObject* module) { +- auto _C = py::handle(module).cast<py::module>(); +- auto m = _C.def_submodule("_jit_tree_views"); ++ auto C = py::handle(module).cast<py::module>(); ++ auto m = C.def_submodule("_jit_tree_views"); + + py::class_<SourceRange>(m, "SourceRange") + .def( +-- +2.11.0 + diff --git a/patches/0005-Disable-backtrace-support.patch b/patches/0005-Disable-backtrace-support.patch new file mode 100644 index 0000000..6551681 --- /dev/null +++ b/patches/0005-Disable-backtrace-support.patch @@ -0,0 +1,34 @@ +From 290fb52ee2cecba86f3585ef9e500dc168063934 Mon Sep 17 00:00:00 2001 +From: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +Date: Tue, 7 Apr 2020 22:37:49 +0000 +Subject: [PATCH 5/8] Disable backtrace support + +Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +--- + c10/util/Backtrace.cpp | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/c10/util/Backtrace.cpp b/c10/util/Backtrace.cpp +index 3abfc08..6e09abc 100644 +--- a/c10/util/Backtrace.cpp ++++ b/c10/util/Backtrace.cpp +@@ -15,11 +15,13 @@ + // No backtrace on mobile, windows and emscripten platforms. + #define SUPPORTS_BACKTRACE 0 + #else +-#define SUPPORTS_BACKTRACE 1 +-#include <cxxabi.h> +-#include <execinfo.h> ++//#define SUPPORTS_BACKTRACE 1 ++//#include <cxxabi.h> ++//#include <execinfo.h> + #endif + ++#define SUPPORTS_BACKTRACE 0 ++ + namespace c10 { + + // TODO: This backtrace retrieval can be implemented on Windows via the Windows +-- +2.11.0 + diff --git a/patches/0006-Disable-demangle.patch b/patches/0006-Disable-demangle.patch new file mode 100644 index 0000000..2f4c59d --- /dev/null +++ b/patches/0006-Disable-demangle.patch @@ -0,0 +1,25 @@ +From 0a32adf17fcd86ef28a51b3f68e4130f7db26ee2 Mon Sep 17 00:00:00 2001 +From: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +Date: Tue, 7 Apr 2020 22:39:52 +0000 +Subject: [PATCH 6/8] Disable demangle + +Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +--- + c10/util/Type.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/c10/util/Type.cpp b/c10/util/Type.cpp +index 3e00055..dc18ab2 100644 +--- a/c10/util/Type.cpp ++++ b/c10/util/Type.cpp +@@ -13,6 +13,7 @@ + #define HAS_DEMANGLE 1 + #endif + ++#define HAS_DEMANGLE 0 + #if HAS_DEMANGLE + + #include <cxxabi.h> +-- +2.11.0 + diff --git a/patches/0007-Comment-out-nexttoward-call.patch b/patches/0007-Comment-out-nexttoward-call.patch new file mode 100644 index 0000000..369ce10 --- /dev/null +++ b/patches/0007-Comment-out-nexttoward-call.patch @@ -0,0 +1,26 @@ +From 511ccc836b30d8eb303b151c3b47e79d0c4c4097 Mon Sep 17 00:00:00 2001 +From: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +Date: Tue, 7 Apr 2020 22:49:24 +0000 +Subject: [PATCH 7/8] Comment out nexttoward call + +Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +--- + aten/src/ATen/native/Distributions.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/aten/src/ATen/native/Distributions.cpp b/aten/src/ATen/native/Distributions.cpp +index 644888a..0accb3b 100644 +--- a/aten/src/ATen/native/Distributions.cpp ++++ b/aten/src/ATen/native/Distributions.cpp +@@ -289,7 +289,7 @@ Tensor _s_dirichlet_cpu(const Tensor& alpha, Generator *gen) { + [](scalar_t& ret_val, const double& gamma, const double& gamma_sum){ + ret_val = gamma / gamma_sum; + auto min_val = std::numeric_limits<scalar_t>::min(); +- auto max_val = std::nexttoward(static_cast<scalar_t>(1.0f), 0.0f); ++ auto max_val = static_cast<scalar_t>(1.0f);//std::nexttoward(static_cast<scalar_t>(1.0f), 0.0f); + ret_val = std::min(max_val, std::max(min_val, ret_val)); + ret_val = static_cast<scalar_t>(ret_val); + } +-- +2.11.0 + diff --git a/patches/0008-Remove-cpuinfo_get_processor-calls.patch b/patches/0008-Remove-cpuinfo_get_processor-calls.patch new file mode 100644 index 0000000..ffdf274 --- /dev/null +++ b/patches/0008-Remove-cpuinfo_get_processor-calls.patch @@ -0,0 +1,34 @@ +From ffa7d398d11a2f8a93b69feb9dc1d147801da943 Mon Sep 17 00:00:00 2001 +From: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +Date: Tue, 7 Apr 2020 22:54:06 +0000 +Subject: [PATCH 8/8] Remove cpuinfo_get_processor calls + +Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +--- + caffe2/utils/bench_utils.cc | 10 +--------- + 1 file changed, 1 insertion(+), 9 deletions(-) + +diff --git a/caffe2/utils/bench_utils.cc b/caffe2/utils/bench_utils.cc +index df77512..93384cc 100644 +--- a/caffe2/utils/bench_utils.cc ++++ b/caffe2/utils/bench_utils.cc +@@ -14,15 +14,7 @@ uint32_t wipe_cache() { + if (wipe_buffer == nullptr) { + CAFFE_ENFORCE(cpuinfo_initialize(), "failed to initialize cpuinfo"); + const cpuinfo_processor* processor = cpuinfo_get_processor(0); +- if (processor->cache.l4 != nullptr) { +- wipe_size = processor->cache.l4->size; +- } else if (processor->cache.l3 != nullptr) { +- wipe_size = processor->cache.l3->size; +- } else if (processor->cache.l2 != nullptr) { +- wipe_size = processor->cache.l2->size; +- } else { +- wipe_size = processor->cache.l1d->size; +- } ++ wipe_size = 64 * 1024; + #if CPUINFO_ARCH_ARM || CPUINFO_ARCH_ARM64 + /* + * On ARM precise cache size is not available, and cpuinfo may +-- +2.11.0 + diff --git a/patches/0009-Comment-out-runJITCPPTests.patch b/patches/0009-Comment-out-runJITCPPTests.patch new file mode 100644 index 0000000..cc49951 --- /dev/null +++ b/patches/0009-Comment-out-runJITCPPTests.patch @@ -0,0 +1,29 @@ +From 2f2f760fac6b14f7ce63ee1858262b4c3bbae4a7 Mon Sep 17 00:00:00 2001 +From: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +Date: Tue, 7 Apr 2020 23:52:29 +0000 +Subject: [PATCH 1/1] Comment out runJITCPPTests + +We comment out runJITCPPTests calls because we +are not running the unit tests. + +Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +--- + torch/csrc/jit/init.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/torch/csrc/jit/init.cpp b/torch/csrc/jit/init.cpp +index 9745464..cf99b95 100644 +--- a/torch/csrc/jit/init.cpp ++++ b/torch/csrc/jit/init.cpp +@@ -286,7 +286,7 @@ void initJITBindings(PyObject* module) { + // newly spawned worker threads will try to initialize their + // PyThreadState*, and they need the GIL for this. + AutoNoGIL _no_gil; +- return runJITCPPTests(runCuda); ++ //return runJITCPPTests(runCuda); + }, + py::arg("run_cuda")) + .def( +-- +2.11.0 + diff --git a/patches/0010-Remove-calls-to-cpuinfo_get_processor.patch b/patches/0010-Remove-calls-to-cpuinfo_get_processor.patch new file mode 100644 index 0000000..b9582b9 --- /dev/null +++ b/patches/0010-Remove-calls-to-cpuinfo_get_processor.patch @@ -0,0 +1,25 @@ +iFrom d8d7f7b02d983bb3e00728648dceb462f0f2155f Mon Sep 17 00:00:00 2001 +From: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +Date: Tue, 7 Apr 2020 23:57:21 +0000 +Subject: [PATCH 1/1] Remove calls to cpuinfo_get_processor + +Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxx> +--- + caffe2/utils/bench_utils.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/caffe2/utils/bench_utils.cc b/caffe2/utils/bench_utils.cc +index 93384cc..facf095 100644 +--- a/caffe2/utils/bench_utils.cc ++++ b/caffe2/utils/bench_utils.cc +@@ -13,7 +13,7 @@ uint32_t wipe_cache() { + + if (wipe_buffer == nullptr) { + CAFFE_ENFORCE(cpuinfo_initialize(), "failed to initialize cpuinfo"); +- const cpuinfo_processor* processor = cpuinfo_get_processor(0); ++ const cpuinfo_processor* processor;// = cpuinfo_get_processor(0); + wipe_size = 64 * 1024; + #if CPUINFO_ARCH_ARM || CPUINFO_ARCH_ARM64 + /* +-- +2.11.0 -- 2.20.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |