This is an archive of the discontinued LLVM Phabricator instance.

[mlir] Add `linalg.tiled_loop` op.
ClosedPublic

Authored by pifon2a on Feb 18 2021, 12:42 AM.

Details

Summary

subtensor_insert was used instead of linalg.subtensor_yield to make this PR
smaller. Verification will be added in a follow-up PR.

Diff Detail

Event Timeline

pifon2a created this revision.Feb 18 2021, 12:42 AM
pifon2a requested review of this revision.Feb 18 2021, 12:42 AM
nicolasvasilache accepted this revision.Feb 18 2021, 4:21 AM
This revision is now accepted and ready to land.Feb 18 2021, 4:21 AM
This revision was automatically updated to reflect the committed changes.
mehdi_amini added inline comments.Feb 18 2021, 10:23 AM
mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
512

I think this is over-indented

528

If I understand correctly, this tiled_loop isn't necessarily parallel here?
There is no guarantee that each iteration only produces non-overlapping tiles for example, or that the next iteration won't read the tile produced at the previous iteration.

pifon2a added inline comments.Feb 19 2021, 4:04 AM
mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
512
528

Yes, you are correct, it does not have to be parallel.