Files
SimurgArray/rust/simurg-core/pyproject.toml
T
kemalandClaude Opus 5.5 5bdd41b048
ci / test (3.12) (push) Failing after 9s
ci / test (3.13) (push) Failing after 11s
P9 (WIP): compiled kernels (rust/simurg-core, PyO3) with bit-identical pure-Python fallback
Rust ports of the hot paths found by profiling: fused per-locus GenCall calling
and scoring, BAF/LRR, libm maps with CPython math semantics, both nearest-neighbour
searches of the normalization fit, and the BPM LocusEntry parser. Address
coverage is memoised per IDAT layout. SIMURG_PURE_PYTHON=1 forces the pure paths.
On the Pi: genotype_sample 3.4 s -> 1.1 s, 36-sample GSA run 131 s -> 46 s, BPM
read 4x faster; 36 GSA + 6 Omni2.5 GTCs and QC tables byte-identical to the pure
path; tests/unit/test_core_kernels.py checks every kernel on edge cases.
bench/profile_genotype.py, bench/scaling.py, cloud task p9 (thread scaling).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01814GKVzZVL3FuF3DeiZXhv
2026-09-28 21:28:55 +01:00

15 lines
370 B
TOML

[build-system]
requires = ["maturin>=1.7,<2"]
build-backend = "maturin"
[project]
name = "simurg-core"
description = "Compiled kernels for SimurgArray (optional; the pure-Python paths give identical results)"
requires-python = ">=3.12"
license = { text = "MIT" }
dependencies = ["numpy>=1.26"]
dynamic = ["version"]
[tool.maturin]
features = ["pyo3/extension-module"]