Skip to content

CompatHelper: bump compat for AlgebraicMultigrid in [weakdeps] to 2, (keep existing compat) - #749

Open
github-actions[bot] wants to merge 1 commit into
masterfrom
compathelper/new_version/2026-09-05-00-39-10-679-02279143944
Open

CompatHelper: bump compat for AlgebraicMultigrid in [weakdeps] to 2, (keep existing compat)#749
github-actions[bot] wants to merge 1 commit into
masterfrom
compathelper/new_version/2026-09-05-00-39-10-679-02279143944

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

This pull request changes the compat entry for the AlgebraicMultigrid package from 1 to 1, 2.
This keeps the compat entries for earlier versions.

Note: I have not tested your package with this new compat entry.
It is your responsibility to make sure that your package tests pass before you merge this pull request.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor Author

Dagger benchmarks: dirty vs master

Median time

master dirty master / dirty
array/dagger/N=1024 (block 512)/add (X + X) 4.36 ± 0.94 ms 3.77 ± 0.64 ms 1.16 ± 0.32
array/dagger/N=1024 (block 512)/alloc (rand) 2.44 ± 1.3 ms 2.47 ± 0.27 ms 0.988 ± 0.54
array/dagger/N=1024 (block 512)/broadcast (X .+ 1) 3.14 ± 0.84 ms 2.07 ± 0.97 ms 1.52 ± 0.82
array/dagger/N=1024 (block 512)/map (sin.(X)) 5.5 ± 0.54 ms 6.43 ± 1.4 ms 0.855 ± 0.2
array/dagger/N=1024 (block 512)/norm 1.21 ± 0.03 ms 1.17 ± 0.65 ms 1.04 ± 0.58
array/dagger/N=1024 (block 512)/reduce (sum) 4.65 ± 4.3 ms 4.17 ± 2.2 ms 1.12 ± 1.2
array/dagger/N=1024 (block 512)/transpose (permutedims) 4.04 ± 0.39 ms 4.26 ± 0.92 ms 0.946 ± 0.22
array/dagger/N=256 (block 256)/add (X + X) 1.78 ± 0.29 ms 1.17 ± 0.19 ms 1.52 ± 0.35
array/dagger/N=256 (block 256)/alloc (rand) 0.707 ± 0.049 ms 0.657 ± 0.0052 ms 1.08 ± 0.075
array/dagger/N=256 (block 256)/broadcast (X .+ 1) 0.647 ± 0.63 ms 0.547 ± 0.16 ms 1.18 ± 1.2
array/dagger/N=256 (block 256)/map (sin.(X)) 1.4 ± 0.8 ms 0.941 ± 0.13 ms 1.49 ± 0.88
array/dagger/N=256 (block 256)/norm 0.429 ± 0.088 ms 0.501 ± 0.099 ms 0.856 ± 0.24
array/dagger/N=256 (block 256)/reduce (sum) 0.582 ± 0.038 ms 0.593 ± 0.014 ms 0.982 ± 0.068
array/dagger/N=256 (block 256)/transpose (permutedims) 0.704 ± 0.044 ms 0.711 ± 0.012 ms 0.991 ± 0.064
linalg/dagger/N=1024 (block 512)/cholesky 24 ± 3 ms 22.5 ± 3.2 ms 1.06 ± 0.2
linalg/dagger/N=1024 (block 512)/lu 0.0437 ± 0.0037 s 0.0391 ± 0.0019 s 1.12 ± 0.11
linalg/dagger/N=1024 (block 512)/matmul (A*A) 0.0506 ± 0.019 s 0.0444 ± 0.0065 s 1.14 ± 0.45
linalg/dagger/N=1024 (block 512)/matvec (A*x) 3.12 ± 1.7 ms 4.4 ± 2 ms 0.709 ± 0.5
linalg/dagger/N=1024 (block 512)/qr 0.112 ± 0.0052 s 0.114 ± 0.0056 s 0.982 ± 0.066
linalg/dagger/N=1024 (block 512)/solve (A\b via lu) 0.0561 ± 0.00075 s 0.0548 ± 0.0062 s 1.02 ± 0.12
linalg/dagger/N=1024 (block 512)/svd 0.0358 h 0.0367 h 0.976
linalg/dagger/N=1024 (block 512)/syrk (A'*A) 0.0352 ± 0.0048 s 0.0402 ± 0.0049 s 0.875 ± 0.16
linalg/dagger/N=256 (block 256)/cholesky 2.83 ± 0.98 ms 4.61 ± 3.9 ms 0.615 ± 0.57
linalg/dagger/N=256 (block 256)/lu 4.63 ± 3.2 ms 5.28 ± 1.4 ms 0.878 ± 0.64
linalg/dagger/N=256 (block 256)/matmul (A*A) 2.45 ± 2.1 ms 2.63 ± 0.74 ms 0.93 ± 0.85
linalg/dagger/N=256 (block 256)/matvec (A*x) 0.924 ± 0.073 ms 1.55 ± 0.56 ms 0.597 ± 0.22
linalg/dagger/N=256 (block 256)/qr 4.94 ± 0.57 ms 4.64 ± 1.7 ms 1.06 ± 0.42
linalg/dagger/N=256 (block 256)/solve (A\b via lu) 7.92 ± 3.7 ms 17.4 ± 8.4 ms 0.456 ± 0.31
linalg/dagger/N=256 (block 256)/svd 0.505 ± 0.034 s 0.588 ± 0.0024 s 0.859 ± 0.058
linalg/dagger/N=256 (block 256)/syrk (A'*A) 4.4 ± 1.2 ms 5.74 ± 1.9 ms 0.767 ± 0.33
sparse/dagger/N=1024 (block 64)/cg solve (laplacian) 0.856 ± 0.035 s 0.898 ± 0.019 s 0.953 ± 0.044
sparse/dagger/N=1024 (block 64)/spgemm (S*S) 0.474 ± 0.013 s 0.48 ± 0.0099 s 0.986 ± 0.034
sparse/dagger/N=1024 (block 64)/spmv (S*x) 0.0497 ± 0.013 s 0.0526 ± 0.023 s 0.945 ± 0.48
sparse/dagger/N=256 (block 16)/cg solve (laplacian) 0.921 ± 0.011 s 0.944 ± 0.011 s 0.976 ± 0.016
sparse/dagger/N=256 (block 16)/spgemm (S*S) 0.439 ± 0.019 s 0.478 ± 0.0089 s 0.917 ± 0.043
sparse/dagger/N=256 (block 16)/spmv (S*x) 0.0603 ± 0.016 s 0.0765 ± 0.013 s 0.789 ± 0.24
stencil/dagger/N=1024 (block 512)/alloc (neighbors Wrap) 7.81 ± 1.3 ms 6.71 ± 0.75 ms 1.16 ± 0.24
stencil/dagger/N=1024 (block 512)/assign (const) 0.998 ± 1.1 ms 1.18 ± 0.48 ms 0.847 ± 0.96
stencil/dagger/N=1024 (block 512)/multi-expr 3.08 ± 2.6 ms 5.02 ± 0.34 ms 0.613 ± 0.52
stencil/dagger/N=1024 (block 512)/neighbors (Clamp) 5.99 ± 0.25 ms 5.29 ± 1 ms 1.13 ± 0.22
stencil/dagger/N=1024 (block 512)/neighbors (Pad) 5.31 ± 0.34 ms 5.86 ± 0.65 ms 0.905 ± 0.12
stencil/dagger/N=1024 (block 512)/neighbors (Reflect) 5.69 ± 0.22 ms 6.01 ± 0.27 ms 0.947 ± 0.055
stencil/dagger/N=1024 (block 512)/neighbors (Wrap) 7.78 ± 2.3 ms 7.37 ± 0.7 ms 1.06 ± 0.32
stencil/dagger/N=1024 (block 512)/update (+) 1.54 ± 1.8 ms 1.52 ± 0.041 ms 1.02 ± 1.2
stencil/dagger/N=256 (block 256)/alloc (neighbors Wrap) 1.85 ± 0.42 ms 1.83 ± 0.024 ms 1.01 ± 0.23
stencil/dagger/N=256 (block 256)/assign (const) 0.53 ± 0.026 ms 0.508 ± 0.029 ms 1.04 ± 0.079
stencil/dagger/N=256 (block 256)/multi-expr 1.2 ± 0.37 ms 0.963 ± 0.27 ms 1.25 ± 0.52
stencil/dagger/N=256 (block 256)/neighbors (Clamp) 1.33 ± 0.015 ms 1.41 ± 0.2 ms 0.948 ± 0.13
stencil/dagger/N=256 (block 256)/neighbors (Pad) 1.63 ± 0.36 ms 1.28 ± 0.17 ms 1.27 ± 0.32
stencil/dagger/N=256 (block 256)/neighbors (Reflect) 1.41 ± 0.088 ms 2.23 ± 0.71 ms 0.634 ± 0.21
stencil/dagger/N=256 (block 256)/neighbors (Wrap) 1.26 ± 0.098 ms 1.33 ± 0.23 ms 0.945 ± 0.18
stencil/dagger/N=256 (block 256)/update (+) 0.882 ± 0.25 ms 0.875 ± 0.24 ms 1.01 ± 0.4
time_to_load 1.09 ± 0.014 s 1.08 ± 0.0032 s 1 ± 0.013

Allocations / memory

master dirty master / dirty
array/dagger/N=1024 (block 512)/add (X + X) 5.59 k allocs: 8.22 MB 5.57 k allocs: 8.22 MB 1
array/dagger/N=1024 (block 512)/alloc (rand) 2.73 k allocs: 8.09 MB 2.76 k allocs: 8.09 MB 1
array/dagger/N=1024 (block 512)/broadcast (X .+ 1) 2.43 k allocs: 8.08 MB 2.39 k allocs: 8.08 MB 1
array/dagger/N=1024 (block 512)/map (sin.(X)) 2.1 k allocs: 8.07 MB 2.1 k allocs: 8.07 MB 1
array/dagger/N=1024 (block 512)/norm 2.69 k allocs: 0.0896 MB 2.69 k allocs: 0.0896 MB 1
array/dagger/N=1024 (block 512)/reduce (sum) 4.11 k allocs: 0.141 MB 4.54 k allocs: 0.157 MB 0.901
array/dagger/N=1024 (block 512)/transpose (permutedims) 3.33 k allocs: 8.14 MB 3.33 k allocs: 8.14 MB 1
array/dagger/N=256 (block 256)/add (X + X) 1.71 k allocs: 0.574 MB 1.72 k allocs: 0.574 MB 1
array/dagger/N=256 (block 256)/alloc (rand) 0.754 k allocs: 0.526 MB 0.754 k allocs: 0.526 MB 1
array/dagger/N=256 (block 256)/broadcast (X .+ 1) 0.64 k allocs: 0.522 MB 0.651 k allocs: 0.522 MB 0.999
array/dagger/N=256 (block 256)/map (sin.(X)) 0.574 k allocs: 0.52 MB 0.574 k allocs: 0.52 MB 1
array/dagger/N=256 (block 256)/norm 0.704 k allocs: 24.2 kB 0.704 k allocs: 24.2 kB 1
array/dagger/N=256 (block 256)/reduce (sum) 0.816 k allocs: 30.5 kB 0.817 k allocs: 30.5 kB 0.998
array/dagger/N=256 (block 256)/transpose (permutedims) 1.09 k allocs: 0.551 MB 1.09 k allocs: 0.551 MB 1
linalg/dagger/N=1024 (block 512)/cholesky 7.78 k allocs: 10.3 MB 7.84 k allocs: 10.3 MB 1
linalg/dagger/N=1024 (block 512)/lu 15.7 k allocs: 14.6 MB 15.6 k allocs: 14.6 MB 1
linalg/dagger/N=1024 (block 512)/matmul (A*A) 7.77 k allocs: 8.29 MB 7.69 k allocs: 8.28 MB 1
linalg/dagger/N=1024 (block 512)/matvec (A*x) 6.22 k allocs: 0.248 MB 6.11 k allocs: 0.244 MB 1.02
linalg/dagger/N=1024 (block 512)/qr 11.4 k allocs: 9.59 MB 11.9 k allocs: 9.61 MB 0.998
linalg/dagger/N=1024 (block 512)/solve (A\b via lu) 29.6 k allocs: 15.2 MB 29.8 k allocs: 15.2 MB 1
linalg/dagger/N=1024 (block 512)/svd 0.0499 M allocs: 0.197 GB 0.0504 M allocs: 0.198 GB 1
linalg/dagger/N=1024 (block 512)/syrk (A'*A) 9.13 k allocs: 20.4 MB 9.14 k allocs: 20.4 MB 1
linalg/dagger/N=256 (block 256)/cholesky 3.07 k allocs: 0.635 MB 3.03 k allocs: 0.634 MB 1
linalg/dagger/N=256 (block 256)/lu 5.4 k allocs: 1.24 MB 5.41 k allocs: 1.24 MB 1
linalg/dagger/N=256 (block 256)/matmul (A*A) 1.93 k allocs: 0.582 MB 1.93 k allocs: 0.582 MB 1
linalg/dagger/N=256 (block 256)/matvec (A*x) 2.44 k allocs: 0.104 MB 2.35 k allocs: 0.0991 MB 1.05
linalg/dagger/N=256 (block 256)/qr 3.44 k allocs: 0.779 MB 3.45 k allocs: 0.779 MB 1
linalg/dagger/N=256 (block 256)/solve (A\b via lu) 12 k allocs: 1.53 MB 11.9 k allocs: 1.53 MB 1
linalg/dagger/N=256 (block 256)/svd 15.5 k allocs: 6.71 MB 15.5 k allocs: 6.71 MB 1
linalg/dagger/N=256 (block 256)/syrk (A'*A) 3.06 k allocs: 2.14 MB 3.07 k allocs: 2.14 MB 1
sparse/dagger/N=1024 (block 64)/cg solve (laplacian) 2.98 M allocs: 0.11 GB 2.91 M allocs: 0.108 GB 1.02
sparse/dagger/N=1024 (block 64)/spgemm (S*S) 2.99 M allocs: 0.144 GB 3.14 M allocs: 0.15 GB 0.963
sparse/dagger/N=1024 (block 64)/spmv (S*x) 0.193 M allocs: 7.33 MB 0.174 M allocs: 6.65 MB 1.1
sparse/dagger/N=256 (block 16)/cg solve (laplacian) 3.11 M allocs: 0.115 GB 2.99 M allocs: 0.111 GB 1.04
sparse/dagger/N=256 (block 16)/spgemm (S*S) 2.94 M allocs: 0.107 GB 3.29 M allocs: 0.118 GB 0.91
sparse/dagger/N=256 (block 16)/spmv (S*x) 0.197 M allocs: 7.46 MB 0.21 M allocs: 7.88 MB 0.947
stencil/dagger/N=1024 (block 512)/alloc (neighbors Wrap) 4.82 k allocs: 8.2 MB 4.81 k allocs: 8.2 MB 1
stencil/dagger/N=1024 (block 512)/assign (const) 2.15 k allocs: 0.0942 MB 2.17 k allocs: 0.0947 MB 0.995
stencil/dagger/N=1024 (block 512)/multi-expr 4.77 k allocs: 0.21 MB 4.83 k allocs: 0.212 MB 0.99
stencil/dagger/N=1024 (block 512)/neighbors (Clamp) 3.83 k allocs: 0.233 MB 3.83 k allocs: 0.232 MB 1
stencil/dagger/N=1024 (block 512)/neighbors (Pad) 3.71 k allocs: 0.229 MB 3.7 k allocs: 0.229 MB 1
stencil/dagger/N=1024 (block 512)/neighbors (Reflect) 3.81 k allocs: 0.264 MB 3.79 k allocs: 0.263 MB 1
stencil/dagger/N=1024 (block 512)/neighbors (Wrap) 3.64 k allocs: 0.167 MB 3.63 k allocs: 0.166 MB 1
stencil/dagger/N=1024 (block 512)/update (+) 2.64 k allocs: 0.117 MB 2.6 k allocs: 0.115 MB 1.02
stencil/dagger/N=256 (block 256)/alloc (neighbors Wrap) 1.56 k allocs: 0.575 MB 1.56 k allocs: 0.575 MB 1
stencil/dagger/N=256 (block 256)/assign (const) 0.806 k allocs: 0.041 MB 0.778 k allocs: 0.0399 MB 1.03
stencil/dagger/N=256 (block 256)/multi-expr 1.75 k allocs: 0.0882 MB 1.73 k allocs: 0.0874 MB 1.01
stencil/dagger/N=256 (block 256)/neighbors (Clamp) 1.33 k allocs: 0.574 MB 1.26 k allocs: 0.0718 MB 7.99
stencil/dagger/N=256 (block 256)/neighbors (Pad) 1.21 k allocs: 0.0703 MB 1.21 k allocs: 0.0704 MB 0.999
stencil/dagger/N=256 (block 256)/neighbors (Reflect) 1.26 k allocs: 0.0792 MB 1.26 k allocs: 0.0792 MB 1
stencil/dagger/N=256 (block 256)/neighbors (Wrap) 1.2 k allocs: 0.0629 MB 1.2 k allocs: 0.0625 MB 1.01
stencil/dagger/N=256 (block 256)/update (+) 0.924 k allocs: 0.0463 MB 0.924 k allocs: 0.0463 MB 1
time_to_load 0.147 k allocs: 10.8 kB 0.147 k allocs: 10.8 kB 1

Plots

⚠️ Regressions (time > 25.0% and outside the reported ±spread; allocs/memory > 25.0%)

  • stencil/dagger/N=256 (block 256)/neighbors (Reflect) (time): +57.7%

Improvements

  • stencil/dagger/N=256 (block 256)/neighbors (Clamp) (memory): -87.5%
  • array/dagger/N=256 (block 256)/add (X + X) (time): -34.3%
Within noise (9 metric(s) past threshold but inside the ±spread; not counted)
  • linalg/dagger/N=256 (block 256)/solve (A\b via lu) (time): 119.3%
  • linalg/dagger/N=256 (block 256)/matvec (A*x) (time): 67.5%
  • stencil/dagger/N=1024 (block 512)/multi-expr (time): 63.1%
  • linalg/dagger/N=256 (block 256)/cholesky (time): 62.6%
  • linalg/dagger/N=1024 (block 512)/matvec (A*x) (time): 41.1%
  • linalg/dagger/N=256 (block 256)/syrk (A'*A) (time): 30.4%
  • sparse/dagger/N=256 (block 16)/spmv (S*x) (time): 26.7%
  • array/dagger/N=256 (block 256)/map (sin.(X)) (time): -32.9%
  • array/dagger/N=1024 (block 512)/broadcast (X .+ 1) (time): -34.1%

Full results and plots (download the benchmark-results artifact).

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.

0 participants