[SYSTEMDS-3961] Add Sparsity-based Recompiler Class to Recompilation Routine - #2596
Open
ywcb00 wants to merge 6 commits into
Open
[SYSTEMDS-3961] Add Sparsity-based Recompiler Class to Recompilation Routine#2596ywcb00 wants to merge 6 commits into
ywcb00 wants to merge 6 commits into
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #2596 +/- ##
============================================
- Coverage 71.39% 71.30% -0.10%
+ Complexity 50539 50519 -20
============================================
Files 1632 1633 +1
Lines 196237 196412 +175
Branches 38201 38240 +39
============================================
- Hits 140113 140061 -52
- Misses 45099 45317 +218
- Partials 11025 11034 +9 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Contributor
|
Maybe change the description of the PR, and name, to highlight it is for Rewriting MMChains to start with? |
…r sparsity-based recompilation NOTE: not implemented yet feat(main/conf/DMLConfig.java): add xml configuration option for enabling sparsity recompilation refactor(main/conf/DMLConfig.java): rename xml configuration options for sparsity rewrites feat(main/hops/recompile/Recompiler.java): add recompile block for sparsity-based recompilation feat(main/hops/rewrite/RewriteMatrixMultChainOptimizationSparse.java): add comment and log output to indicate the case which requires pre-fetching from the sparsity recompiler
…ity-based rewriter copy the dynamic programming approach from the sparsity rewriter feat(main/hops/rewrite/RewriteMatrixMultChainOptimizationSparse.java): set dynamic recompilation flag if dimensions of hop are known but the sparsity is not NOTE: in these cases, the sparsity can be obtained during sparsity-based recompilation by pre-fetching data from disk or eagerly computing partial results
…variable for the execution context which will be needed once we perform partial computations chore(main/hops/recompile/Recompiler.java): pass the execution context to the sparsity-based recompiler
…rmation with the dimensions of hops inside a matrix multiplication chain create logger with the class name indicate that function is copied from a different class in the funcation header chore(main/hops/rewrite/RewriteMatrixMultChainOptimizationSparse.java): remove unused import
ywcb00
force-pushed
the
feat/recompile/sparsityrewrite
branch
from
August 27, 2026 07:30
5e69f91 to
aec19ba
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces the sparsity-based recompiler which replicates the sparsity-based rewrites at the moment. It is planned to extend this recompiler to retrieve additional data properties and to restructure of the entire computation graph.
The new sparsity-based recompiler is integrated in the recompilation procedure with a configuration to enable/disable it (disabled by default).
NOTE: Currently, the sparsity-based recompiler performs identical rewrites as
RewriteMatrixMultChainOptimizationSparse.java. It will be extended in the future.All the best,
David