Skip to content

deps: refresh versions.env (OpenBLAS, MUMPS, Node) + drop PETSc#54

Merged
ccomb merged 4 commits into
mainfrom
worktree-updates
May 16, 2026
Merged

deps: refresh versions.env (OpenBLAS, MUMPS, Node) + drop PETSc#54
ccomb merged 4 commits into
mainfrom
worktree-updates

Conversation

@ccomb
Copy link
Copy Markdown
Owner

@ccomb ccomb commented May 15, 2026

Summary

Routine bump of the upstream deps pinned in versions.env, plus removal of a dead pin. Four atomic commits, all touching versions.env only — no logic or build script changes.

Why each one

  • OpenBLAS 0.3.27 → 0.3.33 — Correctness. 0.3.31 reverts a GEMM race condition introduced in 0.3.30, 0.3.32 fixes a gcc 15.x miscompilation of AVX512 SGEMM and a non-serialized concurrent SYRK, 0.3.33 re-syncs with Reference-LAPACK 3.13 (NaN checks in ?GEEV, workspace fixes in ?TGSEN, …). Drop-in, no ABI break.
  • Drop PETSC_VERSION — Dead pin: declared but never sourced anywhere. The only petsc hit outside this line is the ANL mirror URL in build-mumps.sh (which hosts the MUMPS tarball, unrelated to the PETSc version).
  • Node.js 22.17.1 → 22.22.3 — Patch bumps on the Jod LTS line. Actually consumed: the parent volca-deploy repo's desktop-smoke.yml / desktop-release.yml source this file and pass $NODE_VERSION to actions/setup-node.
  • MUMPS 5.8.1 → 5.9.0 — Drop-in for our Makefile.inc-driven sequential/double-precision build. New 5.9.0 features (mixed BLR precision, single-in-double, GPU activity) are opt-in ICNTL controls we don't set; the one default change (ICNTL(36) BLR variant 0 → 1) is gated behind ICNTL(35) which we leave off.

RUST_VERSION was previously included in this PR but has been dropped — it'll be removed entirely in a follow-up cross-repo cleanup (it's purely informational here; the desktop workflows in volca-deploy track dtolnay/rust-toolchain@stable directly).

Knock-on action

After merge, prebuild-mumps.yml needs a manual workflow_dispatch to publish the mumps-prebuilt-5.9.0-r4 GH Release. Until that exists, _build-matrix.yml falls back to building from source (slower CI, no breakage — per its documented contract).

GHC is intentionally left on 9.12.4 (latest of the 9.12.x branch); 9.14 is a major jump for another PR. Elm is already at the latest 0.19.1.

Follow-up

A follow-up will move NODE_VERSION and ELM_VERSION to a parent volca-deploy/versions.env and drop the unused RUST_VERSION from this repo. Those toolchains belong to the desktop app (Tauri/Elm SPA), not to the Haskell LCA engine published here.

Test plan

  • CI passes on _build-matrix.yml (will rebuild OpenBLAS via setup-haskell-env cache key on hashFiles('versions.env') and rebuild MUMPS from source until prebuild is run)
  • After merge: trigger prebuild-mumps.yml manually so subsequent CI runs use the prebuilt MUMPS release
  • Smoke-check parent volca-deploy desktop workflows still resolve node=22.22.3 from this file

ccomb added 4 commits May 16, 2026 01:18
Six minor releases worth of upstream fixes. The ones that matter for
our Linux/musl static build:

- 0.3.31 reverts a GEMM race condition introduced in 0.3.30 that could
  produce invalid results in multithreaded calls.
- 0.3.32 fixes potential miscompilation of the AVX512 SGEMM kernel by
  gcc 15.x, fixes a non-serialized concurrent SYRK, and fixes an ABI
  mismatch in the internal CDOT/ZDOT used by LAPACK fallbacks.
- 0.3.33 works around AVX512 GEMM miscompilation by LLVM on Windows
  and re-syncs with Reference-LAPACK 3.13 (NaN checks in ?GEEV,
  workspace fixes in ?TGSEN, etc.).

Drop-in: no ABI break, the setup-haskell-env cache is keyed on
hashFiles('versions.env') so CI rebuilds OpenBLAS automatically.
PETSC_VERSION (3.24.2) is declared in versions.env but never referenced
anywhere — no build script, no workflow, no Dockerfile sources it. The
only "petsc" hit outside this line is the ANL mirror URL in
build-mumps.sh (web.cels.anl.gov/projects/petsc/...) which hosts the
MUMPS tarball but has nothing to do with the PETSc version itself.

Drop the dead pin rather than carry stale documentation that will keep
drifting from reality.
Five patch releases on the 22.x LTS line. Consumed by the parent
volca-deploy repo's desktop workflows (desktop-smoke.yml,
desktop-release.yml) which source volca-public/versions.env and pass
$NODE_VERSION to actions/setup-node. No code in this repo depends on it.

Patch bumps on an LTS line: no API change, drop-in.
Upstream minor release (April 2026). For our sequential
double-precision build with bundled OpenBLAS this is drop-in:

- No build system overhaul, no Makefile.inc schema change — our
  generated Makefile.inc in build-mumps.sh keeps working unchanged.
- The new 5.9.0 features (mixed BLR precision via ICNTL(40), single
  precision in double instances via ICNTL(47), GPU activity, etc.)
  are all opt-in ICNTL controls we don't set.
- The one default change — ICNTL(36) (BLR variant) now defaults to 1
  instead of 0 — is irrelevant because BLR is itself disabled by
  default (ICNTL(35)=0) and we don't touch either.

After this lands, prebuild-mumps.yml needs a manual run to publish
the mumps-prebuilt-5.9.0-r4 GH Release; until then _build-matrix.yml
falls back to building from source per its documented contract.
@ccomb ccomb force-pushed the worktree-updates branch from 214db0d to d67707c Compare May 15, 2026 23:51
@ccomb ccomb changed the title deps: refresh versions.env (OpenBLAS, MUMPS, Node, Rust) + drop PETSc deps: refresh versions.env (OpenBLAS, MUMPS, Node) + drop PETSc May 16, 2026
@ccomb ccomb merged commit 6b9615e into main May 16, 2026
4 checks passed
@ccomb ccomb deleted the worktree-updates branch May 16, 2026 00:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant