Refinement E-Graphs

25 points by philzook


interlandi

I've been looking for a data structure that solves some of the problems I have with polyhedral compilation. This may be it.

I have previously been considering the problem purely geometrically: "this polytope (a loop nest) is literally larger in every way than this other polytope." Using a refinement e-graph, this becomes "this polytope implies this polytope." This means that I can consider the combinatorially massive "set of all loop nests that imply or are strictly equivalent to this loop nest." Transformations like tiling can emerge from hardware-conscious heuristics (even if practically speaking they shouldn't) as equivalent expressions, and projection can become extraction rather than Fourier-Motzkin, which may be a better problem to solve.

tekknolagi

So Phil is this how we get to unifying the SSI/union-find stuff?