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-linux       # 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.

License

Apache-2.0. See LICENSE.

Metadata

Release files for monoprop-bench-tools 0.9.1

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.1
File Size Uploaded
monoprop_bench_tools-0.9.1.tar.gz 29.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for monoprop-bench-tools 0.9.1
File Interpreter ABI Platform
monoprop_bench_tools-0.9.1-py3-none-any.whl Python 3 none any Details

Total release size: 59.1 kB

Release files / monoprop_bench_tools-0.9.1.tar.gz

Download URL monoprop_bench_tools-0.9.1.tar.gz
Size 29.2 kB
Tags Source
SHA-256 checksum
How to use checksums
50627d7bd77be3f6c663f44dc32e873c9785271226d097140d71fb550847f3a7
BLAKE2b-256 checksum
How to use checksums
aa705cb0c3aecca9626e1c9d5747bfa87d032be5d985c182d0ef747d8f9a4eba
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 Sep 17, 2026.

Transparency log

Release files / monoprop_bench_tools-0.9.1-py3-none-any.whl

Download URL monoprop_bench_tools-0.9.1-py3-none-any.whl
Size 29.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
69f72f440202c355bc193a6c22195feb7b24a72a494f8a0e4dd334f8d92c6f7d
BLAKE2b-256 checksum
How to use checksums
8880f097653452ea5a29ba1df2ff7acccda6674914b60ac88adcd15266e7ebaf
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 Sep 17, 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