pytorch/c10/core/impl
2024-07-08 07:03:53 +00:00
..
alloc_cpu.cpp
alloc_cpu.h
COW.cpp
COW.h
COWDeleter.cpp
COWDeleter.h
DeviceGuardImplInterface.cpp
DeviceGuardImplInterface.h
FakeGuardImpl.h
GPUTrace.cpp
GPUTrace.h
HermeticPyObjectTLS.cpp
HermeticPyObjectTLS.h
InlineDeviceGuard.h [1/N] Change #include <c10/util/Optional.h> to #include <optional> (#128301) 2024-07-08 07:03:53 +00:00
InlineEvent.h
InlineStreamGuard.h [1/N] Change #include <c10/util/Optional.h> to #include <optional> (#128301) 2024-07-08 07:03:53 +00:00
LocalDispatchKeySet.cpp
LocalDispatchKeySet.h
PyInterpreter.cpp
PyInterpreter.h
PyObjectSlot.cpp
PyObjectSlot.h [1/N] Change #include <c10/util/Optional.h> to #include <optional> (#128301) 2024-07-08 07:03:53 +00:00
PythonDispatcherTLS.cpp
PythonDispatcherTLS.h
README-cow.md
README.md
SizesAndStrides.cpp
SizesAndStrides.h
TorchDispatchModeTLS.cpp [1/N] Change #include <c10/util/Optional.h> to #include <optional> (#128301) 2024-07-08 07:03:53 +00:00
TorchDispatchModeTLS.h
VirtualGuardImpl.h

c10/core/impl provides headers for functionality that is only needed in very specific use-cases (e.g., you are defining a new device type), which are generally only needed by C10 or PyTorch code. If you are an ordinary end-user, you should not use headers in this folder. We permanently give NO backwards-compatibility guarantees for implementations in this folder.

Compare with c10/util, which provides functionality that is not directly related to being a deep learning library (e.g., C++20 polyfills), but may still be generally useful and visible to users.

(We don't call this c10/detail, because the detail namespace convention is for header private details. However, c10::impl may be utilized from external headers; it simply indicates that the functionality is not for end users.)