-
Notifications
You must be signed in to change notification settings - Fork 630
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Plumb GPU conv and matmul vectorization through flow.dispatch.workgro…
…ups (#4999) This commit adds all necessary plumbing to connect 2-D convolution and matmul vectorization inside flow.dispatch.workgroups. This includes: * Let 2-D convolution be recognized as a root op during dispatch region formation. * Add a pass to concretize the abstract tiling and distribution during flow dispatch region formation. It substitutes symbolic ops with concrete values from CodeGen policy. * Recognize `hal.interface.workgroup.id` ops when folding GPU processor ID uses. * Recognize `hal.interface.binding.subspan` when vectorizing `memref`s for better memory access. Along the way, the old path is refactored to have a better structure for further cleaning up: * `LinalgTileAndDistributePass` is split out of `LinalgTileAndFusePass`. It will be used for tiling and distribution among workgroups in the old path. `LinalgTileAndFusePass` will be for tiling and vectorization in a single workgroup (and it will be renamed later). * A few tests are updated to use the new path.
- Loading branch information
1 parent
565c97c
commit 7116f0c
Showing
29 changed files
with
1,509 additions
and
334 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.