Repository navigation
Extend precompile workload for in-place QuadGKJL and HCubatureJL - #382
ChrisRackauckas merged 1 commit into
Conversation
Cover in-place QuadGKJL plus HCubatureJL 1-D and 2-D Vector-domain solves so first-user solves of those paths pay less compile cost, at the expense of longer package precompile. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Cursor Agent <noreply@cursor.com> Agent-Harness: Cursor Agent 2026.10.01-14929f9 Agent-Model: unknown (Cursor auto) Agent-Session: local session, transcript /home/crackauc/sandbox/goals/performance/jobs/integrals/int-workload/log.txt on amdci2
Independent review (Devin CLI 3000.11.3, model fusion-claude-opus-5-5-high-sidekick-swe-2-medium): MERGE, risk low. Full reviewVERDICT: MERGE Blocking findingsNone. Non-blocking findings
What I ran
What I did not verify
🤖 Posted by an AI agent — harness: Devin CLI 3000.11.3 (review), Claude Code 2.1.285 (posting) · model: fusion-claude-opus-5-5-high-sidekick-swe-2-medium |
Bump version to 5.5.4 Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Harness: Claude Code 2.1.301 Agent-Model: claude-opus-5-5 Claude-Session: https://claude.ai/code/session_01VZjwf7Ux9YtTzwHGHMqnsq
Summary
The existing
src/precompile.jlworkload only solves one out-of-placeQuadGKJLproblem. This extends it with an in-placeQuadGKJLsolve plusHCubatureJL1-D and 2-D (Vectordomain) solves, all using hard dependencies only (no optional extensions). The trade-off is longer package precompile for lower first-solve latency on those common user-defined integrand paths.Before / after (process CPU, fresh process, min of 3)
Machine: amdci2, Julia 1.12.4,
JULIA_NUM_THREADS=1 taskset -c 28. TTFS = process CPU (/proc/self/statutime+stime) from afterusing Integralsthrough the firstsolveof a user-defined integrand. Precompile+load =/usr/bin/time %U+%Safter clearing the Integrals compile cache.usingCPUMatches the auditor direction (HCub 2D 3.24→0.52, HCub 1-D 0.80→0.38, in-place QuadGK 4.24→3.40, precompile
14→25;usingunchanged). Absolute precompile totals here are a bit lower than the auditor's 14.0 / 25.4 on a shared machine, but the delta is the same (~+12 s CPU).Test-group tails
GROUP=Core(Julia 1.12.4):GROUP=QA(Julia 1.12.4):Julia 1.10.12:
test/precompile_workload.jl+ the three new workload shapes (in-place QuadGKJL, HCubatureJL 1-D, HCubatureJL 2-D Vector) all pass.Runic
--inplaceandtyposclean onsrc/precompile.jl.Not verified
Reviewer pushback
SVectordomains, batched integrands, or infinite domains?Please ignore until reviewed by @ChrisRackauckas.
Risk assessment
Independent review: pending
🤖 Generated with Cursor Agent 2026.10.01-14929f9 (model: unknown (Cursor auto)), transcript /home/crackauc/sandbox/goals/performance/jobs/integrals/int-workload/log.txt on amdci2; orchestrated by Claude Code (claude-opus-5-5[1m]) https://claude.ai/code/session_01LPHREnnonfLg1VcE1EJovv
Made with Cursor
Independent review: Devin Fusion (fusion-claude-opus-5-5-high-sidekick-swe-2-medium) rated it low, verdict MERGE: #382 (comment)
Independent review (added by the fleet master)
Verdict: MERGE (reviewed head 9764f4f)
JULIA_NUM_THREADS=4 JULIA_NUM_PRECOMPILE_TASKS=4 JULIA_DEPOT_PATH=<local>, ranjulia +1 --project=review-env evidence/review382.jl: existing precompile test 1/1, three added workload-shape checks 3/3; results were [1/3], 1/3 and 1/4 as expected. Ranevidence/latency382.jlin separate fresh Julia 1.13.1 processes on exact base 63b17e8 and head: first in-place QuadGK solve 3.55→3.13 s, HCubature 1D 0.542→0.211 s, HCubature 2D 1.726→0.306 s; cached load 1.74→1.83 s. After removing only this review’s local Integrals compile-cache directory for the base and changing source for head,julia +1 --project=review-env -e '@time using Integrals'measured precompile+load 8.67→12.40 s. These are single wall-clock measurements, not statistically controlled benchmarks. The new source actually precompiled and loaded successfully. This is a performance addition, not a correctness bug; no failing-before test is expected. All 15 PR checks pass; latest default CI, downgrade, docs and formatting pass. Nothing is skipped, weakened, swallowed or removed. Full Core/QA/AD and LTS were not rerun locally.🤖 Section added by an AI agent — harness: Claude Code 2.1.300 · model: claude-opus-5-5 (review by codex-cli, gpt-6.1-sol)
Conversation: https://claude.ai/code/session_01VZjwf7Ux9YtTzwHGHMqnsq