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
Follow-up to #71 (research: settings suffice → cache-by-default shipped in PyAutoConf#128): investigate ways to reduce the cold JAX compile time itself — the once-per-(machine, jax-version, shape) cost the persistent cache cannot remove. Worst measured case: ~7m30 for the GPU pixelized-gradient input_reduce_fusion; ~2 min for CPU MGE gradient fits; plus the uncacheable ~15 s–2 min Python tracing floor every process pays even warm.
Plan
HLO artifact (unblocked by PyAutoConf#128's XLA_FLAGS fix): sync RAL mirrors, re-run the 8-min A100 probe with dump flags, analyze what the 7m30 fusion contains; produce the upstream-XLA-report artifact.
XLA compile-speed knobs on that fusion (A100, fresh cache per config): compilation parallelism, fusion-heuristic flags; honest autotune A/B (the 2026-07-15 one is unproven — flags were clobbered).
Tracing floor (local CPU): profile the uncacheable tracing cost and its scaling with model depth.
Cache-entry proliferation: count distinct entries a realistic SLaM pipeline generates; identify avoidable shape/graph variation (canonicalization candidates).
Pre-warming: shared cluster cache-dir guidance; jax.export/AOT portability (can a warm cache be shipped?).
Deliverable: cold-compile findings + second verdict in jax_compile/README.md (which levers get productized); follow-ups via intake. Out of scope: restructuring likelihoods into piecewise jit stages (ruled out by #71).
Overview
Follow-up to #71 (research: settings suffice → cache-by-default shipped in PyAutoConf#128): investigate ways to reduce the cold JAX compile time itself — the once-per-(machine, jax-version, shape) cost the persistent cache cannot remove. Worst measured case: ~7m30 for the GPU pixelized-gradient
input_reduce_fusion; ~2 min for CPU MGE gradient fits; plus the uncacheable ~15 s–2 min Python tracing floor every process pays even warm.Plan
jax.export/AOT portability (can a warm cache be shipped?).Deliverable: cold-compile findings + second verdict in
jax_compile/README.md(which levers get productized); follow-ups via intake. Out of scope: restructuring likelihoods into piecewise jit stages (ruled out by #71).Detailed implementation plan
Affected Repositories
jax_compile/; parallel claim with slam-resume-profiling Profile SLaM stage-resume overhead + judge checkpointing vs speed-up #70, user-approved 2026-07-17, different subtrees)Branch Survey
Suggested branch:
feature/cold-compile-reductionKey Files / Instruments
jax_compile/probe.py(merged) — extend with tracing-profile and flag-sweep modes as neededpixgrad_logs/compile_ab.sbatchpattern (freshJAX_COMPILATION_CACHE_DIRper job; matched args or shapes miss)Original Prompt
PyAutoMind draft/research/workspaces/investigate_ways_to_reduce_the_cold_jax.md