diff --git a/paddle/fluid/imperative/tracer.cc b/paddle/fluid/imperative/tracer.cc index f4e535de108a6a69dddd19ad4705c1b08e749e47..e845ce104534cd57ec232957cbbcce88addb60b9 100644 --- a/paddle/fluid/imperative/tracer.cc +++ b/paddle/fluid/imperative/tracer.cc @@ -32,6 +32,8 @@ namespace imperative { thread_local bool Tracer::has_grad_ = true; +thread_local AmpLevel Tracer::amp_level_ = AmpLevel::O0; + static std::shared_ptr g_current_tracer(nullptr); const std::shared_ptr& GetCurrentTracer() { return g_current_tracer; } diff --git a/paddle/fluid/imperative/tracer.h b/paddle/fluid/imperative/tracer.h index 93f68f2054b9a85b65639ae6ddfdc1f7fc8911f8..bd8521dabde1f43371722bd7c8b0dc9c93787cc4 100644 --- a/paddle/fluid/imperative/tracer.h +++ b/paddle/fluid/imperative/tracer.h @@ -126,7 +126,7 @@ class Tracer { platform::Place expected_place_; GarbageCollectorMap gcs_; static thread_local bool has_grad_; - AmpLevel amp_level_{AmpLevel::O0}; + static thread_local AmpLevel amp_level_; }; // To access static variable current_tracer