Skip to content

Commit d91e806

Browse files
authored
Merge pull request #349 from PyAutoLabs/claude/jax-compile-stall-root-cause-d33hi0
prompt: file issue for xla-cpu-eigen-pool-deadlock (#1530)
2 parents 0bfc681 + 0c61ab0 commit d91e806

4 files changed

Lines changed: 34 additions & 20 deletions

File tree

active.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,16 @@
1313
- registered: 2026-08-19 by the wake_up session — the issuing session (claude/autofit-priors-messages-audit-ylvenv)
1414
filed the prompt + issue but not this entry, tripping Lifecycle Drift on main.
1515
- repos-none-claimed: this entry claims NO repos — one line deliberately, not 2-space bullets.
16+
17+
## xla-cpu-eigen-pool-deadlock
18+
- issue: https://github.com/PyAutoLabs/PyAutoFit/issues/1530 (issued 2026-08-27)
19+
- issued: 2026-08-27
20+
- prompt: active/xla_cpu_eigen_pool_deadlock.md
21+
- status: not started — research follow-up to the shipped jax-compile-stall epic
22+
(record complete/2026/08/jax-vmap-materialisation-hang.md, PyAutoFit#1528)
23+
- repos-none-claimed: no worktree claimed; investigation is CI-driven via retime.yml
24+
- why: #1528 shipped a WORKAROUND. Every JAX script in both test workspaces now runs
25+
single-threaded Eigen (~15% slower on the heaviest), and that flag is load-bearing —
26+
removing it silently brings back seven quarantines.
27+
- the recoverable-cost question: if XLA's pool is merely mis-sized against the runner's
28+
cgroup quota rather than genuinely deadlocked, the fix is sizing it and the 15% comes back.

draft/research/ci/xla_cpu_eigen_pool_deadlock.md renamed to active/xla_cpu_eigen_pool_deadlock.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Autonomy: supervised
1111
Priority: medium
1212
Status: formalised
1313
Filed: 2026-08-27
14+
Issued: 2026-08-27
1415

1516
## Why this exists
1617

dashboard.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@
204204
</head>
205205
<body>
206206
<header class="hero"><span class="orb"><svg class="mark" viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="24" cy="24" r="20.4"/><path d="M20.2,37.6 L20.2,33.6 C20.2,32.4 19.4,31.6 18.4,30.8 C16.8,29.6 15.8,28.2 15.6,26.6 C15.5,25.6 14.9,25.2 13.9,24.9 C12.6,24.5 12.3,23.7 13.0,22.7 C13.8,21.6 14.5,20.6 14.6,19.4 C15.0,15.4 18.2,12.2 22.4,11.8 C27.2,11.3 31.6,14.6 32.3,19.2 C32.8,22.4 31.6,25.0 30.6,27.0 C29.9,28.4 29.6,29.6 29.6,31.2 L29.6,37.6"/><circle cx="24.6" cy="19.6" r="4.4"/><path d="M22.5,19.7 L24.0,21.3 L26.8,18.1"/><path d="M34.2,16.5 L38.8,16.5 M35.2,21.0 L39.4,21.0 M33.6,25.5 L37.2,25.5"/><g fill="currentColor" stroke="none"><circle cx="40.1" cy="16.5" r="1.4"/><circle cx="40.7" cy="21.0" r="1.4"/><circle cx="38.5" cy="25.5" r="1.4"/></g></svg></span><h1>PyAuto<b>Mind</b><span class="kind">Dashboard</span></h1><div class="rule"></div><p class="tag">Intent. Priority. Flow.</p></header><p class="lede">Every task the Mind is holding. Tap a task's 📋 and its <code>/start_dev</code> command is on your clipboard — paste it into a Claude Code chat to route Claude straight to that task. <a href="#recent">Recent</a> is the same work by date — what has been happening rather than what to do next.</p>
207-
<ul class="stats"><li><b>1</b><span>In flight</span></li><li><b>3</b><span>Parked</span></li><li><b>5</b><span>Planned</span></li><li><b>135</b><span>Backlog</span></li></ul>
207+
<ul class="stats"><li><b>2</b><span>In flight</span></li><li><b>3</b><span>Parked</span></li><li><b>5</b><span>Planned</span></li><li><b>134</b><span>Backlog</span></li></ul>
208208
<div class="fresh"><p><b>Last updated 2026-08-27.</b> This page is generated from <code>active/</code>, <code>draft/</code> and the registry files, so it is only as current as they are. <code>dashboard_refresh.yml</code> re-renders it on every push to <code>main</code> — that heals a stale page, but not a stale prompt: a task that shipped without its prompt advancing to <code>complete/</code> keeps rendering here as pickable backlog. Reconciling those is the refresh below.</p>
209209
<div class="task"><button class="copy" data-cmd="Bring the PyAutoMind dashboard up to date. Work in the PyAutoMind checkout:
210210
@@ -252,6 +252,7 @@ <h3>Quick wins <span class="facets">(small enough, and safe enough to run unatte
252252
<h2>In flight <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/active.md">markdown version</a></h2>
253253
<p class="muted">Issued — each has an open GitHub issue and usually a branch.</p>
254254
<div class="task"><button class="copy" data-cmd="/start_dev active/16_transformed_message_factor_gradient_unpack.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/active/16_transformed_message_factor_gradient_unpack.md"><code>@PyAutoFit</code> <code>TransformedMessage.factor_gradient</code> crashes on first call</a><a href="https://github.com/PyAutoLabs/PyAutoFit/issues/1501">issue #1501</a><span class="facets"> — issued 2026-08-19</span><span class="facets">HOLD — do not start dev. Fix-or-delete hangs off the PyAutoFit#1498 logpdf-contract</span></p></div>
255+
<div class="task"><button class="copy" data-cmd="/start_dev active/xla_cpu_eigen_pool_deadlock.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/active/xla_cpu_eigen_pool_deadlock.md">Why does XLA CPU's Eigen thread pool wedge on the multi_dataset vmap…</a><a href="https://github.com/PyAutoLabs/PyAutoFit/issues/1530">issue #1530</a><span class="facets"> — issued 2026-08-27</span><span class="facets">not started — research follow-up to the shipped jax-compile-stall epic</span></p></div>
255256
<h2>Parked <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/parked.md">markdown version</a></h2>
256257
<details>
257258
<summary>3 task(s)</summary>
@@ -269,7 +270,7 @@ <h2>Planned <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/blob
269270
<div class="task"><button class="copy" data-cmd="/route start the planned PyAutoMind task latent-nan-guard-honest-run — its record is in planned.md" aria-label="Copy the Claude command">📋</button><p><b>latent-nan-guard-honest-run</b><span class="facets"> — planned 2026-07-22</span></p></div>
270271
</details>
271272
<h2>Backlog <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/tree/main/draft">markdown version</a></h2>
272-
<p class="muted">135 filed prompts, not started — sorted most-pickable first (priority, then size). 24 of them belong to an epic and are listed only under Epics below.</p>
273+
<p class="muted">134 filed prompts, not started — sorted most-pickable first (priority, then size). 24 of them belong to an epic and are listed only under Epics below.</p>
273274
<details>
274275
<summary>feature — 28</summary>
275276
<div class="task"><button class="copy" data-cmd="/start_dev draft/feature/autoarray/numba_cpu_likelihood_mge_convolution_and_caching.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/feature/autoarray/numba_cpu_likelihood_mge_convolution_and_caching.md">Numba CPU likelihood phase 1: batched MGE convolution + operated-matrix caching</a><span class="tags"><span class="pill w">✨ feature</span><span class="pill">autoarray</span><span class="pill n">medium</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
@@ -302,11 +303,10 @@ <h2>Backlog <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/tree
302303
<div class="task"><button class="copy" data-cmd="/start_dev draft/feature/pyautomind/repos-sync-config-stamper.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/feature/pyautomind/repos-sync-config-stamper.md">Teach repos_sync --write to stamp organ config surfaces</a><span class="tags"><span class="pill w">✨ feature</span><span class="pill">pyautomind</span><span class="pill n">hard</span><span class="pill n">supervised</span><span class="pill n">low</span></span></p></div>
303304
</details>
304305
<details>
305-
<summary>research — 15</summary>
306+
<summary>research — 14</summary>
306307
<div class="task"><button class="copy" data-cmd="/start_dev draft/research/autoarray/delaunay_research.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/research/autoarray/delaunay_research.md">Deep research: Can we speed up Delaunay in PyAutoArray?</a><span class="tags"><span class="pill w">🔬 research</span><span class="pill">autoarray</span><span class="pill r">too-large</span><span class="pill n">supervised</span><span class="pill r">high</span></span></p></div>
307308
<div class="task"><button class="copy" data-cmd="/start_dev draft/research/autoarray/delaunay_callback_persistent_cache_miss.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/research/autoarray/delaunay_callback_persistent_cache_miss.md">Delaunay-family JAX modules never hit the persistent compilation cache</a><span class="tags"><span class="pill w">🔬 research</span><span class="pill">autoarray</span><span class="pill n">medium</span><span class="pill n">supervised</span><span class="pill n">medium</span></span></p></div>
308309
<div class="task"><button class="copy" data-cmd="/start_dev draft/research/autolens/quick_update_plotting_cost.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/research/autolens/quick_update_plotting_cost.md">Quick-update plotting cost — minutes per update, and it is not JAX…</a><span class="tags"><span class="pill w">🔬 research</span><span class="pill">autolens</span><span class="pill n">medium</span><span class="pill n">supervised</span><span class="pill n">medium</span></span></p></div>
309-
<div class="task"><button class="copy" data-cmd="/start_dev draft/research/ci/xla_cpu_eigen_pool_deadlock.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/research/ci/xla_cpu_eigen_pool_deadlock.md">Why does XLA CPU's Eigen thread pool wedge on the multi_dataset vmap…</a><span class="tags"><span class="pill w">🔬 research</span><span class="pill">ci</span><span class="pill n">medium</span><span class="pill n">supervised</span><span class="pill n">medium</span></span></p></div>
310310
<div class="task"><button class="copy" data-cmd="/start_dev draft/research/pyautohands/git_docs.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/research/pyautohands/git_docs.md">Use readthedocs or migrate to GitHub docs</a><span class="tags"><span class="pill w">🔬 research</span><span class="pill">pyautohands</span><span class="pill n">small</span><span class="pill n">supervised</span><span class="pill n">normal</span></span></p></div>
311311
<div class="task"><button class="copy" data-cmd="/start_dev draft/research/pyautoreduce/acceptance_noise_rebaseline.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/research/pyautoreduce/acceptance_noise_rebaseline.md">Re-baseline the slacs0008 acceptance parity after the HAP-dedupe fix</a><span class="tags"><span class="pill w">🔬 research</span><span class="pill">pyautoreduce</span><span class="pill n">small</span><span class="pill n">supervised</span><span class="pill n">normal</span></span></p></div>
312312
<div class="task"><button class="copy" data-cmd="/start_dev draft/research/autoarray/rectangular_kernel_bandwidth_defaults.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/research/autoarray/rectangular_kernel_bandwidth_defaults.md">Kernel-CDF bandwidth defaults — config-dependent quality, investigate adaptivity</a><span class="tags"><span class="pill w">🔬 research</span><span class="pill">autoarray</span><span class="pill n">medium</span><span class="pill n">supervised</span><span class="pill n">normal</span></span></p></div>
@@ -413,9 +413,9 @@ <h2>Backlog <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/tree
413413
<table class="recent">
414414
<tr>
415415
<td class="when">2026-08-27</td>
416-
<td class="what">filed</td>
417-
<td><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/research/ci/xla_cpu_eigen_pool_deadlock.md">Why does XLA CPU's Eigen thread pool wedge on the multi_dataset vmap…</a></td>
418-
<td class="pick"><button class="copy" data-cmd="/start_dev draft/research/ci/xla_cpu_eigen_pool_deadlock.md" aria-label="Copy the Claude command">📋</button></td>
416+
<td class="what">issued</td>
417+
<td><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/active/xla_cpu_eigen_pool_deadlock.md">Why does XLA CPU's Eigen thread pool wedge on the multi_dataset vmap…</a></td>
418+
<td class="pick"><button class="copy" data-cmd="/start_dev active/xla_cpu_eigen_pool_deadlock.md" aria-label="Copy the Claude command">📋</button></td>
419419
</tr>
420420
<tr>
421421
<td class="when">2026-08-27</td>

dashboard.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ anything you could not verify.
4242

4343
| Where | Count |
4444
|-------|------:|
45-
| [In flight](#in-flight) (`active/`) | 1 |
45+
| [In flight](#in-flight) (`active/`) | 2 |
4646
| [Parked](#parked) (`parked.md`) | 3 |
4747
| [Planned](#planned) (`planned.md`) | 5 |
48-
| [Backlog](#backlog) (`draft/`) | 135 |
48+
| [Backlog](#backlog) (`draft/`) | 134 |
4949

5050
## Start here
5151

@@ -163,6 +163,14 @@ Issued — each has an open GitHub issue and usually a branch. The full record f
163163

164164
</details>
165165

166+
<details><summary>📋 <a href="active/xla_cpu_eigen_pool_deadlock.md">Why does XLA CPU's Eigen thread pool wedge on the multi_dataset vmap…</a> — <a href="https://github.com/PyAutoLabs/PyAutoFit/issues/1530">issue #1530</a> — issued 2026-08-27 — not started — research follow-up to the shipped jax-compile-stall epic</summary>
167+
168+
```
169+
/start_dev active/xla_cpu_eigen_pool_deadlock.md
170+
```
171+
172+
</details>
173+
166174
## Parked
167175

168176
Started or scoped, not currently in flight — resume by moving the row back to `active.md`. Full detail in [`parked.md`](parked.md).
@@ -247,7 +255,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
247255

248256
## Backlog
249257

250-
**135** filed prompts, not started. Each section is sorted most-pickable first (priority, then size). **24** of them belong to an epic and are listed only under [Epics](#epics) below.
258+
**134** filed prompts, not started. Each section is sorted most-pickable first (priority, then size). **24** of them belong to an epic and are listed only under [Epics](#epics) below.
251259

252260
<details>
253261
<summary><b>feature</b> — 28</summary>
@@ -479,7 +487,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
479487
</details>
480488

481489
<details>
482-
<summary><b>research</b> — 15</summary>
490+
<summary><b>research</b> — 14</summary>
483491

484492
<details><summary>📋 <a href="draft/research/autoarray/delaunay_research.md">Deep research: Can we speed up Delaunay in PyAutoArray?</a> — autoarray · too-large · supervised · high</summary>
485493

@@ -505,14 +513,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
505513

506514
</details>
507515

508-
<details><summary>📋 <a href="draft/research/ci/xla_cpu_eigen_pool_deadlock.md">Why does XLA CPU's Eigen thread pool wedge on the multi_dataset vmap…</a> — ci · medium · supervised · medium</summary>
509-
510-
```
511-
/start_dev draft/research/ci/xla_cpu_eigen_pool_deadlock.md
512-
```
513-
514-
</details>
515-
516516
<details><summary>📋 <a href="draft/research/pyautohands/git_docs.md">Use readthedocs or migrate to GitHub docs</a> — pyautohands · small · supervised · normal</summary>
517517

518518
```
@@ -1188,7 +1188,7 @@ The 50 newest things to happen to the work in hand, newest first — issued, par
11881188

11891189
| Date | Event | Task |
11901190
|------|-------|------|
1191-
| 2026-08-27 | filed | <a href="draft/research/ci/xla_cpu_eigen_pool_deadlock.md">Why does XLA CPU's Eigen thread pool wedge on the multi_dataset vmap…</a> |
1191+
| 2026-08-27 | issued | <a href="active/xla_cpu_eigen_pool_deadlock.md">Why does XLA CPU's Eigen thread pool wedge on the multi_dataset vmap…</a> |
11921192
| 2026-08-27 | filed | <a href="draft/refactor/autolens/one_construction_path_for_plane_bound_lensing.md">One construction path for plane-bound lensing quantities</a> |
11931193
| 2026-08-27 | filed | <a href="draft/feature/autolens/multi_plane_time_delays.md">Multi-plane time delays</a> |
11941194
| 2026-08-27 | filed | <a href="draft/bug/autogalaxy/lenscalc_numpy_hessian_step_is_too_coarse.md">LensCalc NumPy Hessian step is too coarse for multi-plane tracers</a> |

0 commit comments

Comments
 (0)