C++ 在 AI-Infra(06):并发、内存模型、TLS 与守卫
Concurrency, Memory Model, TLS and Guards
with torch.no_grad(): 大概是 PyTorch 用户最早学会的几个写法之一。它在 Python 侧是一个上下文管理器,__enter__ 调 torch.set_grad_enabled(False),__exit__ 把旧值设回去。顺着 torch._C._set_grad_enabled 往下追,会落到 torch/csrc/autograd/init.cpp 里的这段 C++:
static PyObject* set_grad_enabled(
PyObject* _unused,
PyObject* args,
PyObject* kwargs) {
HANDLE_TH_ERRORS
static Py...