Depends On D104850
Add a test that verifies that canonicalization removes all async overheads if it is statically known that the scf.parallel operation will be computed using a single block.
| Paths 
 |  Differential  D104891  
[mlir:Async] Remove async operations if it is statically known that the parallel operation has a single compute block ClosedPublic Authored by ezhulenev on Jun 24 2021, 5:48 PM. 
Details Summary Depends On D104850 Add a test that verifies that canonicalization removes all async overheads if it is statically known that the scf.parallel operation will be computed using a single block. 
Diff Detail 
 Event TimelineHerald added subscribers: dcaballe, cota, teijeong and 16 others.  ·  View Herald TranscriptJun 24 2021, 5:48 PM ezhulenev added a child revision: D104998: [mlir:Async] Convert AsyncParallelFor pass to ModuleOp pass.Jun 27 2021, 2:26 PM bondhugula added inline comments. 
 ezhulenev marked an inline comment as done.Comment Actions Remove irrelevant files 
 
 
 herhut added inline comments. 
 This revision is now accepted and ready to land.Jun 29 2021, 8:43 AM Closed by commit rGa8f819c6d85e: [mlir:Async] Remove async operations if it is statically known that the… (authored by ezhulenev).  ·  Explain WhyJun 29 2021, 9:26 AM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
Diff 355270 mlir/include/mlir/Dialect/Async/IR/Async.h
 mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
 mlir/lib/Dialect/Async/IR/Async.cpp
 mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
 mlir/test/Dialect/Async/async-parallel-for-async-dispatch.mlir
 mlir/test/Dialect/Async/async-parallel-for-canonicalize.mlir
 
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This can be in the op's folding hook as opposed to a canonicalization pattern.