-
Notifications
You must be signed in to change notification settings - Fork 133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[NOTICE] ABI Update For adding Version to DLPack #110
Comments
Thanks @tqchen, great to see this move forward.
I can open a PR with a proposed update to the spec once this notice period closes, and coordinate getting the implementations updated. IIRC that's a two-step process, first update the |
I've raised for awareness in today's array API meeting (because I forgot two weeks ago...) and asked for help to spread the words. |
PR that implements the change #113 |
It looks great! The issue+PR make the memory layout of the data structures perfectly clear, but it may also be worth addressing the Python bits. For example, tensor types in array frameworks currently implement a |
My other request is that the PR adds some explanation of what to do when loading a |
Thanks @wjakob , would love to see what others think about cc @leofang @rgommers @oleksandr-pavlyk @tirthasheshpatel @seberg @kkraus14 |
Can we move the discussion about Python somewhere else? I have to think about it a bit more, and I think it would also make sense to think about it a bit more from the C perspective. The reason is what Keith allured to: Currently Python is ahead of C in defining the exchange protocol. For example, it has a protocol around "streams" (I figured out what I don't quite love about it, is that we pass stream without the device). Generally, I am not in favor of a new name, I don't see what it adds compared to renaming the capsule only. But passing |
Agreed with Sebastian, it'd be better if we focus on the C perspective here (we are talking about ABI breaks, after all), and have the Python discussion in a separate issue. I also think the existing name is fine, I thought this was actually discussed somewhere in this repo, I need to look in up. |
Happy to move the python discussion |
Dear DLPack community:
After quite a bit of discussions and coordinations, we are planning to do a ABI breaking change to add versioning and read only field to DLPack. DLPack has been a minimum stable ABI for exchanging Array data and we would like for it to continue stay that way.
In the meantime, we would like to have opportunities to carefully evolve DLPack, of course in still carefully considered manner. After long discussions, we have decided to make the following change.
DLManagedTensorVersioned
, which contains a new version fieldWe also propose to change Data API exchange protocol, to allow new versions of DLPack to return capsule with name "vdltensor"(instead of the old "dltensor"), this would .
The change is still ABI compatible, as the new data structure ABI comes with the new class DLManagedTensorVersioned. The data api however would involve an ABI update and update of all DLPack importer/exporters.
Such a move certainly impact a lot of packages and we would like to plan it carefully, as a result, we would like to have at least one month of notice to let everyone chime in, also see if we have enough volunteers to help update the data api exchanges in various packages.
The text was updated successfully, but these errors were encountered: