21 lines
373 B
C
21 lines
373 B
C
|
#pragma once
|
||
|
|
||
|
#include <c10/macros/Macros.h>
|
||
|
|
||
|
namespace c10 {
|
||
|
|
||
|
// RAII thread local guard that tracks whether code is being executed in
|
||
|
// `at::parallel_for` or `at::parallel_reduce` loop function.
|
||
|
class C10_API ParallelGuard {
|
||
|
public:
|
||
|
static bool is_enabled();
|
||
|
|
||
|
ParallelGuard(bool state);
|
||
|
~ParallelGuard();
|
||
|
|
||
|
private:
|
||
|
bool previous_state_;
|
||
|
};
|
||
|
|
||
|
} // namespace c10
|