Skip to content

research: cold JAX compile — autotuning is the cost; verdict 2 (#74)#76

Merged
Jammy2211 merged 2 commits into
mainfrom
feature/cold-compile-reduction
Jul 17, 2026
Merged

research: cold JAX compile — autotuning is the cost; verdict 2 (#74)#76
Jammy2211 merged 2 commits into
mainfrom
feature/cold-compile-reduction

Conversation

@Jammy2211

Copy link
Copy Markdown
Contributor

Overview

Research deliverable for #74 — cold JAX compile time. Verdict 2: one more setting — default --xla_gpu_autotune_level=0. The pathological ~7m30 cold GPU compile IS autotuning (hidden for two days behind the pre-PyAutoConf#128 XLA_FLAGS clobber, which made every earlier "autotune off" run silently autotune-on, including the 2026-07-15 "ruled out" A/B):

  • Autotune genuinely off: cold probe 498 s → 29 s (17×); full 300×16 adam fit 2081 s → 1253 s (−40 %); fixed-input logL bit-identical.
  • Steady-eval A/B matrix (A100, mge+pix × jit/vag): parity everywhere (worst ~4 % on one cell; the 4800-eval fit was faster end-to-end, so no real penalty).
  • Cache (#128) + autotune-off ⇒ worst-case first-fit UX ~70 min → ~30 s.
  • Tracing floor closed as a direction: 58 % jax-internal / 34 % stdlib / 7 % autoarray — no PyAuto lever (trace_profile.py).
  • Cache-proliferation + pre-warming leads deprioritized; upstream XLA report moot (slow fusion explained; HLO artifact retained on RAL, job 330596).

Implementation follow-up filed: PyAutoMind draft/feature/autoconf/default_xla_gpu_autotuning_off_in_the.md (env-respecting wrapper default, small).

Scripts Changed

  • jax_compile/README.md — cold-compile findings (6–8) + Verdict 2
  • jax_compile/trace_profile.py — NEW: cProfile attribution of tracing time by library
  • jax_compile/results/local_cpu/trace_profile.json — NEW: tracing rollup record
  • jax_compile/results/local_gpu_NVIDIA_A100_80GB_PCIe/{mge,pixelization}.json — NEW: A100 autotune on/off matrix records

Additive within jax_compile/ only (parallel claim with #70 honored — no slam/resume paths touched).

Upstream PR

None — workspace-only research task.

Validation checklist

  • Tests: n/a — no test dir in this workspace repo
  • Smoke: n/a — additive jax_compile/ only; no downstream script surface
  • Review faculty: CLEAN (2 commits, 5 files, +307)
  • Heart: RED — 5 pre-existing unrelated reasons (manifest drift ×7, fresh list), human-acknowledged for this PR-open 2026-07-17. Merge stays human.

🤖 Generated with Claude Code

Jammy2211 and others added 2 commits July 17, 2026 08:28
…x / 34% stdlib / 7% autoarray on MGE vag)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ng (17x/-40% off, eval parity); verdict 2 = default autotune off

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Jammy2211 Jammy2211 added the pending-release Queued for the next release label Jul 17, 2026
@Jammy2211
Jammy2211 merged commit 59c4976 into main Jul 17, 2026
1 check failed
@Jammy2211
Jammy2211 deleted the feature/cold-compile-reduction branch July 17, 2026 08:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pending-release Queued for the next release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant