Skip to content

fix(deps): update dependencies - #106

Open
tannevaled wants to merge 1 commit into
mainfrom
renovate/deps
Open

tannevaled wants to merge 1 commit into
mainfrom
renovate/deps

Conversation

@tannevaled

@tannevaled tannevaled commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
github.com/go-fft/fft v0.29.0 → v0.30.1 age confidence
github.com/go-ndarray/ndarray v0.0.0 → v0.41.0 age confidence
github.com/go-scikit/refbench v0.3.0 → v0.4.0 age confidence
github.com/go-simd/floats v0.17.0 → v0.20.0 age confidence

Release Notes

go-fft/fft (github.com/go-fft/fft)

v0.30.1

Compare Source

What's Changed

Full Changelog: go-fft/fft@v0.30.0...v0.30.1

v0.30.0

Compare Source

What's Changed

  • docs: accuracy contract marker; real blockers for the loong64 and ppc64le kernels by @​tannevaled in #​138
  • docs: loong64 has no vector FMA, not no vector double arithmetic (#​137) by @​tannevaled in #​140
  • test: clear every plan cache in tests that override routing; -shuffle CI run; DCT/DST/MDCT goldens by @​tannevaled in #​141
  • feat: DCTMixed, IDCTMixed, MDCTMixed, IMDCTMixed: float32 data, float64 arithmetic by @​tannevaled in #​143

Full Changelog: go-fft/fft@v0.29.1...v0.30.0

v0.29.1

Compare Source

What's Changed

Full Changelog: go-fft/fft@v0.29.0...v0.29.1

go-ndarray/ndarray (github.com/go-ndarray/ndarray)

v0.41.0

Compare Source

What's Changed

Full Changelog: v0.40.3...v0.41.0

v0.40.3

Compare Source

What's Changed

Full Changelog: v0.40.2...v0.40.3

v0.40.2

Compare Source

What's Changed

Full Changelog: v0.40.1...v0.40.2

v0.40.1

Compare Source

What's Changed

Full Changelog: v0.40.0...v0.40.1

v0.40.0

Compare Source

What's Changed

Full Changelog: v0.39.0...v0.40.0

v0.39.0

Compare Source

What's Changed

Full Changelog: v0.38.1...v0.39.0

v0.38.1

Compare Source

What's Changed

Full Changelog: v0.38.0...v0.38.1

v0.38.0

Compare Source

What's Changed

Full Changelog: v0.37.5...v0.38.0

v0.37.5

Compare Source

What's Changed

Full Changelog: v0.37.4...v0.37.5

v0.37.4

Compare Source

What's Changed

Full Changelog: v0.37.3...v0.37.4

v0.37.3

Compare Source

What's Changed

Full Changelog: v0.37.2...v0.37.3

v0.37.2

Compare Source

What's Changed

  • floats v0.10.0: drop the max/min zero fallback and the moved sum/elementwise assembly by @​tannevaled in #​100

Full Changelog: v0.37.1...v0.37.2

v0.37.1

Compare Source

SumP runs on several cores again, with the bits of floats.SumPairwise (NumPy order) whatever the core count: it cuts the NumPy pairwise tree where NumPy cuts it and adds the subtrees back up the same tree (#​99). Results are unchanged from v0.37.0.

v0.37.0

Compare Source

K1 of the go-scikit performance campaign (go-scikit/roadmap#27): ndarray imports go-simd/floats v0.9.0.

Changed result: Sum (and mean, var, std built on it) is now NumPy's pairwise sum (floats.SumPairwise), bit-identical to np.sum of a contiguous 1-D float64 array on every architecture. It replaces lane-parallel sums whose last bits differed from NumPy's and between architectures; it is serial at every size.

Exp, Log and the correctly rounded float32 Exp/Log, and on amd64/arm64 the float64 add/sub/mul/div/sqrt/max/min/clip kernels, are go-simd/floats' (the AVX2 and NEON exp/log kernels written here moved down: #​94, #​95, #​96).

v0.36.0

Compare Source

What's Changed

Full Changelog: v0.35.0...v0.36.0

v0.35.0

Compare Source

What's Changed

Full Changelog: v0.34.0...v0.35.0

v0.34.0

Compare Source

What's Changed

  • float32 Log: correctly rounded (CORE-MATH logf) with an AVX2 kernel at NumPy parity by @​tannevaled in #​91

Full Changelog: v0.33.0...v0.34.0

v0.33.0

Compare Source

What's Changed

Full Changelog: v0.32.0...v0.33.0

v0.32.0

Compare Source

What's Changed

Full Changelog: v0.31.0...v0.32.0

v0.31.0

Compare Source

What's Changed

Full Changelog: v0.30.0...v0.31.0

v0.30.0

Compare Source

What's Changed

  • docs: products slow down on a busy N1 host, OpenBLAS does not (open defect) by @​tannevaled in #​83
  • chore(deps): update dependency go to v1.27.3 by @​tannevaled in #​60
  • feat(random): allocation-free scalar draws (Float64, FillUniform, IntN, FillIntN, ShuffleInt64) by @​tannevaled in #​84

Full Changelog: v0.29.1...v0.30.0

v0.29.1

Compare Source

What's Changed

Full Changelog: v0.29.0...v0.29.1

v0.29.0

Compare Source

What's Changed

Full Changelog: v0.28.0...v0.29.0

v0.28.0

Compare Source

What's Changed

Full Changelog: v0.27.0...v0.28.0

v0.27.0

Compare Source

What's Changed

Full Changelog: v0.26.1...v0.27.0

v0.26.1

Compare Source

What's Changed

Full Changelog: v0.26.0...v0.26.1

v0.26.0

Compare Source

What's Changed

Full Changelog: v0.25.0...v0.26.0

v0.25.0

Compare Source

What's Changed

Full Changelog: v0.24.0...v0.25.0

v0.24.0

Compare Source

What's Changed

Full Changelog: v0.23.0...v0.24.0

v0.23.0

Compare Source

What's Changed

Full Changelog: v0.22.0...v0.23.0

v0.22.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-26.

Commits since v0.21.0:

  • 151c4c1 perf: RVV Max/Min (float64, float32); fix a small-n RVV sum; run RVV in CI (#​66)

v0.21.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-26.

Commits since v0.20.0:

v0.20.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-26.

Commits since v0.19.1:

  • f4ab9ab perf: float32 Max/Min read float32 directly; SSE2 and NEON kernels (#​64)

v0.19.1

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-26.

Commits since v0.19.0:

  • 5759867 ci: install qemu-user, not the virtual qemu-user-static (Ubuntu 26.04) (#​63)
  • 725ee5d fix: amd64 Max/Min over signed zeros depended on element order (#​62)

v0.19.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-25.

Commits since v0.18.0:

  • 2432766 fix(deps): update dependencies (#​57)
  • 8388dc6 perf: float32 Sqrt kernels on six targets; float32 survey against NumPy (#​61)

v0.18.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-19.

Commits since v0.17.0:

  • 8979001 perf: float32 Add/Sub/Mul/Div kernels on six targets; *Into writes typed results in place (#​59)

v0.17.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-18.

Commits since v0.16.0:

  • 0906fd8 perf: float32 pairwise sum blocks on s390x (VFASB, z14+) (#​58)

v0.16.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-18.

Commits since v0.15.0:

  • cfbca31 perf: float32 pairwise sum blocks on VSX (ppc64le) (#​56)

v0.15.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-18.

Commits since v0.14.0:

  • 365f1d1 perf: float32 pairwise sum blocks on RVV (riscv64) and LSX (loong64) (#​55)

v0.14.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-18.

Commits since v0.13.0:

  • 8bd10b2 perf: narrow integer sums widen as they read, without an int64 copy (#​52)
  • 1af734c ci: an A/B benchmark workflow on the hosted amd64 and arm64 runners (#​53)
  • c44fc7b perf: float32 sum blocks on SSE2 and NEON; integer widening folds without bounds checks (#​54)

v0.13.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-18.

Commits since v0.12.0:

  • 7a0a00c fix(deps): update module github.com/go-fft/fft to v0.27.1 (#​48)
  • a1f82eb test: FuzzMixedDTypes, the values of mixed-dtype operations (#​50)
  • 0659ebc perf: fold contiguous reductions directly; NumPy's pairwise sum for float32/complex (#​51)

v0.12.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-11.

Commits since v0.11.0:

  • 575b6f3 test: FuzzUnmarshalBinary; audit entry for the decoder (#​47)
  • b41dd2d feat: Repr prints exactly what NumPy 2.5.3's repr prints (#​49)

v0.11.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-10.

Commits since v0.10.0:

v0.10.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-10.

Commits since v0.9.1:

  • 844966e docs(README): riscv64 and z17 results in the performance summary (#​40)
  • 9b4813d docs(README): docs badge says Hugo + Hextra (the site left MkDocs) (#​41)
  • 3217f28 feat: thirteen dtypes with NumPy 2.x promotion (#​42)
  • 90c2da1 feat(fft): numpy.fft on arrays, over go-fft (#​43)
  • d032aeb feat: MarshalBinary/UnmarshalBinary, NumPy-style Repr, notebook Display (#​44)
  • 17739d2 feat(random): numpy.random with NumPy's numbers for the same seed (#​45)

v0.9.1

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-09.

Commits since v0.9.0:

  • dcf4f7a simd(s390x): VFMAXDB/VFMINDB max/min (Java mode) on z14+, measured on a z17 (#​39)

v0.9.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-09.

Commits since v0.8.0:

  • d699b21 simd(s390x): 4x8 GEMM micro-kernel; measured on a real IBM z17; Go floor 1.27.2; playground links; correct the loong64 1.27.2 claim (#​38)

v0.8.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-08.

Commits since v0.7.1:

  • 6c851d5 simd(s390x): vector-facility kernels for sum, dot, sqrt, add/sub/mul/div; native-endian AT_HWCAP (#​37)

v0.7.1

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-08.

Commits since v0.7.0:

  • c71adc5 simd(riscv64): 6x8 RVV GEMM micro-kernel (LMUL=4, vl=8 on any VLEN) (#​36)

v0.7.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-08.

Commits since v0.6.1:

  • 266c0c8 test: parallel stress of the helper pool; docs: Zen 3 re-measurement (#​34)
  • 67bc4f9 simd(riscv64): RVV kernels for sum, dot, sqrt and add/sub/mul/div (#​35)

v0.6.1

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-07.

Commits since v0.6.0:

  • cddfe75 docs(README): mark the Dot vs threaded-BLAS figure as pre-v0.6.0 (#​32)
  • f3fc70b fix(pool): do not retain the last job's arrays; stop helpers before a caller panic propagates (#​33)

v0.6.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-07.

Commits since v0.5.2:

  • 0241ff3 perf(parallel): persistent helper pool for parallelFor; finer reduction partials (#​31)

v0.5.2

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-07.

Commits since v0.5.1:

  • cbe4aea arm64: NEON div and max/min, Go 1.27 mnemonics for sqrt/add/sub/mul; parallelFor findings (#​30)

v0.5.1

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-07.

Commits since v0.5.0:

  • bea7aa9 deps: go-asmgen v0.16.0, regenerated (comments only); README Go badge 1.27.1; loong64 go1.27.1 audit entry (#​29)

v0.5.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-05.

Commits since v0.4.1:

v0.4.1

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-04.

Commits since v0.4.0:

  • c09abb5 perf(gemm): start workers once per product, synchronise on work done (#​26)

v0.4.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-04.

Commits since v0.3.0:

  • 7a2a31f NumPy parity: Sum/Prod over an empty axis, Slice with fewer indices; differential fuzzer (#​25)

v0.3.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-04.

Commits since v0.2.6:

  • 60c7c54 security: validate result shapes, bound empty-array work, guard every asm call; go 1.26.6 (#​24)

v0.2.6

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-04.

Commits since v0.2.5:

  • 2c75fb0 loong64: emit Go's XVMOVQ .V4 broadcast load instead of a WORD (#​23)

v0.2.5

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-04.

Commits since v0.2.4:

  • eafda19 perf: LASX kernels on loong64 (sum, dot, sqrt, elementwise, 8x8 GEMM) (#​22)

v0.2.4

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-04.

Commits since v0.2.3:

  • 51d452b docs(plan): ppc64le has VSX kernels since v0.2.3; scalar targets unmeasured vs NumPy (#​21)

v0.2.3

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-04.

Commits since v0.2.2:

  • cda7d66 perf: VSX kernels on ppc64le (sum, dot, sqrt, elementwise, 8x8 GEMM) (#​20)

v0.2.2

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-04.

Commits since v0.2.1:

  • 8bfeea6 docs: three passages the v0.2.1 docs still had wrong (#​19)

v0.2.1

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-04.

Commits since v0.2.0:

  • 93d51c0 docs: correct overstated claims, cite the Go issues, state measured results (#​18)

v0.2.0

Compare Source

Release backfilled on 2026-10-26; tag created 2026-10-04.

Commits since v0.1.0:

  • c67dabd feat: Workspace, an arena for the results of array operations in loops (#​12)
  • 90d0a5c perf: axis reductions split columns across cores and use the SIMD kernels (#​13)
  • ae279b5 perf: stream a repeated broadcast operand instead of materialising it (#​14)
  • 3f7046f perf: Exp is a port of Arm's optimized-routines exp, 2-3.5x math.Exp (#​15)
  • c405cbe perf: SIMD inner product (AVX2/FMA, NEON) for Dot, MatVec and Dot1DP (#​16)
  • 21afa92 perf: Log is a port of Arm's optimized-routines log; fixes subnormals on amd64 (#​17)
go-scikit/refbench (github.com/go-scikit/refbench)

v0.4.0

Compare Source

Several references per case

Step 1 of #​15. A case can now be measured against several reference implementations, not only one (usually SciPy). The design is in docs/design/multiref.md.

  • Case.Refs: each reference has an ID, a licence, a Timer and an Eval. Each gets its own verdict, and there is a headline verdict against the fastest side.
  • Rotated rounds: rounds follow a Williams (balanced Latin square) order, so every side runs equally often in each position and before or after each other side.
  • Accuracy per reference: the worst ulp against the same mpmath fixtures, with special-value disagreements counted apart.
  • Labels:
    • ahead requires Go to be at least as accurate as the reference, with no special-value disagreement and no lower coverage.
    • Otherwise a faster Go row reads faster-less-accurate.
    • A slower Go row reads behind or tradeoff.
  • Issues: a perf issue is drafted against any faster reference, including a less accurate one.
  • rbw1 worker protocol:
    • plain text, with a fixed function table: nothing read from the pipe is evaluated;
    • float64 input files verified by SHA-256, and a key whose last load did not verify cannot be timed or evaluated;
    • an untimed warm-up call before Calibrate, for JIT runtimes;
    • a single thread, checked against what the worker reports;
    • lines bounded to 4 KiB, a fuzzed parser, and a committed corpus.
  • Julia worker: Julia through a pinned pkgx binary. The version and the Manifest tree hashes are recorded in ref_versions.
  • Compiled-worker skeleton for C++ and Fortran: it reports threads_source, and assumed means unverified.
  • Schema 2 is written only when a case uses several references, and its reader is strict. Without them the output stays schema 1, byte for byte, pinned by golden files. An older refbench refuses a schema 2 file with a clear error.

Not yet (step 2):

  • The SciPy fixture column is not yet checked to reproduce bit for bit.
  • No R worker; R will run through Rscript only.
  • No CI lane runs the Julia worker. An opt-in test is available with REFBENCH_JULIA=1.

Smoke test (one core, 9 rounds, load 7.55–7.69), in ns per element and worst ulp against mpmath:

Go SpecialFunctions.jl Bessels.jl
Gamma 16.1 (0.50) 22.2 13.3
Kv 1201 (3.82) 185 41.7

Testing:

  • CI coverage now uses the covblocks gate, which names every uncovered block.
  • mutsweep v0.8.0 over the changed files, run on the final head:
    • default mode: 95 mutations, 68 caught, 0 caught by PANIC, 27 not mutants, 0 survived, 0 hung;
    • boundary mode: 29 mutations, 29 caught.

PR #​16. Two independent review rounds.

go-simd/floats (github.com/go-simd/floats)

v0.20.0

Compare Source

What's Changed

  • feat: SquaredMagnitude, the power pass of a PSD and a spectrogram (NEON, AVX2) by @​tannevaled in #​56

Full Changelog: go-simd/floats@v0.19.0...v0.20.0

v0.19.0

Compare Source

What's Changed

  • feat: MDCTFold, MDCTUnfold and float32 widen/narrow forms (NEON, AVX2) by @​tannevaled in #​54

Full Changelog: go-simd/floats@v0.18.0...v0.19.0

v0.18.0

Compare Source

What's Changed

  • feat: CMulGather, CMulScatter and float32 widen/narrow forms for the DCT-IV and MDCT twiddle passes (NEON) by @​tannevaled in #​52

Full Changelog: go-simd/floats@v0.17.0...v0.18.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

@tannevaled
tannevaled force-pushed the renovate/deps branch 3 times, most recently from bf05a2c to 613ec76 Compare November 12, 2026 20:56
tannevaled added a commit that referenced this pull request Nov 13, 2026
* deps: go-fft v0.29.0, go-simd/floats v0.17.0, go-asmgen v0.23.2, refbench v0.3.0; bench tidied

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fft: pass Exact and FMA through to go-fft; README names the option; stale arm64 max comment

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fft: test what reaches go-fft through a seam; FMA ignored by float32; arm64 comment names FMAX/FMIN

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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