Skip to content

Releases: JWSound/BEAT_Engine

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 21 Sep 17:19
Immutable release. Only release title and notes can be modified.
536b165

BEAT Engine 0.2.0

  • Support coupled deployment solves containing multiple speaker packages.
  • Retain transducer surfaces in speaker ROM exports.
  • Support in-memory mesh transport and CUDA worker memory reuse.
  • Improve coupled Metal accuracy and add exact reductions and MUMPS support.

Existing worker and physical-system contracts remain supported. Mixed-package
coupled deployment requests use deployment schema 3; older schemas remain valid.
Applications should adopt this release through a tested dependency-update PR.
Numerical changes were integrated in their original feature PRs; this release
packages those changes without modifying solver implementation or baselines.

Qualification: exact main commit passed Windows/Linux/macOS CPU tests and numerical references, Metal host/MUMPS checks, and the reference sweep. All downloaded artifact checksums verified. Deploy passed 60 Python tests with the downloaded wheel installed. A bounded CUDA mixed-package Coupled solve passed with 2,072 nodes, 4,136 faces, two probes and nine iterations (relative residual 5.1465355e-5). This is a one-frequency smoke check, not full-band or all-device qualification.

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 15 Sep 16:33

BEAT Engine 0.1.4

Patch release for Boundary Lab 0.4.3.

  • Make worker startup interruptible and bounded, and fix submission ownership,
    stream termination, and worker reuse races.
  • Correct the compiled rigid-ground radiator contract and validate coupled
    rigid-ground geometry.
  • Add end-to-end source-request coverage for both phasor conventions.
  • Add opt-in CUDA memory cleanup tools.
  • Apply Ruff formatting and enforce it in CI alongside Python tests, CPU
    numerical tests and references, Metal host checks, and sweep correctness.

The worker protocol and physical-system contract versions remain unchanged.
Accelerator qualification remains a separate hardware-specific workflow.

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 13 Sep 13:19

BEAT Engine 0.1.3

  • Add the public, immutable backend catalog API and python -m beat_engine backends.
    Clients can enumerate backend labels, runtime projects, platforms and solve
    capabilities without launching Julia or probing hardware. Paths and CLI choices
    use the same catalog; unknown backend IDs fail explicitly.
  • Include the Apple Metal backend and source-driver/CPU phasor corrections merged
    since 0.1.2, with regression coverage for both time conventions.
  • Include portable benchmark tooling with Windows reporting and complete accuracy
    comparisons across repeats.

The catalog lists supplied backends, not device availability. Worker negotiation
continues to validate runtime availability and request compatibility at solve time.

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 11 Sep 22:13

BEAT Engine 0.1.2 adds explicit phasor conventions and faster CUDA assembly for exterior and coupled electroacoustic solves.

Changes since 0.1.0:

  • Supports both exp(-i omega t) and exp(+i omega t) throughout assembly, solve, and field evaluation, with capability negotiation and response diagnostics. Unlabelled requests retain negative time for compatibility. Positive-time ROCm worker requests remain blocked pending AMD hardware qualification.
  • Defaults exterior-only CUDA system solves to direct Burton-Miller assembly, sharing one pivoted LU factorization across excitation right-hand sides at each frequency. Set burton_miller_assembly to operator_matrices to use the previous path.
  • Defaults coupled CUDA solves without full diagnostics to combined A/C Burton-Miller assembly, cached sparse interface projection, and fused symmetry images. Full diagnostics retain the original operator path. CPU and ROCm retain their existing assembly paths.
  • Adds coupled assembly controls and effective-mode diagnostics while preserving the existing wire-protocol and result-schema versions.

The documented 200-frequency Multi_region_SAWMOD experiment on an RTX 2080 Ti reduced warmed wall time from approximately 100.2 seconds to 72.4 seconds with combined coupled assembly and sparse projection. This is a workload-specific result, not a general performance guarantee. See coupled CUDA qualification and controls.

The release workflow requires successful Python tests, lint, Julia CPU tests, the standalone CPU reference gate, and package builds on Windows, Linux, and macOS for the release commit. Accelerator qualification remains hardware-specific.

Install the attached wheel into the application's Python environment, then prepare the relevant Julia project with python -m beat_engine instantiate --backend cpu (or cuda/rocm). Julia and GPU drivers are installed separately. Boundary Lab must update its exact package-version check and wheel URL/SHA-256 together. Restart existing application workers after upgrading. No PyPI publication is configured.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 22:01

BEAT Engine 0.1.0 is the first stable package release for Boundary Lab's electroacoustic solvers.

  • Ships the Python worker client, versioned contracts, Julia numerical source, and CPU/CUDA/ROCm project environments in an independently installable wheel.
  • Reuses CUDA FEM symbolic analysis across frequencies when the matrix structure and retained-node partition are unchanged. Numerical factorization still runs at every frequency in FP32.
  • Adds explicit cache ownership, invalidation checks, cleanup, and per-frequency reuse diagnostics.
  • Preserves existing wire-protocol and result-schema versions.

On Multi_region_SAWMOD with an RTX 2080 Ti, three warmed 200-frequency sweeps averaged 100.86 seconds versus 144.04 seconds for the prior installed engine: approximately 30% less wall time. This is a workload-specific result. Nominal-passband complex-pressure differences were comparable to FP32 repeatability; weak out-of-band responses remain sensitive.

Validation includes the 464-check CPU reference gate, 51 CUDA symbolic-reuse checks, and 27 GPU coupled-solve checks. Near-pole tests compare fresh and reused analysis against FP64 with conditioning-scaled tolerances. Accelerator qualification remains hardware-specific.

Install the wheel into the application's Python environment, then prepare the relevant Julia project with python -m beat_engine instantiate --backend cpu (or cuda/rocm). Julia and GPU drivers are installed separately. Boundary Lab must update its exact package-version check and wheel URL/SHA-256 together, and existing application workers must be restarted after an upgrade.

v0.1.0rc1

v0.1.0rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Sep 12:49