-
Notifications
You must be signed in to change notification settings - Fork 514
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
Push for finishing transition to Python dtype functions #1807
Comments
I'm willing to help. Could I take the the first 3 tasks? |
Awesome! I've updated the work list |
This was referenced Jan 27, 2023
This was referenced Feb 18, 2023
This was referenced Mar 21, 2023
Closed
@gpetters94 can you please help chip away at these ops too. |
@ramiro050 I can take Embedding and Softmax for now. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi everyone,
I would like to get some help from the community to finish up the transition from using
RefineTypes.cpp
for encoding how to calculate the resulting dtypes of the tensors of all the ops to using dtype functions that are written in Python. For more information about the rationale behind this transition see the Custom Op RFC.The transition will take place on the branch
dtype-functions-staging
, so that it happens in a single go inmain
, otherwise many large workloads can fail to lower through Torch-MLIR. The reason things can fail is that if you have some ops being handled byRefineTypes
and other ops using the Python dtype functions that get applied in theTorchDtypeRefinementPipeline
, then theRefineTypes
pass and theTorchDtypeRefinementPipeline
will cycle over and over, each pass propagating dtype information until encountering an op that is not handled by the current pass. For workloads with many ops, the cycling of passes can easily reach the iteration limit in theLowerToBackendContract
pass, resulting in a failure when lowering through Torch-MLIR. Currently, there are only a few ops using dtype functions inmain
, and it is already affecting some user workloads.To avoid breaking workloads for users, or forcing users to increase the iteration limit affecting performance of Torch-MLIR, we will instead do the entire transition on the branch
dtype-functions-staging
, where we canXFAIL
complex tests temporarily as needed.The contribution process
dtype-functions-staging
branchRefineTypes.cpp
./build_tools/update_abstract_interp_lib.sh
to update abstract interp libraryResNet18
orMobilenet
to fail, mark those tests asXFAIL
dtype-functions-staging
(see the PR for ops that returni1
s for reference)Work List
Happy to help with any questions/issues!
The text was updated successfully, but these errors were encountered: