I work on differentiable geometric optics with PyTorch. Seeing a list like this is really illustrative of the power that PyTorch provides when you start considering it like a general purpose GPU-enabled state of the art numerical optimization framework.
One thing I wonder is why no one has made a fork of PyTorch yet that removes all the API surface that doesn't produce GPU friendly code. Make dtype and device arg mandatory without defaults, remove in place operations that trigger a CPU sync, etc. This would increase confidence that written code will run on the GPU and pass torch.export() on the first try.
Seems like you could write a simple source code checker program to check all of that. Making an extra library just for some (user hostile) tweaks seems like overkill.
I work on one of the projects featured in the PyTorch Ecosystem [1] and I really recommend it to anyone working on a PyTorch library. Their team is really responsive and they even offer promotion on their blog & social media.
What is sad is that:
- many projects are arrived.
- It is unclear who is responsible for the updates.
I work on one of the projects in the list, need to update a link to the project, as old one is not actual anymore. And unclear how to do it => at least with respect to my project Albumentations, the landscape is outdated :(
---
Also, added the project to the Pytorch Ecosystem many years back, but if you ask me about practical value of being the part of the Ecosystem, I would not be able to tell you anything useful.
16 comments
[ 5.0 ms ] story [ 52.0 ms ] threadOne thing I wonder is why no one has made a fork of PyTorch yet that removes all the API surface that doesn't produce GPU friendly code. Make dtype and device arg mandatory without defaults, remove in place operations that trigger a CPU sync, etc. This would increase confidence that written code will run on the GPU and pass torch.export() on the first try.
I'm curious to hear about your work geometric optics with PyTorch. May I ask you to share some examples of something you are working on right now?
Try and compile the stack from source and you'll find out why nobody is making forks with small divergences.
[1] https://github.com/deepinv/deepinv
I work on one of the projects in the list, need to update a link to the project, as old one is not actual anymore. And unclear how to do it => at least with respect to my project Albumentations, the landscape is outdated :(
--- Also, added the project to the Pytorch Ecosystem many years back, but if you ask me about practical value of being the part of the Ecosystem, I would not be able to tell you anything useful.
I also thought that Jax would in turn take over after PyTorch but it never seemed to quite take off (still in use though from what I can tell).
https://landscape.pytorch.org/