You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Round linked from #15 (hub). Priority 1 of the current plan: flip the CC engine defaults to the opt-in features merged on 2026-10-31.
Candidates
A: CC default rules excl,pack,orbf,parity,leaf,overlap,charge,tiebreak,sparse,sparseov,sparsemrv and -cc-roworder=auto as the default row order.
B (fallback):excl,pack,orbf,parity,leaf,overlap,charge,tiebreak and -cc-roworder=auto (no sparse tokens).
The previous default stays available as -cc-rules=excl,pack,orbf,parity,leaf,overlap,charge -cc-roworder=index; with those flags the output must be byte-identical to main. The MaxSAT default path is untouched (checked byte-identical).
Features: tiebreak (GH-162, #180), sparse/sparseov/sparsemrv (GH-181, #203), -cc-roworder=auto (GH-206, #215). The fixed mrv + -cc-roworder=bfs configuration (GH-183) is NOT part of either candidate (it fails the Tier 5 1.2x rule).
Gates (docs/OPTIMIZATION_LOOP_POLICY.md)
Tier 0: make test-cc, make test-cc-flags, answers equal the stems, every witness GF(2)-verified; old-default flags byte-identical to main.
Tiers 1-4: 5 seeds, main and candidate concurrently on pinned yfclab2 cores; per-tier geomean < 1 and no cell > 1.25. Tier 1 start-up floor reported to the PI, not decided here.
Tier 5: 6 h, default seed; no code solved by main's CC default may become more than 1.2x slower (watch LP_2610, LP_1428, LP_1122, LP_1768).
Results are grouped by the tier layout on main at judging time (a re-tiering data PR is in progress).
Round result: PR #220, candidate A (tiebreak,sparse,sparseov,sparsemrv added to the default rules, -cc-roworder=auto as the default). The PR is open and not merged: the Tier 1 start-up floor needs the PI's decision.
Tier 0: PASS.
make test-cc and make test-cc-flags (551 checks) pass.
With the old-default flags, every CC log is identical to main; the MaxSAT default path is unchanged.
253 answer runs match their stems; 152 GF(2) witnesses check out.
Quiet interleaved panel: 1.031 (LP_442 1.076, about +2.5 ms from building the second auto half search).
This start-up floor is the only item outside the rules.
B (no sparse) has the same floor (1.035) and is weaker on T2/T4, so it is not an alternative.
Tier 5: no code that main's CC default solves is more than 1.2x slower. Worst is LP_1122 at 1.17x single run, 1.137x interleaved; LP_2610 1.14x / 1.078x; LP_1428 1.02x; LP_1768 1.04x. BB_360 takes 0.17x.
Bounds above the stem names, reached by both arms: TN_468 23, TN_612 24, TN_648_14 21, TN_684 22. Relabelled reproductions (-seed=1 / -seed=2) are running before any rename.
Evidence: optimization/experiments/GH-217/ on the PR branch.
Forcing charge on (-cc-lb-auto=0) does not recover them: TN_648_10 and TN_648_14 both stay at lb 21 (lb times within 3 %); TN_496 becomes 1.35x slower.
So the flip does not change lb-auto.
Renames merged: DistQLDPC #223 (fecee8c) and QDistSAT #17 (7ea1aa96):
TN_468_4_23to29;
TN_612_2_24to40;
TN_648_14_21to28;
TN_684_2_22to29.
Each was reached by both main's and the candidate's CC default and reproduced with a relabelled run (same engine).
CC defaults of each binary; 5 seeds x 9 repetitions.
Arms interleaved with rotating order on one pinned core per (code, seed), on yfclab2 cores 72-103. Each core and its SMT sibling were checked idle before every unit.
Ratio = median over seeds of the repetition medians, A / main.
The 1.467 in the earlier quiet panel was the 10 ms bucket.
With the fix, both arms' wall times are contiguous: main 24-37 ms, A 25-39 ms, 1 ms bins.
What remains is A's real extra CPU, about 6 % (the -cc-roworder=auto set-up noted earlier). It gives a 1.08x wall ratio.
Tier 0 (26 codes, information only): geomean 0.991, worst cell 1.186 (BB_144_12_12, 15.6 ms vs 18.5 ms), no cell > 1.25.
Correctness: 3150 runs, all rc 0, all answers equal to the stem. stdout differs only in timing-dependent line order on GB_144_12_12, and main varies the same way across repetitions.
The PR is not merged. The merge decision stays with the PI.
Activity
Merge main (134d756: #214 AMC data) into GH-217
GH-217: runners and Tier 0-5 evidence
guluchen commentedon Nov 4, 2026
Round result: PR #220, candidate A (
tiebreak,sparse,sparseov,sparsemrvadded to the default rules,-cc-roworder=autoas the default). The PR is open and not merged: the Tier 1 start-up floor needs the PI's decision.make test-ccandmake test-cc-flags(551 checks) pass.-seed=1/-seed=2) are running before any rename.Evidence:
optimization/experiments/GH-217/on the PR branch.Merge main (972b28c: #219 erasure opt-in, #221 re-tier) into GH-217
Merge pull request #223 from guluchen/data/gh217-lb-stems
GH-217: post-merge evidence (Tier 0 on b7b4126, new-layout panel, int…
Merge main (fecee8c: GH-217 stem renames #223) into GH-217
guluchen commentedon Nov 4, 2026
Update (2026-11-05). PR #220 is still open and not merged; it waits for the PI.
Merged main 972b28c (erasure opt-in, re-tier) and fecee8c into the branch.
make test-cc: PASS;make test-cc-flags: 572/572;New tier layout, 5 seeds, concurrent (A geomean / worst cell):
Tier 1 (quiet interleaved): A geomean 0.898; LP_442 alone is 1.467.
usleep(10000)): runs land at about 23 ms or about 33 ms.Tier 5:
TN stem lbs not reached in 6 h (coordinator question):
-cc-lb-auto=0) does not recover them: TN_648_10 and TN_648_14 both stay at lb 21 (lb times within 3 %); TN_496 becomes 1.35x slower.Renames merged: DistQLDPC #223 (fecee8c) and QDistSAT #17 (7ea1aa96):
Each was reached by both main's and the candidate's CC default and reproduced with a relabelled run (same engine).
guluchen commentedon Nov 4, 2026
Tier 1 re-check on top of the GH-224 fix (#224, PR #226, main 82ca41d)
#226 removes the 10 ms polling floor in the parent's wait loop (
poll()on a SIGCHLD self-pipe instead ofusleep(10000)).Setup
src/differs only by GH-224: parent waits for the solver child in poll() (removes the 10 ms timing floor) #226.Tier 1 (9 codes): geomean 0.870, worst cell 1.082 (LP_442), no cell > 1.25.
LP_442
-cc-roworder=autoset-up noted earlier). It gives a 1.08x wall ratio.Tier 0 (26 codes, information only): geomean 0.991, worst cell 1.186 (BB_144_12_12, 15.6 ms vs 18.5 ms), no cell > 1.25.
Correctness: 3150 runs, all rc 0, all answers equal to the stem. stdout differs only in timing-dependent line order on GB_144_12_12, and main varies the same way across repetitions.
The PR is not merged. The merge decision stays with the PI.
Merge branch 'main' into experiment/gh-217-cc-default-flip
Merge pull request #220 from guluchen/experiment/gh-217-cc-default-flip
Merge main (1239e9a: #220 GH-217 default flip, #226 polling fix) into G…