[mlir][dataflow] IntRange: Bump int-range-analysis widening budget. - #197159
[mlir][dataflow] IntRange: Bump int-range-analysis widening budget.#197159Hardcode84 wants to merge 1 commit into
Conversation
|
@llvm/pr-subscribers-mlir Author: Ivan Butygin (Hardcode84) ChangesDownstream testing (Triton) found budget is too low on realistic workloads. I'm going to switch to pass option probably, but for now, just bump the budget. Full diff: https://github.com/llvm/llvm-project/pull/197159.diff 1 Files Affected:
diff --git a/mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp b/mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
index 613772c2b7404..fd3225ed16c0b 100644
--- a/mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
+++ b/mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
@@ -68,7 +68,7 @@ LogicalResult staticallyNonNegative(DataFlowSolver &solver, Operation *op) {
/// ratchet pathology this widening exists to cut off (loop-carried ranges
/// growing by one per worklist visit) terminates after at most this many
/// extra solver iterations rather than ~2^31.
-static constexpr unsigned kIntegerRangeWideningBudget = 128;
+static constexpr unsigned kIntegerRangeWideningBudget = 1024;
ChangeResult IntegerValueRangeLattice::join(const AbstractSparseLattice &rhs) {
ChangeResult changed = Lattice::join(rhs);
|
boomanaiden154
left a comment
There was a problem hiding this comment.
We were able to resolve the triton regressions by changing the line in https://github.com/triton-lang/triton/blob/36394d4c65a44eec9371012e2d3133107971eae3/third_party/amd/lib/Analysis/RangeAnalysis.cpp#L775
to changed = argLat->join(operLat.getValue());.
Cool, thanks. I will keep this PR open and probably switch to pass option later anyway. |
Downstream testing (Triton) found budget is too low on realistic workloads. I'm going to switch to pass option probably, but for now, just bump the budget to unblock things.
See #196616 (comment)