IntegralEquations / HMatrices.jl

A Julia library for hierarchical matrices
MIT License
41 stars 3 forks source link

Static partition for matrix/vector product #31

Closed maltezfaria closed 1 year ago

maltezfaria commented 1 year ago

Switch to a static partition when multiplying an HMatrix by a vector. This reduces the number of Tasks created, and thus the memory allocated. The difficulty is that the static partition may not be very good at load balancing. To alleviate this issue, the static partitioner uses a cost estimate of the tasks, and attempts to split the leaves in a way that is both local, and approximately balanced as per a certain cost function.

The implementation of various partitions is in the partitions.jl file.

codecov[bot] commented 1 year ago

Codecov Report

Merging #31 (ada1a56) into main (2619f7c) will increase coverage by 0.42%. The diff coverage is 60.00%.

@@            Coverage Diff             @@
##             main      #31      +/-   ##
==========================================
+ Coverage   71.60%   72.02%   +0.42%     
==========================================
  Files          15       15              
  Lines        1729     1723       -6     
==========================================
+ Hits         1238     1241       +3     
+ Misses        491      482       -9     
Files Coverage Δ
src/multiplication.jl 75.73% <60.00%> (+1.98%) :arrow_up: