Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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.2a0

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.2a0
File Size Uploaded
monoprop_bench_tools-0.9.2a0.tar.gz 33.2 kB Details

Built distribution (wheel)

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

Total release size: 65.9 kB

Release files / monoprop_bench_tools-0.9.2a0.tar.gz

Download URL monoprop_bench_tools-0.9.2a0.tar.gz
Size 33.2 kB
Tags Source
SHA-256 checksum
How to use checksums
995a1fe61139f53aee8bf92d479d2a94dea3b9397cd91b6ae23758a0d2a20865
BLAKE2b-256 checksum
How to use checksums
a7ee73632dd6fbff76ee10c86252eb2c3474ab50c2ce5d8e80cb50db520442a9
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 20, 2026.

Transparency log

Release files / monoprop_bench_tools-0.9.2a0-py3-none-any.whl

Download URL monoprop_bench_tools-0.9.2a0-py3-none-any.whl
Size 32.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ef3cac8cd47cad29f9c62678ffc717c3bf06fe5b2043c41757e1b8116c17156
BLAKE2b-256 checksum
How to use checksums
234ee08dfe10cb31332f70946919fdf25a44300593ab6efd7b44bb088961efa6
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 20, 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