Skip to content

solver: explicitly track targets unsupported by compilers#51160

Merged
haampie merged 2 commits intospack:developfrom
alalazo:solver/unsupported-targets
Aug 17, 2025
Merged

solver: explicitly track targets unsupported by compilers#51160
haampie merged 2 commits intospack:developfrom
alalazo:solver/unsupported-targets

Conversation

@alalazo
Copy link
Copy Markdown
Member

@alalazo alalazo commented Aug 14, 2025

Tracks unsupported targets explicitly to avoid clingo having to figure out a negative statement.

Tracks unsupported targets explicitly to avoid clingo
having to figure out a negative statement.

Signed-off-by: Massimiliano Culpo <[email protected]>
@alalazo
Copy link
Copy Markdown
Member Author

alalazo commented Aug 14, 2025

Here's the benchmark against:

radiuss.develop.csv
radiuss.pr.csv

radiuss

Besides 2 well known unstable specs, that got a bit more solve time (but less ground time to compensate), everything else seem to improve.

@alalazo alalazo marked this pull request as ready for review August 14, 2025 20:59
@alalazo alalazo requested review from becker33 and tgamblin August 14, 2025 20:59
@alalazo
Copy link
Copy Markdown
Member Author

alalazo commented Aug 14, 2025

Here are the differences for grounding, solving and total time. They are computed as:

(PR - develop) / develop * 100

The setup I had was with 6 compilers registered and an empty DB. It seems that grounding shaved between 20% and 30% for most specs. Solving improved for most specs, but there are a few that got worse.

pkg ('ground', 'PR') ('ground', 'develop') ('solve', 'PR') ('solve', 'develop') ('total', 'PR') ('total', 'develop') ('ground', 'percentage diff') ('solve', 'percentage diff') ('total', 'percentage diff')
aluminum 5.48247 7.53604 8.1743 11.1163 22.565 27.2325 -27.25 -26.47 -17.14
ascent 17.4647 21.3749 16.9718 23.4823 61.8693 72.0974 -18.29 -27.73 -14.19
axom 17.0839 20.4308 21.522 19.8619 64.702 66.0801 -16.38 8.36 -2.09
blt 5.29647 7.45753 6.96189 9.66468 20.3589 24.9924 -28.98 -27.97 -18.54
cairo 5.14301 7.16521 10.5397 10.1307 23.1881 24.5463 -28.22 4.04 -5.53
caliper 6.00446 8.57166 11.9245 13.4432 27.6178 31.5277 -29.95 -11.3 -12.4
care 5.74368 7.91736 7.28612 10.8029 23.0173 28.4497 -27.45 -32.55 -19.09
chai 5.57498 7.6968 8.93298 14.3391 23.9802 31.2706 -27.57 -37.7 -23.31
conduit 6.40898 8.89102 11.8424 13.7312 28.5055 32.6317 -27.92 -13.76 -12.64
dihydrogen 7.72576 9.90521 10.8454 15.2159 30.1411 36.5052 -22 -28.72 -17.43
flux-core 5.34614 7.39195 15.1956 14.5415 28.8323 29.9957 -27.68 4.5 -3.88
flux-sched 5.47289 7.46882 8.36615 10.8214 22.2764 26.4439 -26.72 -22.69 -15.76
flux-security 5.12366 7.31422 7.65492 14.2831 20.2603 28.8785 -29.95 -46.41 -29.84
glvis 16.9074 20.6284 22.683 29.9162 65.6831 76.4113 -18.04 -24.18 -14.04
hiptt 5.16723 7.18003 4.65335 7.10761 17.9196 22.1775 -28.03 -34.53 -19.2
hydrogen 5.36219 7.67241 9.63901 12.2886 24.1301 28.9539 -30.11 -21.56 -16.66
hypre 6.95522 9.69637 16.2919 15.2585 35.7901 37.143 -28.27 6.77 -3.64
lbann 14.5344 19.8784 17.3129 26.0823 56.4641 70.4849 -26.88 -33.62 -19.89
lvarray 8.67131 11.5781 9.26128 21.3799 31.0035 45.7963 -25.11 -56.68 -32.3
mfem 16.8703 20.5114 16.6798 19.1076 59.664 65.4148 -17.75 -12.71 -8.79
py-cinemasci 8.6604 11.7483 36.8286 29.9687 57.9827 54.0399 -26.28 22.89 7.3
py-deephyper 10.0394 13.2806 15.7654 22.1698 42.4059 51.8519 -24.41 -28.89 -18.22
py-hatchet 6.72347 9.69988 14.424 15.3709 31.6385 35.4227 -30.69 -6.16 -10.68
py-maestrowf 5.21638 7.34754 10.0776 13.0622 22.9893 27.7806 -29.01 -22.85 -17.25
py-merlin 5.64613 7.68763 11.8502 13.1015 26.151 29.1793 -26.56 -9.55 -10.38
py-shroud 5.16369 7.12847 10.3554 10.9474 22.9672 25.2608 -27.56 -5.41 -9.08
raja 5.37198 7.38568 7.70037 9.95909 21.7715 25.7154 -27.26 -22.68 -15.34
samrai 5.13512 7.4743 11.9981 18.0417 25.2276 33.4316 -31.3 -33.5 -24.54
scr 5.59622 7.80041 18.8781 12.4126 33.216 28.7619 -28.26 52.09 15.49
sundials 12.5779 15.9071 14.8596 22.9587 48.7232 60.028 -20.93 -35.28 -18.83
umpire 5.41733 7.48374 6.88943 8.38926 20.9015 24.1881 -27.61 -17.88 -13.59
visit 17.0958 20.6157 35.7435 29.4575 79.5709 76.7615 -17.07 21.34 3.66
xbraid 5.15071 7.25468 7.66759 9.75926 20.8821 24.8625 -29 -21.43 -16.01
zfp 5.12328 7.17216 8.05026 9.01517 21.3854 24.1102 -28.57 -10.7 -11.3

@haampie haampie merged commit 754d2a1 into spack:develop Aug 17, 2025
32 of 33 checks passed
@alalazo alalazo deleted the solver/unsupported-targets branch August 18, 2025 07:12
climbfuji pushed a commit to climbfuji/spack that referenced this pull request Aug 22, 2025
Tracks unsupported targets explicitly to avoid clingo
having to figure out a negative statement. This should
improve solver performance.

Signed-off-by: Massimiliano Culpo <[email protected]>
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.

3 participants