Repository navigation
R1d: faster cold catalog preparation, compilation stays in preparation - #1225
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…two families in cache children Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ne child per CPU; guards Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces closed #1222 (R1c). Owner decision: every Numba kernel is compiled in catalog preparation and its forked cache children, never at first use. This PR makes cold preparation faster while it still compiles the whole catalog before readiness. Receipt:
docs/refactor/consolidation-20261009/R1d-catalog-prepare-cold-start.md.What was wrong (measured on main, Linux, 6 cores / 12 threads)
NUMBA_CACHE_DIRwas set, which only the desktop launcher and benchmark harnesses do. CI jobs and plain server starts compiled all 665 kernel signatures on one CPU (94.5 s here; the 222 s onmacos-15-intel). Numba was persisting its cache beside the sources all along.rolling_ball,denoise_nl_means,hough_ellipse), and installed requirement metadata was re-parsed 619 times.@processing_preparehooks and two families that never declared persistent kernel work.Changes
NUMBA_CACHE_DIRrequirement is removed)._openhcs_requirementsparsed once per process (the only piece taken from R1c); module sources parsed to AST once.EdgeEnhancementStrategyandImagePayloadUint8Strategydeclare persistent kernel work.Before / after
NUMBA_CACHE_DIRsetNUMBA_CACHE_DIRunsetrun-well-throughputExampleHuman, whole commandNot done
(mtime, size)and path, and server jobs install fresh wheels, so restored entries would be stale (details in the receipt).Gates
verify_branch.sh:38 failed, 11640 passed, 25 skipped, 2 errors in 642.63s;collected 11702, reported 11679, crash lines 0;new vs known: 3;only on r1dcold:(empty: the three also fail on main when rerun).smoke_local.sh:smoke pytest exit 0 (64 s): 7 passed;smoke gui exit 0 (19 s);smoke rc=0.1 passed, 2 warnings in 697.94s; 30 cases insummary.csv.guardrails_local.sh:guardrails rc=1.ratchet openhcs|scripts|benchmark exit 1andnra-r1 exit 1: both pinned tools crash while importing themselves (_FamilyMeta._register_class() got an unexpected keyword argument 'replaces'in agent-comms;DuplicateRegistryKeyErrorin NominalRefactorAdvisor), before reading the diff. Not checked whether main fails the same way. Draft until that is settled.R1d · guards 3/3 · production −30 +111 · tests −2 +65 (adds a scheduling stage for hooks)
🤖 Generated with Claude Code