monoprop-bench-tools
The benchmark harness behind monoprop:
the pieces that are reusable outside a single benchmark run, packaged separately
so scripts, notebooks and third-party comparisons can depend on them without
vendoring the repository's benches/ directory.
| Module | What it gives you |
|---|---|
monoprop_bench_tools.memory.cpu |
Exact peak-RSS measurement from the kernel's VmHWM. |
monoprop_bench_tools.memory.gpu |
The device-side counterpart, over CUDA memory-pool counters or a CuPy allocation hook. |
monoprop_bench_tools.models |
Builders for the benchmarked problems: a configurable random problem, a 120-mode Fermi-Hubbard model, and a 127-qubit kicked-Ising model. |
monoprop_bench_tools.report |
Renders a run's artifacts into a side-by-side Markdown report. |
monoprop_bench_tools.bmf |
Renders a run's artifacts into Bencher Metric Format JSON. |
Install
pip install monoprop-bench-tools
GPU support
monoprop_bench_tools.memory.gpu needs CuPy, and only
CuPy. Pick the extra matching your CUDA toolkit:
pip install "monoprop-bench-tools[gpu-cuda12]" # CUDA 12.x
pip install "monoprop-bench-tools[gpu-cuda13]" # CUDA 13.x
Pick one, not both: the two CuPy builds ship the same top-level cupy package.
On a host with no system CUDA toolkit, add CuPy's bundled one with
pip install "cupy-cuda12x[ctk]".
Without CuPy the module still imports, and every reading reports
Method.UNAVAILABLE instead of a figure you might mistake for a real one.
Use
Measure the peak resident footprint of a block, exactly (no sampling):
from monoprop_bench_tools.memory.cpu import HighWaterMark
from monoprop_bench_tools.models import build_hubbard_problem
with HighWaterMark() as hwm:
propagator, circuit = build_hubbard_problem()
propagator.build_graph(circuit)
print(f"{hwm.peak_mb:.0f} MB peak, exact={hwm.exact}")
Render the artifacts of a run:
monoprop-bench-report benches/results # writes REPORT.md
monoprop-bench-bmf benches/results ci-bare-metal-L1 # BMF JSON on stdout
Both read the two files a run leaves in the results directory:
time-<label>.json (pytest-benchmark timings) and <label>.json (memory,
operator sizes, configuration). The schema is documented in the repository's
benches/results/README.md, and written by the suite in benches/conftest.py.
Scope
This package deliberately holds no benchmarks. monoprop's own suite lives in the
repository's benches/ directory, because its benchmark names are the key
Bencher's history is stored under and must not move with a library release.
bmf.benchmark_name maps a pytest node id to the name a metric is exported
under, so that mapping is history-bearing for the same reason: changing it
renames every series it touches.
License
Apache-2.0. See LICENSE.
Metadata
Release files for monoprop-bench-tools 0.9.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| monoprop_bench_tools-0.9.2.tar.gz | 33.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| monoprop_bench_tools-0.9.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 65.9 kB
Release files / monoprop_bench_tools-0.9.2.tar.gz
| Download URL | monoprop_bench_tools-0.9.2.tar.gz |
|---|---|
| Size | 33.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
36413b120abcf1d6222b3d308fb0c393c2f6259ce8759ea1a785d1a9f87ac6cc
|
|
BLAKE2b-256 checksum How to use checksums |
3617ec3b00fd6899f182ccade2f485e58b3c09981295bd97f27b636d86fc317c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / monoprop_bench_tools-0.9.2-py3-none-any.whl
| Download URL | monoprop_bench_tools-0.9.2-py3-none-any.whl |
|---|---|
| Size | 32.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f179c9a2ade245b917cfbae520ffd83b4a6c5819a83af1c43e0e5f3951d5f2ad
|
|
BLAKE2b-256 checksum How to use checksums |
e7c7dcdfae95e4adb569cc4151f4e00ed4223187d953769c875ccb0d3563a27e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency log