Skip to content

SCPN Fusion Core v3.9.1 — Rust 0.52μs + QLKNN-10D Real-Data Benchmarks

Choose a tag to compare

@anulum anulum released this 22 Feb 18:52
· 1208 commits to main since this release

Highlights

  • Rust-PID controller at 0.52 μs P50 — 6,600x faster than Python PID (3,431 μs), validated on 1,000-shot stress-test ensemble
  • 5-controller benchmark campaign: PID, H-infinity, NMPC-JAX, Nengo-SNN, Rust-PID — all with latency/disruption/reward metrics
  • Rust transport delegation: Chang-Hinton chi → 4.7x speedup, Sauter bootstrap current → 13.1x speedup with transparent Python fallback
  • NumPy vectorized transport kernels: _gyro_bohm_chi, _explicit_diffusion_rhs, _build_cn_tridiag — all Python for-loops replaced with array ops
  • Caching quick wins: gyro-Bohm coefficient singleton, volume element cache, EpedPedestalModel reuse
  • 11/11 physics benchmarks pass with reproducible results

Controller Stress-Test Results

Controller P50 Latency P95 Latency Disruption Rate
Rust-PID 0.52 us 0.67 us 0%
PID (Python) 3,431 us 3,624 us 0%
H-infinity 3,227 us 3,607 us 100%
NMPC-JAX 45,450 us 49,773 us 0%
Nengo-SNN 23,573 us 24,736 us 0%

What's New

Performance

  • Rust flight sim integrated into stress-test campaign
  • Chang-Hinton neoclassical chi and Sauter bootstrap delegated to Rust with PyO3 bridge
  • Vectorized Crank-Nicolson transport solver (tridiag build, diffusion RHS, gyro-Bohm chi)
  • Module-level caching eliminates repeated file I/O and object instantiation

Numerical Stability

  • Guard nu_star >= 0 before fractional power in Chang-Hinton (prevents NaN)

Infrastructure

  • Fixed version metadata consistency across all 8 release files (CI green)
  • Added scpn-control redirect at top of README
  • Embedded benchmark plots and controller stress-test table in README
  • Fresh RESULTS.md with v3.9.1 header, 11/11 benchmarks, 5-controller data

Full Changelog

See CHANGELOG.md for details.