Skip to content

noun: migrate lagoon jet to stateless SoftBLAS (64-bit)#1022

Open
sigilante wants to merge 2 commits into
ml/64from
neal/lagoon-softblas-64
Open

noun: migrate lagoon jet to stateless SoftBLAS (64-bit)#1022
sigilante wants to merge 2 commits into
ml/64from
neal/lagoon-softblas-64

Conversation

@sigilante
Copy link
Copy Markdown
Collaborator

Summary

Migrates the 64-bit lagoon jet to the current SoftBLAS API, on top of ml/64.

  • Bump ext/softblas to 40ff4fa — allocation-free / stateless rewrite (per-call rndMode replacing the global softblas_roundingMode; B1–B5 correctness fixes). Drop the deleted src/softblas_state.c from the wrapper.
  • Update pkg/noun/jets/i/lagoon.c for the new API: thread the active rounding mode through all 32 BLAS calls via a file-static _la_rnd, and rename the local _set_rounding_set_rounding_la (avoids colliding with softblas.h's new inline). Preserves the 64-bit calling convention — the braced u3r_mean {sample, &ptr} pairs and syz_x+1 byte handling.

The jet also picks up the recent numerics correctness fixes the 64-bit copy was missing (mod round-the-quotient, _get_dims leak, range/bloq guards, argmin/argmax index). Source tracks numerics lagoon/vere64; see urbit/numerics#37.

Testing

Built on ml/64 with zig 0.15.2. Booted a fake ~tex, verified add/dot/mmul/mod produce correct values, and the full lagoon test suite passes — all 9 suites, ok=%.y.

🤖 Generated with Claude Code

Bump ext/softblas to urbit/SoftBLAS 40ff4fa (allocation-free; per-call
rndMode arg replacing the global softblas_roundingMode; B1-B5 fixes) and
drop the deleted src/softblas_state.c from the wrapper.

Update the lagoon jet for the new API: thread the active rounding mode
through all 32 BLAS calls via a file-static _la_rnd, and rename the local
_set_rounding -> _set_rounding_la to avoid colliding with softblas.h's new
inline. Preserves the 64-bit calling convention (braced u3r_mean
{sample,&ptr} pairs) and syz_x+1 byte handling.

Built on ml/64 with zig 0.15.2; booted fake ~tex and the full lagoon test
suite passes (9 suites, ok=%.y). Jet source matches numerics
lagoon/vere64.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sigilante sigilante requested a review from a team as a code owner May 31, 2026 12:30
@matthew-levan
Copy link
Copy Markdown
Contributor

LGTM, will wait for #1021 before merging this one.

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.

2 participants