tree: e17f1dc31e58f3bd73b4c1de9687c92a51bc546b [path history] [tgz]
  1. cow/
  2. alloc_cpu.cpp
  3. alloc_cpu.h
  4. DeviceGuardImplInterface.cpp
  5. DeviceGuardImplInterface.h
  6. FakeGuardImpl.h
  7. GPUTrace.cpp
  8. GPUTrace.h
  9. HermeticPyObjectTLS.cpp
  10. HermeticPyObjectTLS.h
  11. InlineDeviceGuard.h
  12. InlineEvent.h
  13. InlineStreamGuard.h
  14. LocalDispatchKeySet.cpp
  15. LocalDispatchKeySet.h
  16. PyInterpreter.cpp
  17. PyInterpreter.h
  18. PyObjectSlot.cpp
  19. PyObjectSlot.h
  20. PythonDispatcherTLS.cpp
  21. PythonDispatcherTLS.h
  22. README.md
  23. SizesAndStrides.cpp
  24. SizesAndStrides.h
  25. TorchDispatchModeTLS.cpp
  26. TorchDispatchModeTLS.h
  27. VirtualGuardImpl.h
c10/core/impl/README.md

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.)