Skip to content
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

Add API_VERSION_TYPED_FFI to CustomCallOp #637

Open
ezhulenev opened this issue Nov 28, 2022 · 2 comments
Open

Add API_VERSION_TYPED_FFI to CustomCallOp #637

ezhulenev opened this issue Nov 28, 2022 · 2 comments
Labels

Comments

@ezhulenev
Copy link
Member

Request description

XLA runtime supports typed custom calls with a new calling convention. This calling convention implemented in MHLO as mhlo::CustomCallApiVersion::API_VERSION_TYPED_FFI, and once it's proven to work for XLA and JAX it should be also added to StableHLO.

@GleasonK GleasonK added the Spec label Nov 28, 2022
@burmako burmako changed the title Add typed custom calls to StableHLO Add API_VERSION_TYPED_FFI to CustomCallOp Nov 28, 2022
@GleasonK
Copy link
Member

GleasonK commented Dec 29, 2022

In the coming weeks we should have the compatibility infrastructure in a production ready state (v0.4.0), at which point we can start reviewing spec additions like this one.

I will be prioritizing this issue in early 2023.

Edit for clarity: I am not reviewing other spec additions currently, I am particularly interested in CustomCall with a dictionary because it overlaps with a feature we want to add in 2023. A dictionary allows us to do some interesting things with compatibility, namely if the attrs in it are StableHLO attributes, they can be upgraded/downgraded by our compatibility machinery, providing stability will less reliance on compiler back-ends than a string argument.

@ezhulenev
Copy link
Member Author

I started working on re-writing XLA FFI (openxla/xla#6335), my current plan is to keep DictionaryAttr as a valid payload with some constraints on what can be a value. We should discuss what we want to standardize and what we can efficiently implement inside a runtime.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Todo
Development

No branches or pull requests

2 participants