Repository navigation
Major performance release: systematic hot-path optimization delivering 2.7x CPU / 1.9x GPU environment throughput, plus the new literature-heuristic families and correctness fixes merged since v1.5.1.
Performance (PR #60)
Measured on the canonical RMSA NSFNET benchmark (100 FSU, k=5, KSP-FF):
- Single-env CPU: 16.6K -> 45K steps/s (2.72x)
- Multi-env CPU plateau: 73K -> 222K steps/s
- GPU (H100): 1 env 3.4K -> 11.4K; 4,096 envs 6.3M -> 11.8M steps/s (mixed precision)
- RL training (DeepRMSA, 512 envs): 1.75M -> 2.07M steps/s, compile 27.7s -> 25.4s
Key changes: per-step utilisation/fragmentation moved to per-increment computation; prestate validity check replaces speculative allocate/rescan/undo; fused single-draw request sampling (inverse-CDF; distribution-validated, not bit-identical to prior streams); packed eval info stacking; boolean action-mask dtype tier; integer occupancy tier (int8 under mixed precision); dead observation build skipped in pure-heuristic eval; assorted dtype/trace hygiene. Differentiable paths preserved throughout (soft/straight-through routes verbatim; gradients verified after every change). Full test suite: 2,282 passed.
Heuristics (PRs #46, #59)
- New literature RMSA heuristic families:
ksp_ef,ksp_flf,flf_ksp,ksp_flef,ksp_mscl,mscl_kspwith--mscl_interfering_k(multi-route MSCL interfering sets) - MSCL variants cut service blocking 22-73% vs KSP-FF on DeepRMSA-style benchmarks at ~3-5K steps/s
Fixes
- Episodic load sweeps preserve swept traffic params across auto-resets (#57)
- Time arrays stay float32 under mixed precision, removing a 2x blocking bias (#58)
- Off-policy IAM / reward-centering experiment wave outcomes recorded (#49)
Notes
- Request-stream RNG consumption changed in this release: results are statistically equivalent but not bit-identical to v1.5.x seeds.
- Per-step utilisation/fragmentation metrics are now end-of-increment snapshots (still reported in summaries/CSV/wandb).
🤖 Generated with Claude Code