xref: /aosp_15_r20/external/pytorch/c10/util/ParallelGuard.h (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1 #pragma once
2 
3 #include <c10/macros/Macros.h>
4 
5 namespace c10 {
6 
7 // RAII thread local guard that tracks whether code is being executed in
8 // `at::parallel_for` or `at::parallel_reduce` loop function.
9 class C10_API ParallelGuard {
10  public:
11   static bool is_enabled();
12 
13   ParallelGuard(bool state);
14   ~ParallelGuard();
15 
16  private:
17   bool previous_state_;
18 };
19 
20 } // namespace c10
21