Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Connect transform dialect passes into IREE.#8602

Merged
nicolasvasilache merged 2 commits into
mainfrom
transform-dialect
Mar 24, 2022
Merged

Connect transform dialect passes into IREE.#8602
nicolasvasilache merged 2 commits into
mainfrom
transform-dialect

Conversation

@nicolasvasilache
Copy link
Copy Markdown
Contributor

This revision provides a first connection between IREE and the transform dialect by
allowing the orthogonal specification of a linalg_transform file (policy) that is
parsed and applied on the fly.

@nicolasvasilache nicolasvasilache force-pushed the transform-dialect branch 20 times, most recently from d8ab5d4 to 729f1b9 Compare March 23, 2022 13:39
@nicolasvasilache
Copy link
Copy Markdown
Contributor Author

@benvanik could you please comment on at least the extra dependencies ?
I had to thread dependencies on PDL and PDLInterp though a few layers and I am unclear this is the best way.

OTOH, in order to create a more contained unit test for this PR, I also had to do the same for the Bufferization dialect.

The nested pass structure make the additional changes less than ideal but maybe there is a better / more automated way to achieve the same?

Copy link
Copy Markdown
Collaborator

@MaheshRavishankar MaheshRavishankar left a comment

Choose a reason for hiding this comment

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

Overall looks fine. Just a few questions about the dependent dialect specification.

Comment thread iree/compiler/Codegen/LLVMCPU/test/linalg_transform.mlir Outdated
Comment thread iree/compiler/Dialect/HAL/Target/LLVM/LLVMAOTTarget.cpp Outdated
Mahesh Ravishankar and others added 2 commits March 23, 2022 18:02
This commit adds a flag `-iree-codegen-use-sandbox-passes` that can be
used to transformations from sandbox within IREE in an e2e manner.
For now the pipeline just
- Sets the number of workgroups to {1, 1, 1} for sequential execution.
- Bufferizes the operations and lowers them to loops and LLVM IR.
This revision provides a first connection between IREE and the transform dialect by
allowing the orthogonal specification of a linalg_transform file (policy) that is
parsed and applied on the fly.
IREE::Flow::FlowDialect,
IREE::HAL::HALDialect,
IREE::LinalgExt::IREELinalgExtDialect,
mlir::linalg::transform::LinalgTransformDialect,
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Ah, I know why this is here, but the namespace difference is a bit off-putting. Just noting, not making it blocking.

@nicolasvasilache nicolasvasilache merged commit 45dfc40 into main Mar 24, 2022
@nicolasvasilache nicolasvasilache deleted the transform-dialect branch March 24, 2022 08:06
@nicolasvasilache nicolasvasilache added compiler/dialects Relating to the IREE compiler dialects (flow, hal, vm) codegen Shared code generation infrastructure and dialects iree-dialects/linalg_transform labels Apr 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

codegen Shared code generation infrastructure and dialects compiler/dialects Relating to the IREE compiler dialects (flow, hal, vm)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants