tree: 3f43a6b0b1897e97cc02c2a39bb368d74c4de5d8 [path history] [tgz]
  1. alloc_cpu.cpp
  2. alloc_cpu.h
  3. COW.cpp
  4. COW.h
  5. COWDeleter.cpp
  6. COWDeleter.h
  7. DeviceGuardImplInterface.cpp
  8. DeviceGuardImplInterface.h
  9. FakeGuardImpl.h
  10. GPUTrace.cpp
  11. GPUTrace.h
  12. HermeticPyObjectTLS.cpp
  13. HermeticPyObjectTLS.h
  14. InlineDeviceGuard.h
  15. InlineEvent.h
  16. InlineStreamGuard.h
  17. LocalDispatchKeySet.cpp
  18. LocalDispatchKeySet.h
  19. PyInterpreter.cpp
  20. PyInterpreter.h
  21. PyObjectSlot.cpp
  22. PyObjectSlot.h
  23. PythonDispatcherTLS.cpp
  24. PythonDispatcherTLS.h
  25. README-cow.md
  26. README.md
  27. SizesAndStrides.cpp
  28. SizesAndStrides.h
  29. TorchDispatchModeTLS.cpp
  30. TorchDispatchModeTLS.h
  31. 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.)