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

[Codegen][GPU] Add pass to unroll to native mma widths #18101

Merged
merged 1 commit into from
Aug 5, 2024

Conversation

qedawkins
Copy link
Contributor

Left as TODO is to extend this pass to also unroll consumers/producers. To eventually connect everything we should add a pattern that unrolls iter args of scf.for loops.

Note that the unrolling pattern is already tested in its own test, so simply updating the pipeline test is fine here. Once extending this pass to do more unrolling a test can be added.

Copy link
Contributor

@hanhanW hanhanW left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I only see the pipeline test. Where is the test for the pass? Can you add one?

Left as TODO is to extend this pass to also unroll consumers/producers.
To eventually connect everything we should add a pattern that unrolls
iter args of `scf.for` loops.

Note that the unrolling pattern is already tested in its own test, so
simply updating the pipeline test is fine here. Once extending this pass
to do more unrolling a test can be added.
@qedawkins
Copy link
Contributor Author

I only see the pipeline test. Where is the test for the pass? Can you add one?

I deduplicated the logic so now it is testing the same code that is already tested here: https://github.com/iree-org/iree/blob/main/compiler/src/iree/compiler/Codegen/Dialect/GPU/TransformExtensions/test/unroll_multi_mma.mlir

And I didn't feel it was worth adding a test for pass boilerplate for now. If you want I can make a dummy test for the pass version based on this test.

@hanhanW
Copy link
Contributor

hanhanW commented Aug 5, 2024

I only see the pipeline test. Where is the test for the pass? Can you add one?

I deduplicated the logic so now it is testing the same code that is already tested here: https://github.com/iree-org/iree/blob/main/compiler/src/iree/compiler/Codegen/Dialect/GPU/TransformExtensions/test/unroll_multi_mma.mlir

And I didn't feel it was worth adding a test for pass boilerplate for now. If you want I can make a dummy test for the pass version based on this test.

Ah I see, somehow I missed the changes IREEGPUExtensions.cpp. And it explains that why I'm feeling that I've seen these code somewhere. My conclusion was that is on other branch (not main).

Thanks thanks, LGTM

@qedawkins qedawkins merged commit 4a1f619 into iree-org:main Aug 5, 2024
42 checks passed
@qedawkins qedawkins deleted the unroll_mfma branch August 5, 2024 23:18
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