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

Decide what to do with interpretation of Not in HLO and Miscellaneous ops #1571

Closed
burmako opened this issue Jun 3, 2023 · 4 comments
Closed
Assignees

Comments

@burmako
Copy link
Contributor

burmako commented Jun 3, 2023

We have frontend contract tickets that request moving Not in HLO ops (#3) and potentially Miscellaneous ops (#1570) out of StableHLO. All of these ops (except for FftOp) have passes implemented either on MHLO or HLO that decompose them into other StableHLO ops. I think this means that we could declare these decomposable ops as "kind of done" for now.

@burmako
Copy link
Contributor Author

burmako commented Jun 3, 2023

FWIW, here are the individual "implement interpretation for FooOp tickets":

BatchNormGradOp, BatchNormInferenceOp, BatchNormTrainingOp (Miscellaneous): already implemented.
BroadcastOp (Not in HLO): N/A.
CholeskyOp (Miscellaneous): already implemented.
CreateTokenOp (Not in HLO): N/A.
CrossReplicaSumOp (Not in HLO): N/A.
DotOp (Not in HLO): #1225.
EinsumOp (Not in HLO): #1226.
FftOp (Miscellaneous): #1126.
RngBitGeneratorOp (Miscellaneous): #1135.
RngOp (Miscellaneous): #1136.
TorchIndexSelectOp (Not in HLO): #1227.
TraceOp (Not in HLO): N/A.
TriangularSolveOp (Miscellaneous): #1138.
UnaryEinsumOp (Not in HLO): N/A.

@GleasonK
Copy link
Member

This blocks a few other P1 items in https://github.com/orgs/openxla/projects/7?pane=issue&itemId=29868960, may be worth considering bumping to P0 and making a formal plan for support of these ops and timelines.

@ghpvnist
Copy link
Member

ghpvnist commented Oct 9, 2023

With #1573 merged, here is the updated (exhaustive) list with all tickets created (with the exception of trace, which may be removed by #604):

Miscellaneous:

Not in HLO:

GleasonK pushed a commit that referenced this issue Nov 1, 2023
This PR adds documentation to the StableHLO interpreter's current status
and provides a way to convert StableHLO ops without a direct
implementation to ones that do via running a set of expander/transform
passes within the [openxla/xla](https://github.com/openxla/xla) repo.

In summary, this PR closes most of the remaining specced ops without an
interpreter with a few exceptions noted in the doc: `FftOp`, `RngOp`,
`RngBitGeneratorOp`, `UniformDequantizeOp`, and `UniformQuantizeOp`. It
also documents interpretation of ops categorized as "Not In HLO" which
currently does not have a formal spec in our StableHLO
[spec.md](https://github.com/openxla/stablehlo/blob/main/docs/spec.md).

This PR resolves most of the items in #1571 except ones mentioned above
and those marked N/A in the comment (rationale for these are provided in
the doc).

Miscellaneous:
closes #1121 batch_norm_grad
closes #963 batch_norm_inference
closes #1122 batch_norm_training
closes #1123 cholesky
closes #1138 triangular_solve

Not In HLO:
closes #1799 broadcast
closes #1800 create_token
closes #1801 cross-replica-sum
closes #1225 dot
closes #1226 einsum
closes #1227 torch_index_select
closes #1802 unary_einsum
@ghpvnist
Copy link
Member

ghpvnist commented Nov 2, 2023

Here are the remaining open issues:

Miscellaneous:

Not in HLO:

Any future work & removal of an op will be proposed in their respective tickets.

@ghpvnist ghpvnist closed this as completed Nov 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

3 participants