Skip to main content

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)

Source distribution for monoprop-bench-tools 0.9.2
File Size Uploaded
monoprop_bench_tools-0.9.2.tar.gz 33.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for monoprop-bench-tools 0.9.2
File Interpreter ABI Platform
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 log

Release 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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page