Why is PyTorch split into so many libraries? What's the point of these splits? What do Windows, mobile and CUDA have to do with the library splits?
Further reading:
- c10 folder architecture description https://github.com/.../wiki/Software-Architecture-for-c10
- Implementation of the TORCH_API visibility macros https://github.com/.../blob/master/c10/macros/Export.h
- An example of virtual call based hook to break library structure https://github.com/pytorch/pytorch/blob/master/c10/core/impl/DeviceGuardImplInterface.h