mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-07 12:21:27 +01:00
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/52361 Test Plan: buck build //xplat/caffe2:aten_test_test_thread_pool_guard ./aten_test_test_thread_pool_guard Reviewed By: kimishpatel Differential Revision: D26429540 fbshipit-source-id: 16e4a56d4bf9b73b1ea1ff88d7dc6730e0b1e029
24 lines
567 B
C++
24 lines
567 B
C++
#pragma once
|
|
|
|
#include <c10/macros/Macros.h>
|
|
|
|
namespace caffe2 {
|
|
|
|
// A RAII, thread local (!) guard that enables or disables grad mode upon
|
|
// construction, and sets it back to the original value upon destruction.
|
|
struct TORCH_API _NoPThreadPoolGuard {
|
|
static bool is_enabled();
|
|
static void set_enabled(bool enabled);
|
|
|
|
_NoPThreadPoolGuard(): prev_mode_(_NoPThreadPoolGuard::is_enabled()) {
|
|
_NoPThreadPoolGuard::set_enabled(true);
|
|
}
|
|
~_NoPThreadPoolGuard() {
|
|
_NoPThreadPoolGuard::set_enabled(prev_mode_);
|
|
}
|
|
private:
|
|
bool prev_mode_;
|
|
};
|
|
|
|
}
|