[MLIR] Min cut on a multi-result op
- Dominant language
- LLVM
- Stars
- 1.7k
- Forks
- 188
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 26
Description
"""
This pass splits scf.if ops that produce multiple results into separate ops that each produce one result. Currently, mincut assumes that the results of region cf ops like scf.if must be cached, which produces suboptimal results for a number of GPU benchmarks. This pass makes it easier to get mincut to re-compute the results of these ops, though the longer term solution would be to get mincut to properly support partially re-computing region ops.
"""
x/ref https://github.com/EnzymeAD/Enzyme/pull/2975#issue-4953250479
cc @Pangoraw @pengmai @ftynse
Contributor guide
Research direction
The issue names no file or test; start by reading the MLIR mincut pass and the scf.if handling described here. Validate the behavior against the GPU benchmarks that currently show suboptimal results. Done means multi-result scf.if operations are split into single-result operations so mincut can recompute results instead of assuming all are cached.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100