-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[mlir][linalg] Re-organise tests for vectorization #141025
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
Comments
@llvm/issue-subscribers-mlir Author: Andrzej Warzyński (banach-space)
The current Linalg vectorization tests are split somewhat arbitrarily across multiple files:
ls -1 mlir/test/Dialect/Linalg/vectoriz*
mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
mlir/test/Dialect/Linalg/vectorization-scalable.mlir
mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
mlir/test/Dialect/Linalg/vectorization.mlir
mlir/test/Dialect/Linalg/vectorize-conv-masked-and-scalable.mlir
mlir/test/Dialect/Linalg/vectorize-convolution-flatten.mlir
mlir/test/Dialect/Linalg/vectorize-convolution.mlir
mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir Proposed improvements:
Re 3., this split is already followed in "vectorization.mlir" and "vectorization-with-patterns.mlir", respectively. Specific steps:
Additional clean-up
Structure after the changes mlir/test/Dialect/Linalg/vectorization/
├── conv.mlir
├── conv-flatten.mlir
├── conv-with-patterns.mlir
├── extract.mlir
├── extract-with-patterns.mlir
├── insert-slice.mlir
├── insert-slice-with-patterns.mlir
├── linalg-ops.mlir
├── linalg-ops-with-patterns.mlir
├── pad.mlir
├── pad-with-patterns.mlir
├── unsupported.mlir In addition to consistent naming, this structure provides a clear separation between tests using:
Next steps I’ll be uploading patches implementing these changes incrementally, and I’ll use this ticket as a reference for the overall direction. If you have any high-level comments, suggestions, or objections, please raise them here. For smaller details, let’s handle them through the individual PRs. Thanks! PRs: |
@llvm/issue-subscribers-mlir-linalg Author: Andrzej Warzyński (banach-space)
The current Linalg vectorization tests are split somewhat arbitrarily across multiple files:
ls -1 mlir/test/Dialect/Linalg/vectoriz*
mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
mlir/test/Dialect/Linalg/vectorization-scalable.mlir
mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
mlir/test/Dialect/Linalg/vectorization.mlir
mlir/test/Dialect/Linalg/vectorize-conv-masked-and-scalable.mlir
mlir/test/Dialect/Linalg/vectorize-convolution-flatten.mlir
mlir/test/Dialect/Linalg/vectorize-convolution.mlir
mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir Proposed improvements:
Re 3., this split is already followed in "vectorization.mlir" and "vectorization-with-patterns.mlir", respectively. Specific steps:
Additional clean-up
Structure after the changes mlir/test/Dialect/Linalg/vectorization/
├── conv.mlir
├── conv-flatten.mlir
├── conv-with-patterns.mlir
├── extract.mlir
├── extract-with-patterns.mlir
├── insert-slice.mlir
├── insert-slice-with-patterns.mlir
├── linalg-ops.mlir
├── linalg-ops-with-patterns.mlir
├── pad.mlir
├── pad-with-patterns.mlir
├── unsupported.mlir In addition to consistent naming, this structure provides a clear separation between tests using:
Next steps I’ll be uploading patches implementing these changes incrementally, and I’ll use this ticket as a reference for the overall direction. If you have any high-level comments, suggestions, or objections, please raise them here. For smaller details, let’s handle them through the individual PRs. Thanks! PRs: |
The current Linalg vectorization tests are split somewhat arbitrarily across multiple files:
ls -1 mlir/test/Dialect/Linalg/vectoriz* mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir mlir/test/Dialect/Linalg/vectorization-scalable.mlir mlir/test/Dialect/Linalg/vectorization-unsupported.mlir mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir mlir/test/Dialect/Linalg/vectorization.mlir mlir/test/Dialect/Linalg/vectorize-conv-masked-and-scalable.mlir mlir/test/Dialect/Linalg/vectorize-convolution-flatten.mlir mlir/test/Dialect/Linalg/vectorize-convolution.mlir mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
Proposed improvements:
vectorize
vs.vectorization
.vectorize
/vectorization
).transform.structured.vectorize
(with masking).transform.structured.vectorize_children_and_apply_patterns
(no masking).Re 3., this split is already followed in "vectorization.mlir" and "vectorization-with-patterns.mlir", respectively.
Specific steps:
Additional clean-up
transform.apply_patterns.linalg.pad_vectorization
.Structure after the changes
Without committing to all the fine details just yet, here is a possible end structure for the tests:
In addition to consistent naming, this structure provides a clear separation between tests using:
transform.structured.vectorize
- finer-grained tests, typically involving masking.transform.structured.vectorize_children_and_apply_patterns
- broader pattern-based transformations, typically without masking.Next steps
I’ll be uploading patches implementing these changes incrementally, and I’ll use this ticket as a reference for the overall direction. If you have any high-level comments, suggestions, or objections, please raise them here. For smaller details, let’s handle them through the individual PRs.
Thanks!
PRs:
The text was updated successfully, but these errors were encountered: