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

Miopen dialect opt step18 : add source_bounds and output_bounds attributes in miopen.transform #242

Merged
merged 8 commits into from
May 29, 2021

Conversation

whchung
Copy link
Contributor

@whchung whchung commented May 28, 2021

Added a custom builder API for miopen.transform to populate source_bounds and output_bounds attributes in miopen.transform.

when we transform A to B in miopen.transform, the dimension of B becomes source_bounds, the dimension of A becomes output_bounds, because A would be lower level tensor and B would be the upper level tensor. when we apply coordinate transformations we begin from upper level coordinates.

this is also an infrastructure need for F_infinite algorithm to properly compute index diff maps for semi-affine transformations such as Merge.

@whchung whchung requested review from asleepzzz, ltqin and asroy May 28, 2021 05:05
@asroy
Copy link

asroy commented May 28, 2021

when we transform A to B in miopen.transform, the dimension of B becomes source_bounds, the dimension of A becomes output_bounds, because A would be lower level tensor and B would be the upper level tensor. when we apply coordinate transformations we begin from upper level coordinates.

Maybe we should call A/B lower/upper instead of source/output, so we don't need to switch between two opposite naming scheme when we switch between transforming descriptor and transforming coordinate

@whchung whchung requested a review from asroy May 28, 2021 17:15
@whchung
Copy link
Contributor Author

whchung commented May 28, 2021

when we transform A to B in miopen.transform, the dimension of B becomes source_bounds, the dimension of A becomes output_bounds, because A would be lower level tensor and B would be the upper level tensor. when we apply coordinate transformations we begin from upper level coordinates.

Maybe we should call A/B lower/upper instead of source/output, so we don't need to switch between two opposite naming scheme when we switch between transforming descriptor and transforming coordinate

Will file it as a separate PR.

@whchung
Copy link
Contributor Author

whchung commented May 28, 2021

when we transform A to B in miopen.transform, the dimension of B becomes source_bounds, the dimension of A becomes output_bounds, because A would be lower level tensor and B would be the upper level tensor. when we apply coordinate transformations we begin from upper level coordinates.

Maybe we should call A/B lower/upper instead of source/output, so we don't need to switch between two opposite naming scheme when we switch between transforming descriptor and transforming coordinate

Please refer to #243 for such an implementation.

@whchung whchung merged commit 8e30b30 into miopen-dialect May 29, 2021
@whchung whchung deleted the miopen-dialect-opt-step18 branch May 29, 2021 16:50
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