willow-ahrens / Finch.jl

Sparse tensors in Julia and more! Datastructure-driven array programing language.
http://willowahrens.io/Finch.jl/
MIT License
158 stars 15 forks source link

Wma/better fusion #456

Closed willow-ahrens closed 5 months ago

codecov[bot] commented 6 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 76.39%. Comparing base (6260329) to head (c23513e).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #456 +/- ## ========================================== + Coverage 76.31% 76.39% +0.07% ========================================== Files 92 92 Lines 8866 8882 +16 ========================================== + Hits 6766 6785 +19 + Misses 2100 2097 -3 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

kylebd99 commented 5 months ago

I would support merging this branch. Currently, an expression like compute(sum(.*(A[:,:,nothing], B[:, nothing,:], C[nothing,:,:]))) will first materialize the internal multiplication before computing the aggregate which wreaks havoc on performance.

If we're worried about the aggressiveness, I could see about writing a version which only pulls up mapjoins "one level".

willow-ahrens commented 5 months ago

no, let's just go for it, full fusion, full steam ahead! *we'll fix stuff later