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

[WIP] Compute At Refactoring 4 #2244

Closed
wants to merge 1 commit into from

Conversation

csarofeen
Copy link
Owner

Start trying to see if we can disentangle concepts with burying more direct mapping concepts in IterDomainGraph. This graph is a highly connected, multi-dimensional map. Also including now concept of mapped expressions. Pulled using replay out of mapping the exact map and propagating within IterDomainGraph across Exprs directly.

@csarofeen
Copy link
Owner Author

@zasdfgbnm and @naoyam not urgent but would like your opinion on this PR, specifically removing the need to use transformation replay for building the Exact map. I'm wondering if we should try extend this for Permissive and loop mapping, and start deprecating much of BestEffortReplay since IterDomainGraph could/ maybe should be responsible for building many of the relationships that currently BestEffortReplay is responsible for today.

@naoyam
Copy link
Collaborator

naoyam commented Dec 6, 2022

I don't see any red flag, but curious why you want to deprecate BestEffortReplay.

@csarofeen
Copy link
Owner Author

I'm not sure I want to yet, but I'm considering the option. BestEffortReplay is kind of doing some overloaded things, and understanding what IterDomain's map with what, makes more sense to me in the format IterDomainGraph holds. I believe if we remove BestEffortReplay dependency in IterDomainGraph which should be quite possible, it's easy to get a map like what getReplay returns, but more directly by looking at relationships between two tensor views as described in the IterDomainGraph. To me having more logic about what maps with what in IterDomainGraph makes a lot of sense to try and centralize more of that information, if possible. BestEffortReplay to me just feels quite convoluted with how it's reasoning about mappings with the forwarding maps. I'm somewhat hopeful, but not heavily convinced this may be more straightforward in a fully built out IterDomainGraph.

@naoyam
Copy link
Collaborator

naoyam commented Dec 6, 2022

Sounds reasonable. I guess the forwarding logic would be one reason that makes BestEffortReplay convoluted. I'm not sure moving it to IterDomainGraph could make it cleaner.

@csarofeen
Copy link
Owner Author

It might not make it cleaner, but if it's just as "not clean" but only implemented in one straightforward way I might still be happier.

@naoyam
Copy link
Collaborator

naoyam commented Dec 6, 2022

Agreed.

@csarofeen
Copy link
Owner Author

Closing in favor of #2316

@csarofeen csarofeen closed this Feb 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants