Skip to content

Comments

Add experimental e-graph equality saturation framework for KQIR optimizer#2831

Closed
AryanVBW wants to merge 1 commit intoapache:unstablefrom
AryanVBW:add-egraph
Closed

Add experimental e-graph equality saturation framework for KQIR optimizer#2831
AryanVBW wants to merge 1 commit intoapache:unstablefrom
AryanVBW:add-egraph

Conversation

@AryanVBW
Copy link

@AryanVBW AryanVBW commented Mar 16, 2025

Fixes #2561

Add an experimental e-graph equality saturation framework for the KQIR optimizer to generate better query plans.

  • New Pass Implementation

    • Add EGraphEqualitySaturation class in src/search/passes/egraph_equality_saturation.h and src/search/passes/egraph_equality_saturation.cc.
    • Implement the Transform method to perform equality saturation on the e-graph.
  • Integration with Existing Code

    • Update src/search/ir_pass.h to include the new pass.
    • Update src/search/passes/manager.h to include the new pass in the optimization sequence.
  • Testing

    • Add unit tests for the EGraphEqualitySaturation pass in tests/cppunit/egraph_equality_saturation_test.cc.
    • Test various scenarios to ensure the correctness of the equality saturation framework.

…izer

Fixes apache#2561

Add an experimental e-graph equality saturation framework for the KQIR optimizer to generate better query plans.

* **New Pass Implementation**
  - Add `EGraphEqualitySaturation` class in `src/search/passes/egraph_equality_saturation.h` and `src/search/passes/egraph_equality_saturation.cc`.
  - Implement the `Transform` method to perform equality saturation on the e-graph.

* **Integration with Existing Code**
  - Update `src/search/ir_pass.h` to include the new pass.
  - Update `src/search/passes/manager.h` to include the new pass in the optimization sequence.

* **Testing**
  - Add unit tests for the `EGraphEqualitySaturation` pass in `tests/cppunit/egraph_equality_saturation_test.cc`.
  - Test various scenarios to ensure the correctness of the equality saturation framework.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/apache/kvrocks/issues/2561?shareId=XXXX-XXXX-XXXX-XXXX).
@AryanVBW AryanVBW closed this Mar 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add an experimental e-graph equality saturation framework for KQIR optimizer

1 participant