diff --git a/README.md b/README.md index 470ad0c..2dedcba 100644 --- a/README.md +++ b/README.md @@ -7,4 +7,5 @@ represent best practices. Currently, the following examples are provided: - `examples/numpy-spin`: out-of-tree benchmarks for NumPy, using `spin` to build NumPy itself; +- `examples/numpy-revisions`: comparing two revisions of NumPy, each built by `spin` in its own worktree, in one `bx compare`; diff --git a/examples/numpy-revisions/.gitignore b/examples/numpy-revisions/.gitignore new file mode 100644 index 0000000..5156213 --- /dev/null +++ b/examples/numpy-revisions/.gitignore @@ -0,0 +1,3 @@ +__pycache__/ +results/ +store.parquet diff --git a/examples/numpy-revisions/LICENSE b/examples/numpy-revisions/LICENSE new file mode 100644 index 0000000..5dba701 --- /dev/null +++ b/examples/numpy-revisions/LICENSE @@ -0,0 +1,24 @@ +BSD 2-Clause License + +Copyright (c) 2026, Evgeni Burovski + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/examples/numpy-revisions/README.md b/examples/numpy-revisions/README.md new file mode 100644 index 0000000..04e0962 --- /dev/null +++ b/examples/numpy-revisions/README.md @@ -0,0 +1,129 @@ +# Demo BenchX user project: comparing two NumPy revisions + +Compare two revisions of NumPy in one `bx compare`. Each is built with `spin` in a +worktree of its own, so both builds exist at once. benchx runs the benchmark on them +alternately, round by round, in one session, and says whether the second differs from +the first (the `revisions` profile). + +Compared to `numpy-spin`, which benchmarks one build at a time (the full list of +differences is [below](#differences-from-numpy-spin)): + +- `bx compare` runs both sides itself, so there is no loop in the script; +- the environment is activated once, for both sides, and there is **no `PYTHONPATH`**: + the provider reports the directory that holds each build's `numpy`, and pyperf puts + the target's directory first on `sys.path`, so each side imports its own build. + +## Files + +- `provider.py`: the target provider. For a revision of `$NUMPY` it makes a git + worktree under `$WORKTREES`, runs `spin build` in it, and describes the build. + `prepare` builds (nearly a no-op when nothing changed); `describe` builds nothing. +- `numpy_facts.py`: how a numpy was built (BLAS, LAPACK, C compiler, SIMD). The + provider declares these facts, and the collector in `benchx.conf.json` checks that + the benchmark's process sees the same. +- `benchx.conf.json`: the project file: pyperf and its precision, `OPENBLAS_NUM_THREADS=1` + on both sides, the `revisions` profile with 5 rounds, the provider, the collector. +- `bench_linalg.py`: the benchmark, a matrix product. +- `compare.sh`: the driver. `environment.yml`: an environment to build and run in. + +## Running it + +You need a git checkout of NumPy (it is never built in; the builds are in worktrees), +and an environment with NumPy's build requirements, `spin`, pyperf and `bx`: + +``` +$ micromamba create -f environment.yml +$ micromamba activate numpy-revisions +$ pip install -e /path/to/benchx/prototype +``` + +The benchmark file is recorded as the benchmark's own source. If it is not committed, or +has been edited, the comparison still runs and is labeled local-only (it says so before +measuring, and `bx head` marks the results); commit this directory first for a comparison +that is not. Then: + +``` +$ NUMPY=~/repos/numpy ./compare.sh v2.4.0 v2.4.3 +``` + +The two revisions are any tags, branches or commits of `$NUMPY`, or `WORKSPACE`, which +is the checkout in `$NUMPY` itself. That one is built in place and must have its +submodules initialized. It may have uncommitted changes: the comparison is then labeled +local-only, and says which side is not clean before measuring. A checkout git cannot hash, +such as one with an unreadable untracked file, is refused. Local changes in `$NUMPY` do not +matter for the other revisions, which are built in worktrees. The first run builds +both (a few minutes each on a many-core machine); later runs reuse the worktrees, +which are named after the revision and its commit, such as `v2.4.0-c5ab79c14c`. They +stay under `$WORKTREES` (by default `$NUMPY-worktrees`); remove one with +`git -C $NUMPY worktree remove`. + +## What you should see + +``` +run numpy-v2.4.0-vs-v2.4.3 profile revisions baseline edd9d7c22ba2 contender 63d7b31efb1a + edd9d7c22ba2...: how built: {"blas":{"name":"openblas","version":"0.3.34"},"c_compiler":{"name":"gcc","version":"15.3.0"},...} + edd9d7c22ba2...: observed env: OPENBLAS_NUM_THREADS=1 + 63d7b31efb1a...: how built: {"blas":{"name":"openblas","version":"0.3.34"},"c_compiler":{"name":"gcc","version":"15.3.0"},...} + 63d7b31efb1a...: observed env: OPENBLAS_NUM_THREADS=1 + +NO CHANGE DETECTED (1) + bench_matmul wall-time effect +0.06% noise 0.30% rounds=5 +``` + +followed by the stored results, `bx head --table`: five rows for each revision, which +alternate. Both revisions send the matrix product to the same OpenBLAS, so "no change" +is unsurprising. The point is what it was computed from: while this runs, the +benchmark's processes import `v2.4.0-.../build-install/.../numpy` for the baseline and +`v2.4.3-.../build-install/.../numpy` for the contender. + +## Differences from `numpy-spin` + +| | `numpy-spin` | `numpy-revisions` | +|---|---|---| +| **Goal** | Track a benchmark over a series of revisions (`track.sh`), or vary a setting for one build (`num_threads.sh`), and store each run. | Compare two revisions in one `bx compare` and get a verdict. | +| **Command** | `bx bench @numpy ...`, once per revision or setting. | `bx compare @numpy=A @numpy=B`, with benchx running both sides. | +| **Builds** | One build, in place in `$NUMPY/build-install`. `track.sh` checks out, rebuilds and runs each revision in turn, so two builds never exist at once. | One git worktree per revision under `$WORKTREES`, so both builds exist at once. | +| **Provider** | Builds nothing and ignores the request. It describes the build in `$BUILD` and refuses it if it isn't the checkout's HEAD. | Handles `prepare` and `describe`. It reads the requested revision, creates the worktree, runs `spin build`, and takes a lock. It makes the same HEAD check. | +| **Target path** | The build root, `build-install`. | The `site-packages` directory that holds `numpy`. | +| **Getting numpy imported** | The script exports `PYTHONPATH=$BUILD/usr/lib/python3.12/site-packages/`. That works for one build, but it can't serve two. | No `PYTHONPATH`. The target's directory comes first on `sys.path`, and a stale exported one is harmless. | +| **Collector facts** | `numpy_version`, the full `show_config`, `imported_from_target` and a summary. Fine for storing results, but the version fails `sides-agree` in a `revisions` comparison. | BLAS, LAPACK, compiler and SIMD, plus `imported_from_target`, so the two sides agree if both builds were configured alike. It imports from the working directory instead of relying on `PYTHONPATH`. | +| **Thread setting** | `num_threads.sh` varies `OPENBLAS_NUM_THREADS` across runs, to see its effect. | Fixed at 1 for both sides, in `benchx.conf.json`. The config also sets the `revisions` profile and 5 rounds. | +| **Output** | `bx head --table`: one run per revision. A later `bx compare` cannot pair them: it reads one run, which has to hold both sides, and `track.sh` makes a run per revision. | A verdict (`NO CHANGE DETECTED`, effect and noise) plus the table. | +| **Extras** | The results and the store, in `results/` and `store.parquet`. | `environment.yml`, a `.gitignore` for the results and the store, `compare.sh`, and this README with expected output. | + +Shared: the `bench_linalg.py` suite (a copy), the LICENSE, the pyperf adapter and its +precision settings, the project and source URI, and the provider-plus-collector +structure with `verify: how_built` and `expect: imported_from_target`. + +## Notes + +- **The collector holds no numpy version, on purpose.** benchx matches a collector's + facts between the two sides of a `revisions` comparison, which may differ in nothing + but the revision. With the version among the facts (as in `numpy-spin`), comparing + two different versions fails with `sides-agree`. The facts here are the build configuration, so + the sides agree only if both builds were configured alike (same BLAS, same compiler, + same SIMD), which is also worth knowing before trusting a comparison. +- **The collector checks where numpy is imported from, instead of which version.** + `imported_from_target` is true when the numpy that `numpy_facts.py` imports lives + under the target's directory, and `benchx.conf.json` expects it (`expect`, with + `on_fail: refuse`). Both sides print the same, so `sides-agree` has nothing to object + to, but each is computed against its own target, so the run is refused if a side would + import a numpy that is not its own build. With the `site-packages` directory as the + target that cannot happen here, because `provider.py` has checked that the package is + in it; the check is for a provider that reports the build root (as `numpy-spin` does, + with an exported `PYTHONPATH`) and for an environment with a numpy of its own on the + path. It emulates the benchmark's import, and the benchmark's own process is not + observed. +- **The target is the `site-packages` directory, not `build-install`.** benchx's tests + (`test_build_import_path.py`) show on a toy package laid out like a `spin` build that, + with the build directory as the target and nothing exported, `import` fails in every + case, and that with one `PYTHONPATH` exported both sides import the build it names, + without the comparison noticing. Here an exported `PYTHONPATH` is harmless: a run with + one pointing at the baseline's build still imported each side's own numpy, because the + target's directory comes first. +- **Python and the build must match.** `python` on the `PATH` runs the benchmark, so it + must be the Python `spin` built with, here 3.12; the environment provides both. +- **One provider call at a time.** Initializing the submodules of two worktrees at once + fails on a lock in the shared `.git/config`, so `provider.py` takes a lock. `bx compare` + prepares its two sides one after the other anyway. +- Tried with Python 3.12, `spin` 0.15, OpenBLAS 0.3.34, GCC 15.3 on Linux. diff --git a/examples/numpy-revisions/bench_linalg.py b/examples/numpy-revisions/bench_linalg.py new file mode 100644 index 0000000..db87984 --- /dev/null +++ b/examples/numpy-revisions/bench_linalg.py @@ -0,0 +1,8 @@ +import numpy as np + +N = 400 +a = np.eye(N) +b = np.ones((N, N)) + +def bench_matmul(): + return np.matmul(a, b) diff --git a/examples/numpy-revisions/benchx.conf.json b/examples/numpy-revisions/benchx.conf.json new file mode 100644 index 0000000..be396b7 --- /dev/null +++ b/examples/numpy-revisions/benchx.conf.json @@ -0,0 +1,62 @@ +{ + "schema_version": "benchx/config/0.1.0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git" + }, + "adapter": { + "name": "pyperf", + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 20 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + } + }, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "compare": { + "profile": "revisions", + "rounds": 5 + }, + "provider": { + "command": [ + "python", + "provider.py" + ] + }, + "collectors": { + "numpy-build": { + "command": [ + "python", + "{root}/numpy_facts.py" + ], + "verify": "how_built", + "expect": { + "imported_from_target": true + }, + "on_fail": "refuse" + } + } +} diff --git a/examples/numpy-revisions/compare.sh b/examples/numpy-revisions/compare.sh new file mode 100755 index 0000000..5ac5b96 --- /dev/null +++ b/examples/numpy-revisions/compare.sh @@ -0,0 +1,21 @@ +# compare two numpy revisions in one `bx compare`, each built by `spin` in a worktree of its own +# +# usage: ./compare.sh [BASELINE [CONTENDER]] (tags, branches or commits of $NUMPY) +# +# The provider (provider.py) builds both revisions, and reports each build's +# site-packages directory as the target, so each side of the comparison imports its own +# numpy: there is no PYTHONPATH to set. The environment is activated once, for both. +set -euo pipefail +cd "$(dirname "$0")" + +export NUMPY=${NUMPY:-~/repos/numpy} # a git checkout of numpy; never built in +export WORKTREES=${WORKTREES:-$NUMPY-worktrees} # where the provider makes one worktree per revision +BASELINE=${1:-v2.4.0} +CONTENDER=${2:-v2.4.3} + +# threads, rounds and the revisions profile are in benchx.conf.json +bx compare "@numpy=$BASELINE" "@numpy=$CONTENDER" \ + --suite "$PWD/bench_linalg.py" --run-key "numpy-$BASELINE-vs-$CONTENDER" + +# the stored results, one row per side +bx head --table diff --git a/examples/numpy-revisions/environment.yml b/examples/numpy-revisions/environment.yml new file mode 100644 index 0000000..4b826e0 --- /dev/null +++ b/examples/numpy-revisions/environment.yml @@ -0,0 +1,26 @@ +# To use: +# +# $ micromamba create -f environment.yml # `conda env create` works too +# $ micromamba activate numpy-revisions +# $ pip install -e /path/to/benchx/prototype # `bx` +# +# NumPy's own build requirements (its environment.yml, without the docs and lint +# tools), plus what benchx needs: pyperf for the benchmark, pyarrow for the store. +name: numpy-revisions +channels: + - conda-forge +dependencies: + - python=3.12 # the provider's builds and the benchmark must use the same Python + - cython>=3.0 + - compilers + - openblas + - nomkl + - ninja + - pkg-config + - meson-python + - spin==0.15 + - ccache + - git + - pyperf + - pyarrow + - pip diff --git a/examples/numpy-revisions/numpy_facts.py b/examples/numpy-revisions/numpy_facts.py new file mode 100644 index 0000000..cb6374b --- /dev/null +++ b/examples/numpy-revisions/numpy_facts.py @@ -0,0 +1,62 @@ +"""Print how the numpy that this Python imports was built, as one JSON object. + +Both the provider (provider.py, which declares these facts as the target's how_built) +and the collector (collectors in benchx.conf.json, which observes them in the workers' +environment) run this script, so the two can only differ if the environment does. + + blas, lapack name and version of the library numpy was built against + c_compiler name and version of the C compiler + simd_baseline, simd_found the SIMD extensions numpy was built for, and detected + imported_from_target whether the numpy imported here lives under the directory + this runs in, the target's. An observation, not a fact about the build + summary the same, for the results + +There is no numpy version here, on purpose. benchx matches a collector's facts between +the two sides of a revisions comparison, which may differ in nothing but the revision, +so facts that name the version would make every comparison fail. Here the sides agree +only if both builds were configured alike, which is what a comparison of two revisions +wants to know. + +`imported_from_target` checks which build is imported without naming it. It is true on +both sides, so `sides-agree` has nothing to object to, but it is computed against each +side's own target directory: it is false when the numpy that gets imported is not in the +side's own build, such as another numpy that PYTHONPATH or the environment provides when +the target is not the directory that holds the package. The collector's `expect` in +benchx.conf.json then refuses the run. This emulates the benchmark's import (it puts the +target first on sys.path, as pyperf does for the benchmark, after the suite's own +directory); the benchmark's own process is not observed. +""" + +import json +import sys +from pathlib import Path + +# The directory this runs in holds the package (benchx runs collectors in the target's +# directory, as pyperf puts it first on sys.path for the benchmark), so import from there. +target = Path.cwd().resolve() +sys.path.insert(0, str(target)) + +import numpy # noqa: E402 + +config = numpy.show_config(mode="dicts") +dependencies = config.get("Build Dependencies", {}) +compilers = config.get("Compilers", {}) +simd = config.get("SIMD Extensions", {}) + + +def named(entry): + return {key: entry.get(key) for key in ("name", "version")} + + +facts = { + "blas": named(dependencies.get("blas", {})), + "lapack": named(dependencies.get("lapack", {})), + "c_compiler": named(compilers.get("c", {})), + "simd_baseline": simd.get("baseline"), + "simd_found": simd.get("found"), +} +imported_from_target = Path(numpy.__file__).resolve().is_relative_to(target) +if not imported_from_target: + print(f"numpy was imported from {numpy.__file__}, which is not under {target}", file=sys.stderr) +print(json.dumps({**facts, "imported_from_target": imported_from_target, + "summary": {**facts, "imported_from_target": imported_from_target}}, sort_keys=True)) diff --git a/examples/numpy-revisions/provider.py b/examples/numpy-revisions/provider.py new file mode 100755 index 0000000..ee9c40a --- /dev/null +++ b/examples/numpy-revisions/provider.py @@ -0,0 +1,111 @@ +#!/usr/bin/env python3 +"""Target provider for numpy: builds a revision with `spin`, in a worktree of its own. + +benchx runs this with a JSON request on stdin and reads one target description from +stdout (progress and errors go to stderr). `source_ref` is a revision of the numpy +checkout $NUMPY (a tag, a branch, a commit), or WORKSPACE for $NUMPY itself. + +Every other revision gets a git worktree under $WORKTREES, named after the commit. +`spin build` writes `build/` and `build-install/` inside the checkout it runs in, so +two worktrees are two builds that exist at once, which a comparison needs. + + prepare creates the worktree if there is none and runs `spin build` in it + (incremental: nearly a no-op when nothing changed) + describe builds nothing; reports a build made before, and fails if there is none + +The target is the directory that holds the built package, +`build-install/usr/lib/python3.X/site-packages`, and not the build directory: pyperf +puts the target's directory first on `sys.path` for the benchmark, so each side +imports its own build, in one shared environment, with no PYTHONPATH. + +how_built is an object: how numpy was built (numpy_facts.py). The collector in +benchx.conf.json asks the same of the benchmark's process, and the run is refused if +the two differ. The collector also expects `imported_from_target`: that the numpy +imported from the target is the one in it (numpy_facts.py says why). The provider also refuses to describe a numpy that is not the +checkout's HEAD: the version of a numpy built from git ends in the commit's hash, and +a release build is the checkout's tag. +""" + +import fcntl +import json +import os +import re +import subprocess +import sys +from pathlib import Path + +here = Path(__file__).resolve().parent +numpy_dir = Path(os.environ.get("NUMPY", "~/repos/numpy")).expanduser() +worktrees = Path(os.environ.get("WORKTREES", f"{numpy_dir}-worktrees")).expanduser() + + +def fail(message): + sys.exit(f"provider.py: {message}") + + +def run(*args, cwd): + """A command whose output is progress: it goes to stderr, stdout is the answer.""" + try: + subprocess.run(args, cwd=cwd, check=True, stdout=sys.stderr) + except (OSError, subprocess.CalledProcessError) as e: + fail(f"`{' '.join(args)}` failed in {cwd}: {e}") + + +def git(cwd, *args): + return subprocess.run(["git", "-C", str(cwd), *args], capture_output=True, text=True).stdout.strip() + + +request = json.load(sys.stdin) +operation, ref = request["operation"], request["source_ref"] +if not (numpy_dir / ".git").exists(): + fail(f"{numpy_dir} is not a git checkout of numpy: set NUMPY") + +if ref == "WORKSPACE": + checkout = numpy_dir +else: + commit = git(numpy_dir, "rev-parse", "--verify", "--quiet", f"{ref}^{{commit}}") + if not commit: + fail(f"{ref!r} is not a revision of {numpy_dir}") + checkout = worktrees / f"{re.sub(r'[^A-Za-z0-9._-]+', '-', ref)}-{commit[:10]}" + +if operation == "prepare": + # Two providers at once would race on the shared .git/config while initializing submodules. + worktrees.mkdir(parents=True, exist_ok=True) + with open(worktrees / ".provider.lock", "w") as lock: + fcntl.flock(lock, fcntl.LOCK_EX) + if not checkout.exists(): + run("git", "worktree", "add", "--detach", str(checkout), commit, cwd=numpy_dir) + run("git", "submodule", "update", "--init", cwd=checkout) + run("spin", "build", cwd=checkout) +elif not checkout.exists(): + fail(f"no worktree for {ref!r}: nothing was prepared") + +packages = [p for p in sorted((checkout / "build-install").glob("**/site-packages")) if (p / "numpy").is_dir()] +if len(packages) != 1: + fail(f"expected one site-packages with numpy under {checkout}/build-install, found {len(packages)}") +package = packages[0] + +# Run in the package directory: numpy_facts.py imports the numpy it finds there. +done = subprocess.run([sys.executable, str(here / "numpy_facts.py")], cwd=package, capture_output=True, text=True) +if done.returncode: + fail(f"the numpy in {package} did not report its facts:\n{done.stderr.strip()}") +facts = json.loads(done.stdout) +facts.pop("summary") # readable extras for the results, not part of the declaration +if not facts.pop("imported_from_target"): # an observation, which the collector repeats in the workers + fail(f"importing numpy in {package} did not find the numpy in it:\n{done.stderr.strip()}") + +# The version spin wrote when it built, read without importing: it is not among the facts. +version = re.search(r"""^version = ["']([^"']+)["']""", (package / "numpy" / "version.py").read_text(), re.M)[1] +head = git(checkout, "rev-parse", "HEAD") +built_from = re.search(r"git\d+\.([0-9a-f]+)", version) +if not (built_from and head.startswith(built_from[1])) and git(checkout, "describe", "--tags", "--exact-match") != f"v{version}": + fail(f"numpy {version} in {package} is not the checkout's HEAD {head[:10]}: rebuild") + +print(json.dumps({ + "schema_version": "benchx/target-description/0.1.0", + "target": {"kind": "build", "path": str(package), + "source": {"uri": "https://github.com/numpy/numpy.git", "type": "git"}, + "source_dir": str(checkout)}, + "how_built": facts, + "provider": {"name": "provider.py", "version": "1"}, +}, indent=1)) diff --git a/examples/numpy-spin/README.md b/examples/numpy-spin/README.md index 3719155..03b9dca 100644 --- a/examples/numpy-spin/README.md +++ b/examples/numpy-spin/README.md @@ -11,9 +11,16 @@ In both cases: - benchmark project configuration (`benchx.conf.json`) - "target provider" stores build information - "environment collector" collects runtime info and check consistency - ("am I benchmarking the version I think I am benchmarking" kind of question). + ("am I benchmarking the version I think I am benchmarking" kind of question). It also + checks that the numpy it finds lives in `$BUILD` (`imported_from_target`): a numpy of + the same version installed elsewhere passes the version check, and is refused here. - storing the results according to the schema. +The runs here cannot be compared afterwards with `bx compare`, which reads one run +that holds both sides, while `track.sh` makes a run per revision. To compare two +revisions of NumPy in a single `bx compare`, with both `spin` builds side by side and +no `PYTHONPATH`, see [`numpy-revisions`](../numpy-revisions/). + ## Tracking example Note that here we use `spin` to build numpy, and run benchmarks separately. If you control diff --git a/examples/numpy-spin/benchx.conf.json b/examples/numpy-spin/benchx.conf.json index 2248370..0d3e97f 100644 --- a/examples/numpy-spin/benchx.conf.json +++ b/examples/numpy-spin/benchx.conf.json @@ -46,6 +46,9 @@ "{root}/numpy_facts.py" ], "verify": "how_built", + "expect": { + "imported_from_target": true + }, "on_fail": "refuse" } } diff --git a/examples/numpy-spin/numpy_facts.py b/examples/numpy-spin/numpy_facts.py index 9b8910e..611c02c 100644 --- a/examples/numpy-spin/numpy_facts.py +++ b/examples/numpy-spin/numpy_facts.py @@ -6,10 +6,19 @@ numpy_version numpy.__version__ show_config numpy.show_config(mode="dicts"): compiler, BLAS/LAPACK, SIMD, ... + imported_from_target whether that numpy lives under the directory this runs in, + the target's ($BUILD). An observation, not a fact about the build summary a few readable facts; collectors put these in each result + +`imported_from_target` is false when PYTHONPATH does not lead into the build, and the +numpy found is another one, such as an installed numpy of the same version, which the +version check cannot tell from the build. The provider and the collector's `expect` in +benchx.conf.json refuse the run then. """ import json +import sys +from pathlib import Path import numpy @@ -23,9 +32,15 @@ def named(entry): return {key: entry.get(key) for key in ("name", "version")} +target = Path.cwd().resolve() +imported_from_target = Path(numpy.__file__).resolve().is_relative_to(target) +if not imported_from_target: + print(f"numpy was imported from {numpy.__file__}, which is not under {target}", file=sys.stderr) + print(json.dumps({ "numpy_version": numpy.__version__, "show_config": config, + "imported_from_target": imported_from_target, "summary": { "numpy_version": numpy.__version__, "blas": named(dependencies.get("blas", {})), @@ -33,5 +48,6 @@ def named(entry): "c_compiler": named(compilers.get("c", {})), "simd_baseline": simd.get("baseline"), "simd_found": simd.get("found"), + "imported_from_target": imported_from_target, }, }, sort_keys=True)) diff --git a/examples/numpy-spin/provider.py b/examples/numpy-spin/provider.py index 07f1f66..f7be947 100755 --- a/examples/numpy-spin/provider.py +++ b/examples/numpy-spin/provider.py @@ -7,7 +7,9 @@ how_built is an object: what numpy says about itself, asked of the Python that PATH and PYTHONPATH select, in $BUILD (numpy_facts.py). The collector in benchx.conf.json asks -the same of the benchmark's environment, and the run is refused if the two differ. +the same of the benchmark's environment, and the run is refused if the two differ. Both +also require `imported_from_target`: that this numpy lives in $BUILD, which a numpy of +the same version installed elsewhere would not. The provider also refuses to describe a numpy that is not the checkout's HEAD (a build not redone after `git checkout`): the version of a numpy built from git ends in the @@ -34,6 +36,9 @@ sys.exit(f"provider.py: numpy in {build_dir} did not report its facts:\n{done.stderr.strip()}") facts = json.loads(done.stdout) facts.pop("summary") # readable extras for the results, not part of the declaration +if not facts.pop("imported_from_target"): # an observation, which the collector repeats in the workers + sys.exit(f"provider.py: the numpy that PATH and PYTHONPATH select is not the one in {build_dir}:\n" + f"{done.stderr.strip()}\nPYTHONPATH should lead into the build's site-packages") def git(*args): diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.driver.py new file mode 100644 index 0000000..3d7769a --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.native.json new file mode 100644 index 0000000..e875025 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.native.json @@ -0,0 +1,189 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 64, + "cpu_freq": "0=4129 MHz; 1,12,32-33,35,56=3700 MHz; 2-7,9-11,13-31,34,36-46,48-55,59-63=2200 MHz; 8=4125 MHz; 47=4119 MHz; 57=4123 MHz; 58=4120 MHz", + "date": "2026-10-27 09:26:09.782073", + "duration": 0.7224540654569864, + "load_avg_1min": 2.73, + "runnable_threads": 3, + "uptime": 7226708.784464836 + }, + "warmups": [ + [ + 1, + 0.0032492810860276222 + ], + [ + 2, + 0.0024176607839763165 + ], + [ + 4, + 0.0021969126537442207 + ], + [ + 8, + 0.002206487930379808 + ], + [ + 16, + 0.002199147886130959 + ], + [ + 32, + 0.0021949577785562724 + ], + [ + 64, + 0.0021921182051301003 + ], + [ + 64, + 0.0021912569500273094 + ], + [ + 64, + 0.0021921264997217804 + ], + [ + 64, + 0.0021906477340962738 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,2-3,6-7,9-10,12-15,17-23,25-33,36-38,40-42,45-46,48-49,51-55,57-63=2200 MHz; 1,16=3700 MHz; 4=4119 MHz; 5=2049 MHz; 8=2851 MHz; 11=4118 MHz; 24=4160 MHz; 34=4153 MHz; 35=2800 MHz; 39=2067 MHz; 43=4155 MHz; 44=2942 MHz; 47=4150 MHz; 50=2057 MHz; 56=4127 MHz", + "date": "2026-10-27 09:26:10.513826", + "duration": 0.5862390212714672, + "load_avg_1min": 2.73, + "runnable_threads": 3, + "uptime": 7226709.515767336 + }, + "values": [ + 0.002201214898377657, + 0.002202516479883343, + 0.002203240859671496 + ], + "warmups": [ + [ + 64, + 0.002225631309556775 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,2-3,5-7,9-11,13-17,20-22,25-31,33,36-46,48,50-56,59-60,62-63=2200 MHz; 1,8,12,24,32,49=3700 MHz; 4=4103 MHz; 18,47=4125 MHz; 19=2356 MHz; 23=3865 MHz; 34=3719 MHz; 35=2800 MHz; 57=4117 MHz; 58=2062 MHz; 61=3968 MHz", + "date": "2026-10-27 09:26:11.244818", + "duration": 0.5858969464898109, + "load_avg_1min": 2.73, + "runnable_threads": 3, + "uptime": 7226710.246739626 + }, + "values": [ + 0.00219300996104721, + 0.00219756001024507, + 0.002191512889112346 + ], + "warmups": [ + [ + 64, + 0.002249134558951482 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-3,6-7,9-11,13-17,19-33,36-37,39-44,46-57,59-60,62-63=2200 MHz; 4,12,45=3700 MHz; 5=2056 MHz; 8=4094 MHz; 18=2124 MHz; 34=4124 MHz; 35,61=4125 MHz; 38=3425 MHz; 58=4116 MHz", + "date": "2026-10-27 09:26:11.983890", + "duration": 0.5933860912919044, + "load_avg_1min": 2.75, + "runnable_threads": 3, + "uptime": 7226710.9857571125 + }, + "values": [ + 0.0022296604001894593, + 0.0022304915328277275, + 0.002230454789241776 + ], + "warmups": [ + [ + 64, + 0.0022598278301302344 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1,3-7,9-11,13-17,19-21,23,25,27-33,35-43,45-53,55-56,60,62-63=2200 MHz; 2=4096 MHz; 8=4093 MHz; 12,22,44,57,59=3700 MHz; 18=2071 MHz; 24,61=4125 MHz; 26=4128 MHz; 34=4123 MHz; 54=2715 MHz; 58=2053 MHz", + "date": "2026-10-27 09:26:12.724256", + "duration": 0.5964460903778672, + "load_avg_1min": 2.75, + "runnable_threads": 3, + "uptime": 7226711.726805925 + }, + "values": [ + 0.002249145822133869, + 0.002250578167149797, + 0.0022510666312882677 + ], + "warmups": [ + [ + 64, + 0.0022378065914381295 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-7,9-11,13,15-19,21-24,26-28,31-32,35-45,47-55,58-59,61-63=2200 MHz; 8,20=4097 MHz; 12,25,33-34,56-57=3700 MHz; 14=3571 MHz; 29=4147 MHz; 30=4149 MHz; 46=2063 MHz; 60=2072 MHz", + "date": "2026-10-27 09:26:13.459101", + "duration": 0.5905241649597883, + "load_avg_1min": 2.75, + "runnable_threads": 4, + "uptime": 7226712.461546898 + }, + "values": [ + 0.0022052286803955212, + 0.0022029919491615146, + 0.0022390503727365285 + ], + "warmups": [ + [ + 64, + 0.0022308410407276824 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "6b316393a88a1d41b140618edcd42a923bd26c5062d2c7defbd68080d5dc177f", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "loops": 64, + "mem_max_rss": 44040192, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.stdout new file mode 100644 index 0000000..d3d0d7a --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 2.22 ms +- 0.02 ms diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.worker-env.json new file mode 100644 index 0000000..8da7b44 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "1" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.driver.py new file mode 100644 index 0000000..98fe0c4 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.native.json new file mode 100644 index 0000000..7bb0b25 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.native.json @@ -0,0 +1,189 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 64, + "cpu_freq": "0,3,5-7,10-23,25-33,35-40,43,45,47-48,50-52,54-61,63=2200 MHz; 1=2703 MHz; 2=3468 MHz; 4=4062 MHz; 8=4075 MHz; 9=2077 MHz; 24=2800 MHz; 34,44=3700 MHz; 41=2049 MHz; 42=2055 MHz; 46=4085 MHz; 49=2199 MHz; 53=2134 MHz; 62=2196 MHz", + "date": "2026-10-27 09:27:19.232874", + "duration": 0.7273783283308148, + "load_avg_1min": 4.22, + "runnable_threads": 3, + "uptime": 7226778.235237122 + }, + "warmups": [ + [ + 1, + 0.0033967429772019386 + ], + [ + 2, + 0.0024602259509265423 + ], + [ + 4, + 0.002215052954852581 + ], + [ + 8, + 0.0022140881046652794 + ], + [ + 16, + 0.0022152168094180524 + ], + [ + 32, + 0.0022078898909967393 + ], + [ + 64, + 0.0022076745372032747 + ], + [ + 64, + 0.002209014885011129 + ], + [ + 64, + 0.0022078267065808177 + ], + [ + 64, + 0.0021929026261204854 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1,3,5-7,10-23,25-27,29-32,34-43,47-61,63=2200 MHz; 2,44=3700 MHz; 4=4079 MHz; 8=4078 MHz; 9=2055 MHz; 24,28=2800 MHz; 33=4093 MHz; 45=4098 MHz; 46=3802 MHz; 62=1865 MHz", + "date": "2026-10-27 09:27:19.965814", + "duration": 0.5879429625347257, + "load_avg_1min": 4.22, + "runnable_threads": 4, + "uptime": 7226778.968363285 + }, + "values": [ + 0.0021977025317028165, + 0.0022306143800960854, + 0.0021932592062512413 + ], + "warmups": [ + [ + 64, + 0.0022267511958489195 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=3273 MHz; 1=3554 MHz; 2,8,12,16,26,33-34,44=3700 MHz; 3,6-7,9-11,13-15,18-25,27-32,35,37-39,41-43,45-48,50-53,55-61,63=2200 MHz; 4,40=4100 MHz; 5=2073 MHz; 17,49=2057 MHz; 36=3753 MHz; 54=2199 MHz; 62=4090 MHz", + "date": "2026-10-27 09:27:20.700946", + "duration": 0.5905088949948549, + "load_avg_1min": 4.22, + "runnable_threads": 4, + "uptime": 7226779.7031002045 + }, + "values": [ + 0.002224985364591703, + 0.0022450428368756548, + 0.0021957359567750245 + ], + "warmups": [ + [ + 64, + 0.0022239286627154797 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1,3,5-6,8-9,11-15,17-19,22-25,27-29,31-32,35-39,41-57,59,61-63=2200 MHz; 2,16,26,33-34=3700 MHz; 4=4065 MHz; 7=2083 MHz; 10=2077 MHz; 20=4073 MHz; 21=3315 MHz; 30=3034 MHz; 40=4120 MHz; 58=4110 MHz; 60=2253 MHz", + "date": "2026-10-27 09:27:21.427622", + "duration": 0.583059229888022, + "load_avg_1min": 4.22, + "runnable_threads": 3, + "uptime": 7226780.430205584 + }, + "values": [ + 0.002187118196161464, + 0.002180556854000315, + 0.002178590584662743 + ], + "warmups": [ + [ + 64, + 0.002231441409094259 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-3,5-10,13-16,19-36,38-39,41-54,56-57,60-63=2200 MHz; 4=4041 MHz; 11,17-18,37=2800 MHz; 12=3700 MHz; 40=4029 MHz; 55=4055 MHz; 58=4050 MHz; 59=4046 MHz", + "date": "2026-10-27 09:27:22.161807", + "duration": 0.5899324668571353, + "load_avg_1min": 4.12, + "runnable_threads": 3, + "uptime": 7226781.164275169 + }, + "values": [ + 0.0022146436967886984, + 0.0022096909815445542, + 0.002204806703957729 + ], + "warmups": [ + [ + 64, + 0.0022431771940318868 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-3,6-11,14-23,25-34,36-39,41-44,46-49,52-58,60-63=2200 MHz; 4,40=4075 MHz; 5=2075 MHz; 12-13,45,51=3700 MHz; 24=3305 MHz; 35=4071 MHz; 50=2056 MHz; 59=4086 MHz", + "date": "2026-10-27 09:27:22.890680", + "duration": 0.5826056441292167, + "load_avg_1min": 4.12, + "runnable_threads": 3, + "uptime": 7226781.893141031 + }, + "values": [ + 0.002189391350839287, + 0.002191518258769065, + 0.0021837694075657055 + ], + "warmups": [ + [ + 64, + 0.0022101431823102757 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "6b316393a88a1d41b140618edcd42a923bd26c5062d2c7defbd68080d5dc177f", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "loops": 64, + "mem_max_rss": 44040192, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.stdout new file mode 100644 index 0000000..d1bbea8 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 2.20 ms +- 0.02 ms diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.worker-env.json new file mode 100644 index 0000000..8da7b44 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "1" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.driver.py new file mode 100644 index 0000000..54e63bd --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.native.json new file mode 100644 index 0000000..8a7674c --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.native.json @@ -0,0 +1,184 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 64, + "cpu_freq": "0-11,13-15,17-23,25-29,32-35,37-58,60-63=2200 MHz; 12=4128 MHz; 16,36=4135 MHz; 24=2691 MHz; 30=3700 MHz; 31=2057 MHz; 59=4149 MHz", + "date": "2026-10-27 09:26:27.088562", + "duration": 0.7275723330676556, + "runnable_threads": 3, + "uptime": 7226726.091068745 + }, + "warmups": [ + [ + 1, + 0.0032555116340517998 + ], + [ + 2, + 0.0024508056230843067 + ], + [ + 4, + 0.0022140105720609426 + ], + [ + 8, + 0.0022123679518699646 + ], + [ + 16, + 0.0022156512131914496 + ], + [ + 32, + 0.0022126204858068377 + ], + [ + 64, + 0.0021996514551574364 + ], + [ + 64, + 0.0021937891870038584 + ], + [ + 64, + 0.002222570954472758 + ], + [ + 64, + 0.0021987979853292927 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-6,9-15,17-24,27-31,33,35,38-63=2200 MHz; 7=2097 MHz; 8,36=4128 MHz; 16=4135 MHz; 25=2892 MHz; 26=3859 MHz; 32,34=3700 MHz; 37=2086 MHz", + "date": "2026-10-27 09:26:27.820773", + "duration": 0.5879731345921755, + "runnable_threads": 3, + "uptime": 7226726.823615551 + }, + "values": [ + 0.0022018433519406244, + 0.0022000973985996097, + 0.002189043501857668 + ], + "warmups": [ + [ + 64, + 0.002253439466585405 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-7,11,13-15,17,19-21,23-25,28-31,34-59,61-63=2200 MHz; 8=2179 MHz; 9=2184 MHz; 10=2199 MHz; 12=4078 MHz; 16=4100 MHz; 18=2062 MHz; 22=2129 MHz; 26=4090 MHz; 27=2051 MHz; 32,60=3700 MHz; 33=4095 MHz", + "date": "2026-10-27 09:26:28.545295", + "duration": 0.5799805950373411, + "runnable_threads": 3, + "uptime": 7226727.547991037 + }, + "values": [ + 0.0021575035789282992, + 0.0021740344091085717, + 0.0021884931629756466 + ], + "warmups": [ + [ + 64, + 0.0022056887100916356 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-11,13-15,17-23,25-31,34-58,60-63=2200 MHz; 12=4105 MHz; 16=4075 MHz; 24=4121 MHz; 32=3700 MHz; 33=4123 MHz; 59=4147 MHz", + "date": "2026-10-27 09:26:29.274528", + "duration": 0.5853683520108461, + "runnable_threads": 3, + "uptime": 7226728.276937008 + }, + "values": [ + 0.002198227055487223, + 0.0021895478857913986, + 0.002188256476074457 + ], + "warmups": [ + [ + 64, + 0.002240718065877445 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,2-4,6-11,13-15,17-23,25,27-28,30-32,34,36-50,52-58,60-63=2200 MHz; 1=1867 MHz; 5=2196 MHz; 12=4106 MHz; 16=4105 MHz; 24=4135 MHz; 26=2063 MHz; 29=2067 MHz; 33=3587 MHz; 35=2800 MHz; 51=2057 MHz; 59=3700 MHz", + "date": "2026-10-27 09:26:29.996344", + "duration": 0.5789439417421818, + "runnable_threads": 5, + "uptime": 7226728.999167919 + }, + "values": [ + 0.0021763980330433697, + 0.0021753462933702394, + 0.0021625908266287297 + ], + "warmups": [ + [ + 64, + 0.0021964014158584177 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,2-6,8-11,13-15,17,19-35,37,39-63=2200 MHz; 1=4148 MHz; 7=2274 MHz; 12,16=4111 MHz; 18=2099 MHz; 36=3556 MHz; 38=3473 MHz", + "date": "2026-10-27 09:26:30.716799", + "duration": 0.5779393091797829, + "runnable_threads": 3, + "uptime": 7226729.7198450565 + }, + "values": [ + 0.0021653163275914267, + 0.0021615073492284864, + 0.00215598481008783 + ], + "warmups": [ + [ + 64, + 0.00219509749149438 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "6b316393a88a1d41b140618edcd42a923bd26c5062d2c7defbd68080d5dc177f", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "load_avg_1min": 3.15, + "loops": 64, + "mem_max_rss": 44040192, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.stdout new file mode 100644 index 0000000..e5ed1ff --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 2.18 ms +- 0.02 ms diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.worker-env.json new file mode 100644 index 0000000..8da7b44 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "1" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.driver.py new file mode 100644 index 0000000..50142ff --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.native.json new file mode 100644 index 0000000..8825dab --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.native.json @@ -0,0 +1,189 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 64, + "cpu_freq": "0,5-7,9-12,14-15,18-19,21-25,27-29,34-57,59,61-63=2200 MHz; 1,3-4,13,30-33,60=3700 MHz; 2=2053 MHz; 8,20,26=4100 MHz; 16=4099 MHz; 17=3686 MHz; 58=2198 MHz", + "date": "2026-10-27 09:26:44.461262", + "duration": 0.7286525601521134, + "load_avg_1min": 3.11, + "runnable_threads": 3, + "uptime": 7226743.463102102 + }, + "warmups": [ + [ + 1, + 0.0033866018056869507 + ], + [ + 2, + 0.002427035942673683 + ], + [ + 4, + 0.002210590522736311 + ], + [ + 8, + 0.0022200518287718296 + ], + [ + 16, + 0.0022455803118646145 + ], + [ + 32, + 0.002212971157860011 + ], + [ + 64, + 0.002210334569099359 + ], + [ + 64, + 0.002212975377915427 + ], + [ + 64, + 0.002213405867223628 + ], + [ + 64, + 0.0022140083456179127 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,2-3,5,7,10-12,14-15,18-19,21-23,25-27,29,31,34-39,41-57,59-63=2200 MHz; 1,20,28,30,32-33,58=3700 MHz; 4=4123 MHz; 6=2063 MHz; 8,24=4082 MHz; 9=2050 MHz; 13=3128 MHz; 16=4111 MHz; 17=2968 MHz; 40=4101 MHz", + "date": "2026-10-27 09:26:45.192122", + "duration": 0.585754569619894, + "load_avg_1min": 3.11, + "runnable_threads": 3, + "uptime": 7226744.194236517 + }, + "values": [ + 0.002208901263657026, + 0.002195599692640826, + 0.002196254543378018 + ], + "warmups": [ + [ + 64, + 0.0022165149566717446 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=2050 MHz; 1,4,33,46,51,53,58=3700 MHz; 2-3,8-9,11-15,17-22,25-32,34,36-44,48,50,52,54-57,59-62=2200 MHz; 5,45=2057 MHz; 6=4127 MHz; 7=2893 MHz; 10,47,63=2800 MHz; 16,24=4136 MHz; 23=2052 MHz; 35=2056 MHz; 49=3521 MHz", + "date": "2026-10-27 09:26:45.926505", + "duration": 0.5897745499387383, + "load_avg_1min": 3.11, + "runnable_threads": 3, + "uptime": 7226744.928436756 + }, + "values": [ + 0.0022128106793388724, + 0.0022119048953754827, + 0.0022123466042103246 + ], + "warmups": [ + [ + 64, + 0.0022418587032007053 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=2056 MHz; 1,3,35,63=3700 MHz; 2=2224 MHz; 4=4046 MHz; 5,7,9-11,14-15,17,19-23,25-27,29-34,37-48,50-56,60-62=2200 MHz; 6,49=2050 MHz; 8=2908 MHz; 12=4103 MHz; 13=2892 MHz; 16,24=4099 MHz; 18,57=2049 MHz; 28=2911 MHz; 36=4105 MHz; 58=3332 MHz; 59=2053 MHz", + "date": "2026-10-27 09:26:46.663292", + "duration": 0.5937392013147473, + "load_avg_1min": 3.11, + "runnable_threads": 3, + "uptime": 7226745.666180611 + }, + "values": [ + 0.0022240752005018294, + 0.00222452160960529, + 0.002222046590759419 + ], + "warmups": [ + [ + 64, + 0.002247156109660864 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=2077 MHz; 1-11,14-15,17-23,25-34,36-63=2200 MHz; 12=4153 MHz; 13=2922 MHz; 16,24=4158 MHz; 35=3732 MHz", + "date": "2026-10-27 09:26:47.392410", + "duration": 0.583659652620554, + "load_avg_1min": 3.1, + "runnable_threads": 4, + "uptime": 7226746.394390106 + }, + "values": [ + 0.002203136493335478, + 0.002179624338168651, + 0.0021727003186242655 + ], + "warmups": [ + [ + 64, + 0.002228066194220446 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=2052 MHz; 1-15,17-19,21-23,25-27,29,32-34,36-44,47-62=2200 MHz; 16=4078 MHz; 20,28,45,63=3700 MHz; 24,31=4098 MHz; 30=4107 MHz; 35=4086 MHz; 46=2057 MHz", + "date": "2026-10-27 09:26:48.125829", + "duration": 0.5880556395277381, + "load_avg_1min": 3.1, + "runnable_threads": 3, + "uptime": 7226747.127913952 + }, + "values": [ + 0.0022057543392293155, + 0.002210697522968985, + 0.002210349717643112 + ], + "warmups": [ + [ + 64, + 0.0022206037683645263 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "6b316393a88a1d41b140618edcd42a923bd26c5062d2c7defbd68080d5dc177f", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "loops": 64, + "mem_max_rss": 44040192, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.stdout new file mode 100644 index 0000000..bfddf48 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 2.21 ms +- 0.01 ms diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.worker-env.json new file mode 100644 index 0000000..8da7b44 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "1" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.driver.py new file mode 100644 index 0000000..bf40443 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.native.json new file mode 100644 index 0000000..f9009ce --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.native.json @@ -0,0 +1,189 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 64, + "cpu_freq": "0-3,5-11,13-15,18,20-23,25-31,33-38,42-44,46,48-51,53-54,56-59,61-62=2200 MHz; 4,16=4150 MHz; 12,17,24,45,52,60=3700 MHz; 19=2452 MHz; 32=4139 MHz; 39=2075 MHz; 40=4153 MHz; 41=4140 MHz; 47=4141 MHz; 55=2224 MHz; 63=2800 MHz", + "date": "2026-10-27 09:27:01.831202", + "duration": 0.7256623348221183, + "load_avg_1min": 4.43, + "runnable_threads": 4, + "uptime": 7226760.833655357 + }, + "warmups": [ + [ + 1, + 0.0032863114029169083 + ], + [ + 2, + 0.002433620858937502 + ], + [ + 4, + 0.002229458186775446 + ], + [ + 8, + 0.0022238357923924923 + ], + [ + 16, + 0.0022172080352902412 + ], + [ + 32, + 0.002214798063505441 + ], + [ + 64, + 0.002208809703006409 + ], + [ + 64, + 0.0022020378964953125 + ], + [ + 64, + 0.0022051545092836022 + ], + [ + 64, + 0.0021897575788898394 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-11,13-15,17-23,25-27,29-31,33-39,41-44,46,48-58,60-63=2200 MHz; 12,45=3700 MHz; 16,24=4100 MHz; 28=2504 MHz; 32=4090 MHz; 40=4112 MHz; 47=4089 MHz; 59=3821 MHz", + "date": "2026-10-27 09:27:02.561500", + "duration": 0.5860904874280095, + "load_avg_1min": 4.4, + "runnable_threads": 4, + "uptime": 7226761.563634157 + }, + "values": [ + 0.0021975795534672216, + 0.0022076263994676992, + 0.0021978417498758063 + ], + "warmups": [ + [ + 64, + 0.002222656592493877 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-8,10-15,17-23,25,28-31,33-46,48-63=2200 MHz; 9=3801 MHz; 16=4177 MHz; 24=3700 MHz; 26=3988 MHz; 27=4163 MHz; 32=4165 MHz; 47=4144 MHz", + "date": "2026-10-27 09:27:03.286313", + "duration": 0.5799017678946257, + "load_avg_1min": 4.4, + "runnable_threads": 4, + "uptime": 7226762.288672924 + }, + "values": [ + 0.0021758795919595286, + 0.002165733210858889, + 0.0021643394720740616 + ], + "warmups": [ + [ + 64, + 0.0022133474267320707 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-5,7-10,13-15,17-19,21,25-26,28-31,33-46,48-60=2200 MHz; 6=2197 MHz; 11-12,16,27=3700 MHz; 20=4125 MHz; 22=2050 MHz; 23=2174 MHz; 24=4126 MHz; 32=4128 MHz; 47=4139 MHz; 61=4094 MHz; 62=3728 MHz; 63=2193 MHz", + "date": "2026-10-27 09:27:04.017574", + "duration": 0.5855513596907258, + "load_avg_1min": 4.4, + "runnable_threads": 6, + "uptime": 7226763.020472288 + }, + "values": [ + 0.0021954707917757332, + 0.002190895887906663, + 0.002198940666858107 + ], + "warmups": [ + [ + 64, + 0.0022231948969420046 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-4,6-7,9-11,13-14,16-19,21-23,25-31,33-44,46-47,49-61,63=2200 MHz; 5=2216 MHz; 8=4087 MHz; 12,24,45,48=3700 MHz; 15=3346 MHz; 20=4100 MHz; 32=4090 MHz; 62=3283 MHz", + "date": "2026-10-27 09:27:04.752013", + "duration": 0.5886716488748789, + "load_avg_1min": 4.4, + "runnable_threads": 4, + "uptime": 7226763.754860878 + }, + "values": [ + 0.0022101151844253764, + 0.00220779562368989, + 0.002200821472797543 + ], + "warmups": [ + [ + 64, + 0.0022396057174773887 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-3,5-7,9-11,13-14,17-25,27-28,30-31,33-45,47-50,52-63=2200 MHz; 4,8=4099 MHz; 12,15=3700 MHz; 16=2053 MHz; 26=3420 MHz; 29=2800 MHz; 32=4106 MHz; 46=2057 MHz; 51=3939 MHz", + "date": "2026-10-27 09:27:05.488074", + "duration": 0.588687239214778, + "load_avg_1min": 4.4, + "runnable_threads": 5, + "uptime": 7226764.490603924 + }, + "values": [ + 0.0022118639753898606, + 0.0022119724162621424, + 0.0022088557889219373 + ], + "warmups": [ + [ + 64, + 0.0022385908669093624 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "6b316393a88a1d41b140618edcd42a923bd26c5062d2c7defbd68080d5dc177f", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "loops": 64, + "mem_max_rss": 44040192, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.stdout new file mode 100644 index 0000000..d1bbea8 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 2.20 ms +- 0.02 ms diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.worker-env.json new file mode 100644 index 0000000..8da7b44 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "1" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-0.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-0.json new file mode 100644 index 0000000..9df1a72 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-0.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-1:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D:load-average:slot-0", + "attempt_key": "urn:benchx:attempt:8cdccc3af2af4577:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 2.73 + ] + }, + "procedure": { + "round": 0, + "slot": 0 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-1", + "started_at": "2026-10-27T09:26:08.856937Z", + "ended_at": "2026-10-27T09:26:13.531190Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:8cdccc3af2af45779b67069a0978de760d4503146de42e8863015e1967d397fe", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-12.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-12.json new file mode 100644 index 0000000..bc0cab0 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-12.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-1:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D:load-average:slot-12", + "attempt_key": "urn:benchx:attempt:ad08b0ae6f878574:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 4.22 + ] + }, + "procedure": { + "round": 4, + "slot": 12 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-1", + "started_at": "2026-10-27T09:27:18.300513Z", + "ended_at": "2026-10-27T09:27:22.972393Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:ad08b0ae6f878574e95285c1f1cd81d17f05ce3814ee82b64063bab74d7183a5", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-3.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-3.json new file mode 100644 index 0000000..93bfe05 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-3.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-1:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D:load-average:slot-3", + "attempt_key": "urn:benchx:attempt:4ec943b99a41a058:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 3.16 + ] + }, + "procedure": { + "round": 1, + "slot": 3 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-1", + "started_at": "2026-10-27T09:26:26.156454Z", + "ended_at": "2026-10-27T09:26:30.799590Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:4ec943b99a41a058d971332eee4349f7538f3cef6d136e58ca61281d81064323", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-6.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-6.json new file mode 100644 index 0000000..43b6f32 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-6.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-1:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D:load-average:slot-6", + "attempt_key": "urn:benchx:attempt:9a9a0b4b07026d2e:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 3.11 + ] + }, + "procedure": { + "round": 2, + "slot": 6 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-1", + "started_at": "2026-10-27T09:26:43.524999Z", + "ended_at": "2026-10-27T09:26:48.207814Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:9a9a0b4b07026d2e1e4d799de975969b81a3a2d375013ba50c3455504385ab7d", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-9.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-9.json new file mode 100644 index 0000000..8aff55d --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_load-average_slot-9.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-1:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D:load-average:slot-9", + "attempt_key": "urn:benchx:attempt:88b206c85a45011c:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 4.43 + ] + }, + "procedure": { + "round": 3, + "slot": 9 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-1", + "started_at": "2026-10-27T09:27:00.898787Z", + "ended_at": "2026-10-27T09:27:05.569439Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:88b206c85a45011cfc768cb0c9efb3561f7b708a77ce147095145a8263fc2753", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-0.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-0.json new file mode 100644 index 0000000..fb464da --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-0.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-1:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D:wall-time:slot-0", + "attempt_key": "urn:benchx:attempt:8cdccc3af2af4577:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.002201214898377657, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.002202516479883343, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.002203240859671496, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.00219300996104721, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.00219756001024507, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.002191512889112346, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.0022296604001894593, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.0022304915328277275, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.002230454789241776, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.002249145822133869, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.002250578167149797, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0022510666312882677, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0022052286803955212, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.0022029919491615146, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.0022390503727365285, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 64, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 4.674253, + "round": 0, + "slot": 0, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-1", + "started_at": "2026-10-27T09:26:08.856937Z", + "ended_at": "2026-10-27T09:26:13.531190Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.native.json", + "sha256": "9a491ea54ddbaefa99b68cd82adf36b6f3a66b3712d300a61d82899e98f330c1" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.stdout", + "sha256": "530baff66a8ebd2e11bb5aec108b2f6166c948eb7c4316f5486590175dfa4690" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.driver.py", + "sha256": "a9015b6df7efc2b46ca4bdcce1f45841fad9628acd7f3826ac1afdd7d92fbb23" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/0000.worker-env.json", + "sha256": "b0937bd0a42b89bf7ac3153e15838aaed30aa9f74b525acb947a577f470c98de" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-0/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:8cdccc3af2af45779b67069a0978de760d4503146de42e8863015e1967d397fe", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-12.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-12.json new file mode 100644 index 0000000..f779733 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-12.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-1:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D:wall-time:slot-12", + "attempt_key": "urn:benchx:attempt:ad08b0ae6f878574:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0021977025317028165, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0022306143800960854, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.0021932592062512413, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.002224985364591703, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.0022450428368756548, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0021957359567750245, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.002187118196161464, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.002180556854000315, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.002178590584662743, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.0022146436967886984, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.0022096909815445542, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.002204806703957729, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.002189391350839287, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.002191518258769065, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.0021837694075657055, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 64, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 4.671879, + "round": 4, + "slot": 12, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-1", + "started_at": "2026-10-27T09:27:18.300513Z", + "ended_at": "2026-10-27T09:27:22.972393Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.native.json", + "sha256": "7b77c0bb637fcbc793e4040519a01cf49c82be71e24311efd7b8e70a3c154848" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.stdout", + "sha256": "397698dba48e6b101e31b377513b6305ea6eca904c132434942ecbde773cc554" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.driver.py", + "sha256": "9c25cc693516e620a1f62b875215ccfce76002ddc6f543ad81168906f22b55d7" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/0000.worker-env.json", + "sha256": "b0937bd0a42b89bf7ac3153e15838aaed30aa9f74b525acb947a577f470c98de" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-12/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:ad08b0ae6f878574e95285c1f1cd81d17f05ce3814ee82b64063bab74d7183a5", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-3.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-3.json new file mode 100644 index 0000000..06ea179 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-3.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-1:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D:wall-time:slot-3", + "attempt_key": "urn:benchx:attempt:4ec943b99a41a058:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0022018433519406244, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0022000973985996097, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.002189043501857668, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0021575035789282992, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.0021740344091085717, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0021884931629756466, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.002198227055487223, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.0021895478857913986, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.002188256476074457, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.0021763980330433697, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.0021753462933702394, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0021625908266287297, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0021653163275914267, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.0021615073492284864, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.00215598481008783, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 64, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 4.643136, + "round": 1, + "slot": 3, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-1", + "started_at": "2026-10-27T09:26:26.156454Z", + "ended_at": "2026-10-27T09:26:30.799590Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.native.json", + "sha256": "c2ae0bcfe80a8c1fd144f3dda719c87e92137b2807460c739c3c03c6efed0d9d" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.stdout", + "sha256": "b5927f41eb7cfe2883f79b483b1087133e9d55d1cfae851674d137b06ee57203" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.driver.py", + "sha256": "193a37e726e0774098670b2e655e38f84415c5e3f9f2d88bad9d90ae8ca1ce10" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/0000.worker-env.json", + "sha256": "b0937bd0a42b89bf7ac3153e15838aaed30aa9f74b525acb947a577f470c98de" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-3/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:4ec943b99a41a058d971332eee4349f7538f3cef6d136e58ca61281d81064323", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-6.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-6.json new file mode 100644 index 0000000..3030db5 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-6.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-1:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D:wall-time:slot-6", + "attempt_key": "urn:benchx:attempt:9a9a0b4b07026d2e:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.002208901263657026, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.002195599692640826, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.002196254543378018, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0022128106793388724, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.0022119048953754827, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0022123466042103246, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.0022240752005018294, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.00222452160960529, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.002222046590759419, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.002203136493335478, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.002179624338168651, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0021727003186242655, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0022057543392293155, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.002210697522968985, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.002210349717643112, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 64, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 4.682816, + "round": 2, + "slot": 6, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-1", + "started_at": "2026-10-27T09:26:43.524999Z", + "ended_at": "2026-10-27T09:26:48.207814Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.native.json", + "sha256": "8740d6a9e7c9dcbc483c4ba19adb4628d91880388fb1be3fe743606686fdd0b0" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.stdout", + "sha256": "e3baa142b4e314266709d42dcbc961a2af43acee199d29e943e1bd0e9262a64d" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.driver.py", + "sha256": "486f8cfda8d5157c35d9bfc39848bb762cf1743fe68079cf76a3b2724287ed54" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/0000.worker-env.json", + "sha256": "b0937bd0a42b89bf7ac3153e15838aaed30aa9f74b525acb947a577f470c98de" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-6/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:9a9a0b4b07026d2e1e4d799de975969b81a3a2d375013ba50c3455504385ab7d", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-9.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-9.json new file mode 100644 index 0000000..8d9df97 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/numpy-6e1aca7eda-threads-1_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D_wall-time_slot-9.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-1:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%221%22%7D:wall-time:slot-9", + "attempt_key": "urn:benchx:attempt:88b206c85a45011c:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "1" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0021975795534672216, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0022076263994676992, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.0021978417498758063, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0021758795919595286, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.002165733210858889, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0021643394720740616, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.0021954707917757332, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.002190895887906663, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.002198940666858107, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.0022101151844253764, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.00220779562368989, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.002200821472797543, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0022118639753898606, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.0022119724162621424, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.0022088557889219373, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 64, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 4.670652, + "round": 3, + "slot": 9, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-1", + "started_at": "2026-10-27T09:27:00.898787Z", + "ended_at": "2026-10-27T09:27:05.569439Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.native.json", + "sha256": "c28dc4ee4f74012fbe684745b556ff9913e3492795b70f90e00894ba568acdf9" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.stdout", + "sha256": "397698dba48e6b101e31b377513b6305ea6eca904c132434942ecbde773cc554" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.driver.py", + "sha256": "6cf959a343e828176c0c8aaa512385195c319286ffaa1b5d0f5a6ccd305e618b" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/0000.worker-env.json", + "sha256": "b0937bd0a42b89bf7ac3153e15838aaed30aa9f74b525acb947a577f470c98de" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/artifacts/slot-9/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:88b206c85a45011cfc768cb0c9efb3561f7b708a77ce147095145a8263fc2753", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0000.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0000.json new file mode 100644 index 0000000..fdfbd63 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0000.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:617040d2-5596-4fcd-88ee-8d20b50344ec", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-1", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 0, + "slot": 0, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0003.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0003.json new file mode 100644 index 0000000..43cbd79 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0003.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:61c56d97-1599-49ec-88ee-ab55d236bd8a", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-1", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 1, + "slot": 3, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0006.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0006.json new file mode 100644 index 0000000..eb3d6c7 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0006.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:afdd6855-3225-4ed3-9957-743d0468992e", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-1", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 2, + "slot": 6, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0009.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0009.json new file mode 100644 index 0000000..166ba53 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0009.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:aa557b39-9d54-495a-a098-1a762bda731e", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-1", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 3, + "slot": 9, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0012.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0012.json new file mode 100644 index 0000000..7d8b83e --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/orders/order-0012.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:31982243-2731-4ff3-8a23-acc12d8667bc", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-1", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 4, + "slot": 12, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-4ec943b99a41a058d971332eee4349f7538f3cef6d136e58ca61281d81064323.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-4ec943b99a41a058d971332eee4349f7538f3cef6d136e58ca61281d81064323.json new file mode 100644 index 0000000..43cbd79 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-4ec943b99a41a058d971332eee4349f7538f3cef6d136e58ca61281d81064323.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:61c56d97-1599-49ec-88ee-ab55d236bd8a", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-1", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 1, + "slot": 3, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-7f67af903d9a5d0479e6e61faa7180b3eb9a9ee3769f7078a877059e934f0aca.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-7f67af903d9a5d0479e6e61faa7180b3eb9a9ee3769f7078a877059e934f0aca.json new file mode 100644 index 0000000..6c68251 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-7f67af903d9a5d0479e6e61faa7180b3eb9a9ee3769f7078a877059e934f0aca.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:8211749f-3d8d-42a7-b9f8-914442dcaa42", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-1", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 0, + "slot": 0, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-88b206c85a45011cfc768cb0c9efb3561f7b708a77ce147095145a8263fc2753.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-88b206c85a45011cfc768cb0c9efb3561f7b708a77ce147095145a8263fc2753.json new file mode 100644 index 0000000..166ba53 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-88b206c85a45011cfc768cb0c9efb3561f7b708a77ce147095145a8263fc2753.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:aa557b39-9d54-495a-a098-1a762bda731e", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-1", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 3, + "slot": 9, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-8cdccc3af2af45779b67069a0978de760d4503146de42e8863015e1967d397fe.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-8cdccc3af2af45779b67069a0978de760d4503146de42e8863015e1967d397fe.json new file mode 100644 index 0000000..fdfbd63 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-8cdccc3af2af45779b67069a0978de760d4503146de42e8863015e1967d397fe.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:617040d2-5596-4fcd-88ee-8d20b50344ec", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-1", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 0, + "slot": 0, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-9a9a0b4b07026d2e1e4d799de975969b81a3a2d375013ba50c3455504385ab7d.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-9a9a0b4b07026d2e1e4d799de975969b81a3a2d375013ba50c3455504385ab7d.json new file mode 100644 index 0000000..eb3d6c7 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-9a9a0b4b07026d2e1e4d799de975969b81a3a2d375013ba50c3455504385ab7d.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:afdd6855-3225-4ed3-9957-743d0468992e", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-1", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 2, + "slot": 6, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-a4fda71530adee94465dcf42decb320e164a57c8ec1b487288b01261a3bd4a0b.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-a4fda71530adee94465dcf42decb320e164a57c8ec1b487288b01261a3bd4a0b.json new file mode 100644 index 0000000..2978c4e --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-a4fda71530adee94465dcf42decb320e164a57c8ec1b487288b01261a3bd4a0b.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:b6040cbd-63d6-470c-b91f-eee2c8505279", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-1", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 0, + "slot": 0, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-ad08b0ae6f878574e95285c1f1cd81d17f05ce3814ee82b64063bab74d7183a5.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-ad08b0ae6f878574e95285c1f1cd81d17f05ce3814ee82b64063bab74d7183a5.json new file mode 100644 index 0000000..7d8b83e --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-ad08b0ae6f878574e95285c1f1cd81d17f05ce3814ee82b64063bab74d7183a5.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:31982243-2731-4ff3-8a23-acc12d8667bc", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-1", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 4, + "slot": 12, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-cbd5078148cef3cde1fab5778823d1458284e26e9c6488010dcf5cab383a8299.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-cbd5078148cef3cde1fab5778823d1458284e26e9c6488010dcf5cab383a8299.json new file mode 100644 index 0000000..9e3e3f4 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-1/workorder-cbd5078148cef3cde1fab5778823d1458284e26e9c6488010dcf5cab383a8299.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:8b221d52-2b0f-4198-bc15-fb24f49b8d0a", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-1", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 1, + "slot": 3, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "1" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.driver.py new file mode 100644 index 0000000..03d313f --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.native.json new file mode 100644 index 0000000..c8ddaaf --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.native.json @@ -0,0 +1,197 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 256, + "cpu_freq": "0,7,18,24,42=4075 MHz; 1,3-6,8-13,15-16,19-23,25-27,29-33,35-37,39-41,43,47-51,54-55,57-58,60-62=2200 MHz; 2,17,34,45-46=3700 MHz; 14,53=4055 MHz; 28,38,44,56,63=4054 MHz; 52=4065 MHz; 59=3912 MHz", + "date": "2026-10-27 09:23:33.023027", + "duration": 0.6450814958661795, + "mem_max_rss": 43515904, + "runnable_threads": 12, + "uptime": 7226552.0255458355 + }, + "warmups": [ + [ + 1, + 0.0020749466493725777 + ], + [ + 2, + 0.0010681385174393654 + ], + [ + 4, + 0.0005018939264118671 + ], + [ + 8, + 0.0004792873514816165 + ], + [ + 16, + 0.0004791979445144534 + ], + [ + 32, + 0.0004794313572347164 + ], + [ + 64, + 0.0004792798135895282 + ], + [ + 128, + 0.00048125223838724196 + ], + [ + 256, + 0.0004965388834534679 + ], + [ + 256, + 0.0004820454523724038 + ], + [ + 256, + 0.00048001363029470667 + ], + [ + 256, + 0.0004799626913154498 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,2-5,7-9,11,13,16-17,19-22,24-30,34,36-43,46-49,53-54,57,62-63=2200 MHz; 1,10,12,14,55,60-61=4075 MHz; 6=2198 MHz; 15,18,31-33,44-45,58=3700 MHz; 23=4074 MHz; 35,50-51,59=4054 MHz; 52=2038 MHz; 56=4055 MHz", + "date": "2026-10-27 09:23:33.711968", + "duration": 0.5420089066028595, + "mem_max_rss": 42991616, + "runnable_threads": 12, + "uptime": 7226552.714355469 + }, + "values": [ + 0.0005062671261839569, + 0.0005144686001585796, + 0.0005031056425650604 + ], + "warmups": [ + [ + 256, + 0.0005109032426844351 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1,14,16,25,41,60-61=4075 MHz; 2-5,8-9,11,15,17-19,21-22,24,26-31,33-34,36-37,39-40,42-50,52-53,55-57,62=2200 MHz; 6=2800 MHz; 7=2720 MHz; 10=2716 MHz; 12=2038 MHz; 13=2085 MHz; 20=2025 MHz; 23,38=4054 MHz; 32=4081 MHz; 35=3700 MHz; 51=2041 MHz; 54=2035 MHz; 58=2723 MHz; 59=4063 MHz; 63=2708 MHz", + "date": "2026-10-27 09:23:34.398281", + "duration": 0.5412265677005053, + "mem_max_rss": 42467328, + "runnable_threads": 11, + "uptime": 7226553.401015043 + }, + "values": [ + 0.0005006482679164037, + 0.0005031899418099783, + 0.0005159886204637587 + ], + "warmups": [ + [ + 256, + 0.000510226127516944 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1=4100 MHz; 2-9,11-13,15-19,21-30,32-34,36,38-42,46-48,50-57,60-61=2200 MHz; 10=4051 MHz; 14=4052 MHz; 20,31=4053 MHz; 35=3700 MHz; 37,43,45,49,62=4075 MHz; 44=4073 MHz; 58=2039 MHz; 59=4054 MHz; 63=2800 MHz", + "date": "2026-10-27 09:23:35.060950", + "duration": 0.5168294291943312, + "mem_max_rss": 43515904, + "runnable_threads": 11, + "uptime": 7226554.063492537 + }, + "values": [ + 0.0004807478981092572, + 0.00048128567868843675, + 0.0004806312208529562 + ], + "warmups": [ + [ + 256, + 0.0004904243105556816 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,11,56=4054 MHz; 1-2,4-5,10,13,15,17-20,22-24,27-29,32-37,39-48,50-51,54,57-58,61-62=2200 MHz; 3,25,53=2800 MHz; 6,16,49,52,60,63=4075 MHz; 7=2027 MHz; 8=2039 MHz; 9=4055 MHz; 12,31=3700 MHz; 14=4074 MHz; 21=2099 MHz; 26=2049 MHz; 30=4077 MHz; 38=4048 MHz; 55=2037 MHz; 59=2032 MHz", + "date": "2026-10-27 09:23:35.742610", + "duration": 0.5361197432503104, + "mem_max_rss": 43515904, + "runnable_threads": 11, + "uptime": 7226554.745068312 + }, + "values": [ + 0.0005035243557358626, + 0.0005003272490284871, + 0.0004998846270609647 + ], + "warmups": [ + [ + 256, + 0.0005058703245595098 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,8,16,20,38,49,56,59=4075 MHz; 1,4-7,9-13,15,17-19,21-24,26,28,31-36,39-43,48,51-54,57-58,60-63=2200 MHz; 2,25=2800 MHz; 3=2036 MHz; 14,27,50=3700 MHz; 29=4055 MHz; 30,47=4054 MHz; 37=2037 MHz; 44=4077 MHz; 45=3402 MHz; 46=3710 MHz; 55=2026 MHz", + "date": "2026-10-27 09:23:36.419759", + "duration": 0.5318042282015085, + "mem_max_rss": 42807296, + "runnable_threads": 11, + "uptime": 7226555.421755552 + }, + "values": [ + 0.0004965066946169827, + 0.0004954482428729534, + 0.000497082441142993 + ], + "warmups": [ + [ + 256, + 0.00050493187882239 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "d63793d9d48ab8a57d08076439216c3238205e7e364180e7ec81058953107098", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "load_avg_1min": 1.89, + "loops": 256, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.stdout new file mode 100644 index 0000000..2fb4b1a --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 499 us +- 11 us diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.worker-env.json new file mode 100644 index 0000000..71d103f --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "10" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.driver.py new file mode 100644 index 0000000..1f68b5d --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.native.json new file mode 100644 index 0000000..64e7d33 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.native.json @@ -0,0 +1,197 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 256, + "cpu_freq": "0=4063 MHz; 1,3-7,9,11,13,15-16,18-21,23-26,28-31,33,35,38-39,41-46,49,51-54,56,58,61-62=2200 MHz; 2,27,47=3700 MHz; 8=2359 MHz; 10,57=4049 MHz; 12,22,37=4029 MHz; 14=2035 MHz; 17,32,34,40,50,59-60,63=4050 MHz; 36=2421 MHz; 48=4052 MHz; 55=2029 MHz", + "date": "2026-10-27 09:27:13.283784", + "duration": 0.6658964892849326, + "mem_max_rss": 42913792, + "runnable_threads": 12, + "uptime": 7226772.286169767 + }, + "warmups": [ + [ + 1, + 0.0015723807737231255 + ], + [ + 2, + 0.0008923811838030815 + ], + [ + 4, + 0.0005051635671406984 + ], + [ + 8, + 0.000503918738104403 + ], + [ + 16, + 0.0005014838534407318 + ], + [ + 32, + 0.000502319831866771 + ], + [ + 64, + 0.0005037324881413952 + ], + [ + 128, + 0.0005015079950680956 + ], + [ + 256, + 0.000504108851600904 + ], + [ + 256, + 0.0005016117465856951 + ], + [ + 256, + 0.000500965255923802 + ], + [ + 256, + 0.0005012115070712753 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=4068 MHz; 1,27,47,60=3700 MHz; 2-9,13-14,16-17,19-20,22-26,28-31,33-37,39-44,46,48-50,52-57,63=2200 MHz; 10-11=4023 MHz; 12=4025 MHz; 15,18,32=4059 MHz; 21,38=4058 MHz; 45,59=4074 MHz; 51=4054 MHz; 58,61-62=4075 MHz", + "date": "2026-10-27 09:27:13.967326", + "duration": 0.5389385297894478, + "mem_max_rss": 43515904, + "runnable_threads": 12, + "uptime": 7226772.969669819 + }, + "values": [ + 0.0005017714356654324, + 0.0005013161935494281, + 0.000500713380461093 + ], + "warmups": [ + [ + 256, + 0.0005100204871268943 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=4037 MHz; 1-4,6-11,14,16-17,21-22,24,27-31,34-37,41,43-60,63=2200 MHz; 5,12=4058 MHz; 13=4059 MHz; 15=3700 MHz; 18-19,40,42,62=4054 MHz; 20=4073 MHz; 23,25-26=4075 MHz; 32=4055 MHz; 33=2480 MHz; 38=2458 MHz; 39=3572 MHz; 61=4079 MHz", + "date": "2026-10-27 09:27:14.651296", + "duration": 0.5377257447689772, + "mem_max_rss": 43515904, + "runnable_threads": 12, + "uptime": 7226773.654048443 + }, + "values": [ + 0.0005020533171773423, + 0.0005005102102586534, + 0.0005023052362957969 + ], + "warmups": [ + [ + 256, + 0.0005096904060337692 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=4046 MHz; 1-5,9-10,13-17,19,22-23,26-27,29-31,34-35,38-39,41,43-50,52,55-57,59-63=2200 MHz; 6,11=2025 MHz; 7=2038 MHz; 8=4036 MHz; 12,24-25,32,40,51=4050 MHz; 18=4038 MHz; 20=2178 MHz; 21=2753 MHz; 28=4030 MHz; 33,53=3700 MHz; 36-37,42,54=4049 MHz; 58=2024 MHz", + "date": "2026-10-27 09:27:15.328949", + "duration": 0.5319824321195483, + "mem_max_rss": 42991616, + "runnable_threads": 13, + "uptime": 7226774.331474543 + }, + "values": [ + 0.0004962514467479195, + 0.0004954638206982054, + 0.000496111639222363 + ], + "warmups": [ + [ + 256, + 0.0005025529681006446 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,6-7,22-23=4075 MHz; 1=2038 MHz; 2=2078 MHz; 3=2037 MHz; 4-5,8-11,13,15-21,25-26,28-31,33-35,37-41,43-48,50-56,58,60,63=2200 MHz; 12=4054 MHz; 14=2700 MHz; 24=4058 MHz; 27,32,59=3700 MHz; 36=2026 MHz; 42,49=4025 MHz; 57,61=4030 MHz; 62=4029 MHz", + "date": "2026-10-27 09:27:16.009742", + "duration": 0.5361077040433884, + "mem_max_rss": 42467328, + "runnable_threads": 12, + "uptime": 7226775.012494564 + }, + "values": [ + 0.0005006859537388664, + 0.0004995426606910769, + 0.0005001073586754501 + ], + "warmups": [ + [ + 256, + 0.0005066326302767266 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,12,20=4075 MHz; 1-2,4-5,7-8,10-11,13-15,18-19,21-23,25-26,30,32,34-35,37-41,43-48,51-56,58-63=2200 MHz; 3,29=2038 MHz; 6,31=4054 MHz; 9,17,36=4055 MHz; 16,24,27,49=3700 MHz; 28=4074 MHz; 33=3586 MHz; 42,50,57=4025 MHz", + "date": "2026-10-27 09:27:16.698536", + "duration": 0.5411645779386163, + "mem_max_rss": 42467328, + "runnable_threads": 12, + "uptime": 7226775.701268673 + }, + "values": [ + 0.0005047719059803057, + 0.0005069459548394661, + 0.0005014171729271766 + ], + "warmups": [ + [ + 256, + 0.0005123823102621827 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "d63793d9d48ab8a57d08076439216c3238205e7e364180e7ec81058953107098", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "load_avg_1min": 4.33, + "loops": 256, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.stdout new file mode 100644 index 0000000..8c8ae0d --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.stdout @@ -0,0 +1,2 @@ +...... +bench_matmul: Mean +- std dev: 501 us +- 3 us diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.worker-env.json new file mode 100644 index 0000000..71d103f --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "10" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.driver.py new file mode 100644 index 0000000..99eebdb --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.native.json new file mode 100644 index 0000000..5191ebd --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.native.json @@ -0,0 +1,202 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 256, + "cpu_freq": "0=4029 MHz; 1,3,5-9,11,15-17,20-21,23,26-29,31,33-34,36-37,41-44,46,48-55,60,62-63=2200 MHz; 2,10,19=4050 MHz; 4,22,24-25,30,39-40,47=4049 MHz; 12,32,35,45=3700 MHz; 13=4071 MHz; 14=2030 MHz; 18=2027 MHz; 38=2036 MHz; 56=3364 MHz; 57=4065 MHz; 58=3009 MHz; 59=2037 MHz; 61=4087 MHz", + "date": "2026-10-27 09:27:30.618774", + "duration": 0.6459521083161235, + "load_avg_1min": 4.27, + "mem_max_rss": 42467328, + "runnable_threads": 12, + "uptime": 7226789.620892763 + }, + "warmups": [ + [ + 1, + 0.001544799655675888 + ], + [ + 2, + 0.0010363380424678326 + ], + [ + 4, + 0.00048580137081444263 + ], + [ + 8, + 0.0004867035895586014 + ], + [ + 16, + 0.0004856511950492859 + ], + [ + 32, + 0.00048736963071860373 + ], + [ + 64, + 0.00048672132834326476 + ], + [ + 128, + 0.0004874112564721145 + ], + [ + 256, + 0.0004880327469436452 + ], + [ + 256, + 0.0004864171860390343 + ], + [ + 256, + 0.0004866146446147468 + ], + [ + 256, + 0.0004868010182690341 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=4052 MHz; 1,3,5-9,11-12,14-23,25-27,30-32,34,36,38-39,41-46,51-54,56-58,60-63=2200 MHz; 2,35=3700 MHz; 4,55,59=4074 MHz; 10=2181 MHz; 13,24,33,40,48,50=4075 MHz; 28-29,47=4054 MHz; 37=2031 MHz; 49=3942 MHz", + "date": "2026-10-27 09:27:31.302808", + "duration": 0.5383312841877341, + "load_avg_1min": 4.27, + "mem_max_rss": 43515904, + "runnable_threads": 12, + "uptime": 7226790.305415392 + }, + "values": [ + 0.0005041247895860579, + 0.0005041872900619637, + 0.0005018588635721244 + ], + "warmups": [ + [ + 256, + 0.0005095080996397883 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,6,18=2025 MHz; 1-2,16,19,25=4049 MHz; 3,5,7-8,10-12,14-15,17,20,22,26-32,34-39,41-46,48-54,56,59-61,63=2200 MHz; 4=4048 MHz; 9=2212 MHz; 13,62=4035 MHz; 21,23,47=4054 MHz; 24=4070 MHz; 33,55,58=3700 MHz; 40=4075 MHz; 57=4034 MHz", + "date": "2026-10-27 09:27:31.972561", + "duration": 0.5243944879621267, + "load_avg_1min": 4.27, + "mem_max_rss": 43515904, + "runnable_threads": 12, + "uptime": 7226790.974889755 + }, + "values": [ + 0.0004887569375569001, + 0.0004888270195806399, + 0.000488424160721479 + ], + "warmups": [ + [ + 256, + 0.0004997099313186482 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,2-3,5-9,13-14,16-22,25-29,32-33,35-37,39,41-44,46,49-50,53-58,60-61,63=2200 MHz; 1=4062 MHz; 4=4048 MHz; 10=2337 MHz; 11=2820 MHz; 12,47,62=3700 MHz; 15,30-31,34,40,45,52,59=4075 MHz; 23=2038 MHz; 24=4074 MHz; 38=2025 MHz; 48=4054 MHz; 51=2800 MHz", + "date": "2026-10-27 09:27:32.657465", + "duration": 0.5402303077280521, + "load_avg_1min": 4.89, + "mem_max_rss": 42467328, + "runnable_threads": 12, + "uptime": 7226791.660269976 + }, + "values": [ + 0.0005034924761275761, + 0.0005021457436669152, + 0.0005076793240732513 + ], + "warmups": [ + [ + 256, + 0.0005111948012199719 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-3,5-14,16-18,20-23,25-28,30-32,34-39,42-44,46,49,51,54,56-58,61-63=2200 MHz; 4,15=4036 MHz; 19=4035 MHz; 24,29,50,60=4030 MHz; 33,53,55,59=4050 MHz; 40=4049 MHz; 41=2034 MHz; 45=4042 MHz; 47=3700 MHz; 48=2026 MHz; 52=3711 MHz", + "date": "2026-10-27 09:27:33.345258", + "duration": 0.5431019747629762, + "load_avg_1min": 4.89, + "mem_max_rss": 42467328, + "runnable_threads": 12, + "uptime": 7226792.3478143215 + }, + "values": [ + 0.0005032800909248181, + 0.0005178689898457378, + 0.0005023749217798468 + ], + "warmups": [ + [ + 256, + 0.000509886031068163 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-3,5-8,10-11,14-22,25-28,32,35-39,41-46,49-50,52-55,57-58,61-63=2200 MHz; 4=4061 MHz; 9=2030 MHz; 12-13,23=4054 MHz; 24,29,47=3700 MHz; 30=4067 MHz; 31,34,40,48,51=4075 MHz; 33,60=4074 MHz; 56=4055 MHz; 59=4060 MHz", + "date": "2026-10-27 09:27:34.025617", + "duration": 0.5342156728729606, + "load_avg_1min": 4.89, + "mem_max_rss": 43012096, + "runnable_threads": 15, + "uptime": 7226793.028240681 + }, + "values": [ + 0.0004973284922016319, + 0.000498816752951825, + 0.0004984744446119294 + ], + "warmups": [ + [ + 256, + 0.0005078401081846096 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "d63793d9d48ab8a57d08076439216c3238205e7e364180e7ec81058953107098", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "loops": 256, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.stdout new file mode 100644 index 0000000..b3c9b09 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 501 us +- 8 us diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.worker-env.json new file mode 100644 index 0000000..71d103f --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "10" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.driver.py new file mode 100644 index 0000000..aab504d --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.native.json new file mode 100644 index 0000000..bbc7b6d --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.native.json @@ -0,0 +1,202 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 256, + "cpu_freq": "0,2-3,5-8,10,13-14,17-20,22-23,27-32,34,36-41,43,45-49,51,53-59,61=2200 MHz; 1=4074 MHz; 4=4065 MHz; 9=4048 MHz; 11=2032 MHz; 12,33=3700 MHz; 15,44,52,62-63=4075 MHz; 16=4047 MHz; 21=4054 MHz; 24=4068 MHz; 25=4069 MHz; 26=3269 MHz; 35=3809 MHz; 42=2034 MHz; 50=4060 MHz; 60=2800 MHz", + "date": "2026-10-27 09:26:21.159513", + "duration": 0.6433737352490425, + "load_avg_1min": 3.17, + "mem_max_rss": 42991616, + "runnable_threads": 13, + "uptime": 7226720.162186861 + }, + "warmups": [ + [ + 1, + 0.002054275944828987 + ], + [ + 2, + 0.0010537835769355297 + ], + [ + 4, + 0.0004853736609220505 + ], + [ + 8, + 0.00048116245307028294 + ], + [ + 16, + 0.0004850592231377959 + ], + [ + 32, + 0.0004862467758357525 + ], + [ + 64, + 0.0004850900440942496 + ], + [ + 128, + 0.00048418073129141703 + ], + [ + 256, + 0.000484079762827605 + ], + [ + 256, + 0.00048372842866228893 + ], + [ + 256, + 0.00048346440235036425 + ], + [ + 256, + 0.000483594682009425 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,2,5-9,11,13-14,17-18,21-22,25,28-31,34-36,38-42,45-48,51-53,55-57,59,62-63=2200 MHz; 1,10,26-27=4055 MHz; 3,12,24,33,58=3700 MHz; 4,16,23,32,54,61=4075 MHz; 15=4077 MHz; 19=2039 MHz; 20=2029 MHz; 37=2037 MHz; 43=2004 MHz; 44=4052 MHz; 49=2825 MHz; 50=4061 MHz; 60=2800 MHz", + "date": "2026-10-27 09:26:21.841648", + "duration": 0.5356371020898223, + "load_avg_1min": 3.17, + "mem_max_rss": 42467328, + "runnable_threads": 12, + "uptime": 7226720.844317198 + }, + "values": [ + 0.0005008086118323263, + 0.0004991182722733356, + 0.0005000209384888876 + ], + "warmups": [ + [ + 256, + 0.0005073009924672078 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,3,5-10,12,17-20,23-26,28-30,32-41,43-46,48,51-56,59-63=2200 MHz; 1,21,57-58=4079 MHz; 2,4,11,16=4088 MHz; 13=4087 MHz; 14,27=2800 MHz; 15=3700 MHz; 22=2047 MHz; 31,47=4078 MHz; 42,50=4100 MHz; 49=2463 MHz", + "date": "2026-10-27 09:26:22.528146", + "duration": 0.5422006044536829, + "load_avg_1min": 3.16, + "mem_max_rss": 42467328, + "runnable_threads": 12, + "uptime": 7226721.530901194 + }, + "values": [ + 0.0005057763628428802, + 0.0005056277295807377, + 0.0005054831199231558 + ], + "warmups": [ + [ + 256, + 0.0005130987592565361 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1,3,5-7,9-10,12,14,18-24,27-28,30-33,36,38-42,44-45,47-52,55,57-58,60-63=2200 MHz; 2,11,15,26=3700 MHz; 4=4062 MHz; 8=4055 MHz; 13=4076 MHz; 16-17,29,35=4075 MHz; 25=3219 MHz; 34=2800 MHz; 37=2020 MHz; 43,56=4020 MHz; 46,53-54=4021 MHz; 59=2253 MHz", + "date": "2026-10-27 09:26:23.203754", + "duration": 0.5301674632355571, + "load_avg_1min": 3.16, + "mem_max_rss": 42688512, + "runnable_threads": 12, + "uptime": 7226722.206238508 + }, + "values": [ + 0.0004942375453538261, + 0.0004935700781061314, + 0.0004940037542837672 + ], + "warmups": [ + [ + 256, + 0.0005020324133511167 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,2-3,5-8,10-11,13-14,17-19,21-23,26-27,29,31,33,35-42,44,47-54,56-58,60-62=2200 MHz; 1,4,9,55=4087 MHz; 12,15,28=3700 MHz; 16,24,32,43=4045 MHz; 20,45=4046 MHz; 25=3925 MHz; 30=4047 MHz; 34=2800 MHz; 46=4081 MHz; 59=4086 MHz; 63=2302 MHz", + "date": "2026-10-27 09:26:23.875599", + "duration": 0.524557052180171, + "load_avg_1min": 3.16, + "mem_max_rss": 42815488, + "runnable_threads": 12, + "uptime": 7226722.877987862 + }, + "values": [ + 0.0004910566458420362, + 0.0004908051596430596, + 0.0004890573654847685 + ], + "warmups": [ + [ + 256, + 0.0004952330673404504 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,4,12-13,16=4100 MHz; 1=4099 MHz; 2=2037 MHz; 3,5-10,14-15,17,20-23,25-30,32-34,36-41,43-44,46-52,54-56,58-59,62-63=2200 MHz; 11=2315 MHz; 18-19=2050 MHz; 24=4077 MHz; 31=2039 MHz; 35=2044 MHz; 42=4022 MHz; 45=3700 MHz; 53=4050 MHz; 57,61=4030 MHz; 60=4029 MHz", + "date": "2026-10-27 09:26:24.558959", + "duration": 0.5383275859057903, + "load_avg_1min": 3.16, + "mem_max_rss": 43229184, + "runnable_threads": 12, + "uptime": 7226723.561717033 + }, + "values": [ + 0.0005000856690458022, + 0.0005048660386819392, + 0.0005002706311643124 + ], + "warmups": [ + [ + 256, + 0.0005124461386003532 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "d63793d9d48ab8a57d08076439216c3238205e7e364180e7ec81058953107098", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "loops": 256, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.stdout new file mode 100644 index 0000000..0bf77b8 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 498 us +- 6 us diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.worker-env.json new file mode 100644 index 0000000..71d103f --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "10" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-4/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-4/0000.driver.py new file mode 100644 index 0000000..50397e3 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-4/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-4/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-4/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-4/0000.worker-env.json new file mode 100644 index 0000000..71d103f --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-4/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "10" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-4/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-4/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-4/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.driver.py new file mode 100644 index 0000000..fa6383c --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.native.json new file mode 100644 index 0000000..aba00c7 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.native.json @@ -0,0 +1,197 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 256, + "cpu_freq": "0-1,5-7,9-11,14-17,20,22,24-31,33-38,40-42,44-46,48-57,61-63=2200 MHz; 2=2032 MHz; 3,8=4053 MHz; 4=4055 MHz; 12,18,59=4074 MHz; 13=2033 MHz; 19,43,60=4075 MHz; 21=2029 MHz; 23,47=4054 MHz; 32=3310 MHz; 39=4073 MHz; 58=3181 MHz", + "date": "2026-10-27 09:26:38.483515", + "duration": 0.6469499841332436, + "mem_max_rss": 43216896, + "runnable_threads": 12, + "uptime": 7226737.486114264 + }, + "warmups": [ + [ + 1, + 0.001984504982829094 + ], + [ + 2, + 0.001028147991746664 + ], + [ + 4, + 0.0005166714545339346 + ], + [ + 8, + 0.00048349739518016577 + ], + [ + 16, + 0.0004838748718611896 + ], + [ + 32, + 0.0004904605739284307 + ], + [ + 64, + 0.0004982395912520587 + ], + [ + 128, + 0.0004856091909459792 + ], + [ + 256, + 0.000491362781758653 + ], + [ + 256, + 0.000484115782455774 + ], + [ + 256, + 0.0004824499374080915 + ], + [ + 256, + 0.00048458754463354126 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1,5,7,9-11,13-17,20-23,26-27,29-30,32-33,35-38,40-53,56-57,59-63=2200 MHz; 2=3700 MHz; 3,24,55=4074 MHz; 4=2037 MHz; 6,8,12,18-19,34=4075 MHz; 25=3340 MHz; 28=4055 MHz; 31=4076 MHz; 39=4054 MHz; 54=2036 MHz; 58=4078 MHz", + "date": "2026-10-27 09:26:39.167797", + "duration": 0.5374945169314742, + "mem_max_rss": 42991616, + "runnable_threads": 12, + "uptime": 7226738.170355082 + }, + "values": [ + 0.0005029080894018989, + 0.0005026828512200154, + 0.000501594397064764 + ], + "warmups": [ + [ + 256, + 0.0005094441876281053 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-2,5-6,9-11,14-18,20,23,25-27,31,33-36,38-47,49-55,57,59-61,63=2200 MHz; 3,56,58,62=4053 MHz; 4,12-13,19,21-22,29-30,32,48=4050 MHz; 7=2031 MHz; 8=4029 MHz; 24,28=3700 MHz; 37=2035 MHz", + "date": "2026-10-27 09:26:39.851930", + "duration": 0.5393867613747716, + "mem_max_rss": 43114496, + "runnable_threads": 13, + "uptime": 7226738.854174137 + }, + "values": [ + 0.0005019048330723308, + 0.000502552225952968, + 0.0005022859695600346 + ], + "warmups": [ + [ + 256, + 0.0005119246889080387 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=4050 MHz; 1-6,9-11,14-15,17-18,20,22,24-28,30,32,34-36,38-44,46,48-51,53-55,58,60-62=2200 MHz; 7,12,23,29=4052 MHz; 8,13,16,33=4053 MHz; 19=4059 MHz; 21=2029 MHz; 31=4055 MHz; 37=2164 MHz; 45,56=3700 MHz; 47=4071 MHz; 52=2036 MHz; 57,59=4054 MHz; 63=4075 MHz", + "date": "2026-10-27 09:26:40.537714", + "duration": 0.5383078185841441, + "mem_max_rss": 42991616, + "runnable_threads": 12, + "uptime": 7226739.540392876 + }, + "values": [ + 0.0005028571104048751, + 0.0005023737066949252, + 0.0005021977631258778 + ], + "warmups": [ + [ + 256, + 0.0005099975496705156 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,12,29,37=4075 MHz; 1-6,9-11,14-17,20-28,30-32,34-35,38,40,42-49,52,54-55,57,61-63=2200 MHz; 7=2030 MHz; 8,33=4076 MHz; 13=2040 MHz; 18=4081 MHz; 19=3700 MHz; 36=2981 MHz; 39=2039 MHz; 41=2046 MHz; 50-51=4100 MHz; 53,56,60=4079 MHz; 58=2035 MHz; 59=4084 MHz", + "date": "2026-10-27 09:26:41.221471", + "duration": 0.5379820037633181, + "mem_max_rss": 43294720, + "runnable_threads": 12, + "uptime": 7226740.224219799 + }, + "values": [ + 0.0005027030056226067, + 0.0005027687147958204, + 0.0005007861436752137 + ], + "warmups": [ + [ + 256, + 0.0005086159726488404 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-4,7,9-11,13-17,19-21,23-25,27-28,30-31,34-36,39-50,53-57,61-63=2200 MHz; 5,37=2025 MHz; 6,8,12,18,22,29,51=4050 MHz; 26,32-33,38,58=4029 MHz; 52=4030 MHz; 59=3801 MHz; 60=4057 MHz", + "date": "2026-10-27 09:26:41.905102", + "duration": 0.5405249567702413, + "mem_max_rss": 42991616, + "runnable_threads": 12, + "uptime": 7226740.907655239 + }, + "values": [ + 0.0005047470185672864, + 0.0005026981671107933, + 0.0005011797875340562 + ], + "warmups": [ + [ + 256, + 0.0005098332148918416 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "d63793d9d48ab8a57d08076439216c3238205e7e364180e7ec81058953107098", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "load_avg_1min": 3.12, + "loops": 256, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.stdout new file mode 100644 index 0000000..89b4a62 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.stdout @@ -0,0 +1,2 @@ +...... +bench_matmul: Mean +- std dev: 502 us +- 1 us diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.worker-env.json new file mode 100644 index 0000000..71d103f --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "10" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.driver.py new file mode 100644 index 0000000..35bef73 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.native.json new file mode 100644 index 0000000..2434301 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.native.json @@ -0,0 +1,202 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 256, + "cpu_freq": "0=4046 MHz; 1-3,5-7,9-11,13-15,17-18,22-23,26-29,31,33-34,36-41,45-48,50-52,54-59,61=2200 MHz; 4,32,35,60=4029 MHz; 8,12,20,24,44,49=4050 MHz; 16,42,53=4030 MHz; 19=2447 MHz; 21,30=4049 MHz; 25=4052 MHz; 43=4055 MHz; 62=4061 MHz; 63=3700 MHz", + "date": "2026-10-27 09:26:55.864380", + "duration": 0.648329914547503, + "load_avg_1min": 3.34, + "mem_max_rss": 42811392, + "runnable_threads": 14, + "uptime": 7226754.866692781 + }, + "warmups": [ + [ + 1, + 0.0015912698581814766 + ], + [ + 2, + 0.0007838099263608456 + ], + [ + 4, + 0.0004899685736745596 + ], + [ + 8, + 0.0004891562275588512 + ], + [ + 16, + 0.00048724241787567735 + ], + [ + 32, + 0.0004869049007538706 + ], + [ + 64, + 0.00048550553037784994 + ], + [ + 128, + 0.00048610326484777033 + ], + [ + 256, + 0.0004862223686359357 + ], + [ + 256, + 0.0004883288820565213 + ], + [ + 256, + 0.00048668202362023294 + ], + [ + 256, + 0.0004947900997649413 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=4066 MHz; 1-5,7-12,14-15,17-18,20,22,26-28,30,37-39,42-46,48-57,59-63=2200 MHz; 6,21=4054 MHz; 13,16,25=4075 MHz; 19,24=3700 MHz; 23=2037 MHz; 29=4065 MHz; 31,36,47=4040 MHz; 32,35,40-41,58=4039 MHz; 33=2800 MHz; 34=4071 MHz", + "date": "2026-10-27 09:26:56.536961", + "duration": 0.5249940818175673, + "load_avg_1min": 3.34, + "mem_max_rss": 42991616, + "runnable_threads": 13, + "uptime": 7226755.5395298 + }, + "values": [ + 0.0004899116356682498, + 0.0004894726480415557, + 0.0004896767495665699 + ], + "warmups": [ + [ + 256, + 0.0004977490425517317 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,8,10,14,21,32,59=4100 MHz; 1-4,7,9,11-12,15,20,22-27,29-31,35,37,39-49,52-55,57,62-63=2200 MHz; 5,61=4080 MHz; 6,60=4079 MHz; 13=4106 MHz; 16,34=4099 MHz; 17=2038 MHz; 18-19=2037 MHz; 28=3700 MHz; 33=4098 MHz; 36=2046 MHz; 38=2800 MHz; 50=2033 MHz; 51=2048 MHz; 56=4078 MHz; 58=2050 MHz", + "date": "2026-10-27 09:26:57.232127", + "duration": 0.5503093814477324, + "load_avg_1min": 4.43, + "mem_max_rss": 42741760, + "runnable_threads": 13, + "uptime": 7226756.234569073 + }, + "values": [ + 0.0005081380804767832, + 0.0005113508923386689, + 0.0005252155642665457 + ], + "warmups": [ + [ + 256, + 0.0005188336072023958 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=4094 MHz; 1=4089 MHz; 2=2247 MHz; 3-5,7,9-10,12-15,19-20,22-31,34-36,38-41,43-45,48-55,58,60-61=2200 MHz; 6,21=4092 MHz; 8=2040 MHz; 11,16=4091 MHz; 17=2051 MHz; 18=2529 MHz; 32=4099 MHz; 33,59=3700 MHz; 37,42,46-47,57=4100 MHz; 56=4080 MHz; 62=4079 MHz; 63=4078 MHz", + "date": "2026-10-27 09:26:57.925283", + "duration": 0.54616304859519, + "load_avg_1min": 4.43, + "mem_max_rss": 43515904, + "runnable_threads": 13, + "uptime": 7226756.927315235 + }, + "values": [ + 0.0005102806426293682, + 0.000511833048221888, + 0.0005094145417388063 + ], + "warmups": [ + [ + 256, + 0.0005193710312596522 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,8,15-16,24,32,56=4075 MHz; 1=2047 MHz; 2=2561 MHz; 3,5-6,11,17-20,22,25-27,30,33-35,37-38,40-43,46,48-52,54-55,60-61=2200 MHz; 4=4055 MHz; 7,21,28,44=4054 MHz; 9=4074 MHz; 10=2038 MHz; 12,36,45,47=3700 MHz; 13=2166 MHz; 14=3636 MHz; 23,58=2037 MHz; 29=2040 MHz; 31=2800 MHz; 39=2837 MHz; 53=4088 MHz; 57=2750 MHz; 59=4067 MHz; 62=2043 MHz; 63=4081 MHz", + "date": "2026-10-27 09:26:58.616999", + "duration": 0.5476195877417922, + "load_avg_1min": 4.43, + "mem_max_rss": 43323392, + "runnable_threads": 13, + "uptime": 7226757.619735956 + }, + "values": [ + 0.0005059012910351157, + 0.0005066443882242311, + 0.0005224141168582719 + ], + "warmups": [ + [ + 256, + 0.0005153585188963916 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1,3,6-11,13-14,20,22-23,26-27,30-31,33-40,42,44,46-48,50-54,56-58,60-63=2200 MHz; 2,15,17,24,55=3700 MHz; 4=4055 MHz; 5,25,41,43=4054 MHz; 12,16,19,21,28-29,32,45=4075 MHz; 18=2025 MHz; 49=4074 MHz; 59=4076 MHz", + "date": "2026-10-27 09:26:59.306282", + "duration": 0.5427145566791296, + "load_avg_1min": 4.43, + "mem_max_rss": 43216896, + "runnable_threads": 13, + "uptime": 7226758.30846405 + }, + "values": [ + 0.0005051063999417238, + 0.0005065521618234925, + 0.0005070891202194616 + ], + "warmups": [ + [ + 256, + 0.0005160373948456254 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "d63793d9d48ab8a57d08076439216c3238205e7e364180e7ec81058953107098", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "loops": 256, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.stdout new file mode 100644 index 0000000..f61b590 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 507 us +- 10 us diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.worker-env.json new file mode 100644 index 0000000..71d103f --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "10" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-1.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-1.json new file mode 100644 index 0000000..7719105 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-1.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-10:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D:load-average:slot-1", + "attempt_key": "urn:benchx:attempt:ecf0034933b4f2c5:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 1.89 + ] + }, + "procedure": { + "round": 0, + "slot": 1 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-10", + "started_at": "2026-10-27T09:23:32.172721Z", + "ended_at": "2026-10-27T09:23:36.502235Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:ecf0034933b4f2c57a07d80c2cdefb3a658f6f05eaeb95ac9ca6f6b9ee1c47ed", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-11.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-11.json new file mode 100644 index 0000000..a0fb370 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-11.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-10:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D:load-average:slot-11", + "attempt_key": "urn:benchx:attempt:029175ebe2c9305b:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 4.33 + ] + }, + "procedure": { + "round": 3, + "slot": 11 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-10", + "started_at": "2026-10-27T09:27:12.412572Z", + "ended_at": "2026-10-27T09:27:16.784093Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:029175ebe2c9305b06c7d11972b7647b1af27fa1c8c061d6454e27301d74b572", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-14.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-14.json new file mode 100644 index 0000000..237c764 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-14.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-10:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D:load-average:slot-14", + "attempt_key": "urn:benchx:attempt:b5bc9faaf59b45a4:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 4.27 + ] + }, + "procedure": { + "round": 4, + "slot": 14 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-10", + "started_at": "2026-10-27T09:27:29.765479Z", + "ended_at": "2026-10-27T09:27:34.107947Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:b5bc9faaf59b45a46f62f47eace8ddf8c8f03f5c67ef33b51b837188e6c8c1aa", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-2.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-2.json new file mode 100644 index 0000000..1487540 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-2.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-10:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D:load-average:slot-2", + "attempt_key": "urn:benchx:attempt:c741e7c80b91942d:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 3.17 + ] + }, + "procedure": { + "round": 0, + "slot": 2 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-10", + "started_at": "2026-10-27T09:26:20.309989Z", + "ended_at": "2026-10-27T09:26:24.642886Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:c741e7c80b91942d48a1d48790b732636134a1c6fe77e1a1c370790552777f5d", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-5.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-5.json new file mode 100644 index 0000000..e4afa6d --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-5.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-10:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D:load-average:slot-5", + "attempt_key": "urn:benchx:attempt:fa1dcace20ec2ff9:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 3.12 + ] + }, + "procedure": { + "round": 1, + "slot": 5 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-10", + "started_at": "2026-10-27T09:26:37.630013Z", + "ended_at": "2026-10-27T09:26:41.992520Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:fa1dcace20ec2ff96f3415b9a02ca763e327b4c6d2fc56cc330c925e1cff5c51", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-8.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-8.json new file mode 100644 index 0000000..5997da2 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_load-average_slot-8.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-10:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D:load-average:slot-8", + "attempt_key": "urn:benchx:attempt:7e0a4289264e29e2:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 3.34 + ] + }, + "procedure": { + "round": 2, + "slot": 8 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-10", + "started_at": "2026-10-27T09:26:55.006173Z", + "ended_at": "2026-10-27T09:26:59.388930Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:7e0a4289264e29e2b080100fb8c6c7ddc42288c09bdeb15a81031046db270cd2", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-1.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-1.json new file mode 100644 index 0000000..5f4fcce --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-1.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-10:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D:wall-time:slot-1", + "attempt_key": "urn:benchx:attempt:ecf0034933b4f2c5:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0005062671261839569, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0005144686001585796, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.0005031056425650604, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0005006482679164037, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.0005031899418099783, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0005159886204637587, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.0004807478981092572, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.00048128567868843675, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.0004806312208529562, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.0005035243557358626, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.0005003272490284871, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0004998846270609647, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0004965066946169827, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.0004954482428729534, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.000497082441142993, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 256, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 4.329514, + "round": 0, + "slot": 1, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-10", + "started_at": "2026-10-27T09:23:32.172721Z", + "ended_at": "2026-10-27T09:23:36.502235Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.native.json", + "sha256": "ff2025a1edab389ff3fe96f4626f9d08892c81060f3ff10bf510f769a45d5684" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.stdout", + "sha256": "76ca106f1daaf82391255da0cb04b41a059cd85c466db47b4f2b8e7d3e2ef51d" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.driver.py", + "sha256": "49750b7cbf69a16e9c3c30fee5a738080041486249d5b86759c016e8dfbea766" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/0000.worker-env.json", + "sha256": "4f7faabd1d475577870eec5bc85cce0b714219ed69a01632a3830ee120265808" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-1/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:ecf0034933b4f2c57a07d80c2cdefb3a658f6f05eaeb95ac9ca6f6b9ee1c47ed", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-11.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-11.json new file mode 100644 index 0000000..3076c46 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-11.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-10:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D:wall-time:slot-11", + "attempt_key": "urn:benchx:attempt:029175ebe2c9305b:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0005017714356654324, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0005013161935494281, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.000500713380461093, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0005020533171773423, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.0005005102102586534, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0005023052362957969, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.0004962514467479195, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.0004954638206982054, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.000496111639222363, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.0005006859537388664, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.0004995426606910769, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0005001073586754501, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0005047719059803057, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.0005069459548394661, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.0005014171729271766, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 256, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 4.371521, + "round": 3, + "slot": 11, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-10", + "started_at": "2026-10-27T09:27:12.412572Z", + "ended_at": "2026-10-27T09:27:16.784093Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.native.json", + "sha256": "f937ea03e73f64238166ba041cfe7eb09d0f0dc88db8c75ebdde2e0abe8c360c" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.stdout", + "sha256": "0e9425ccde61f03e60d68f31c631b23923ec2a87632670bc2b65ef01d9dadde4" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.driver.py", + "sha256": "494d76cf5851ee3ec1049dabbc1fba9cd276cd05ab201c1daf77e25331da8a6e" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/0000.worker-env.json", + "sha256": "4f7faabd1d475577870eec5bc85cce0b714219ed69a01632a3830ee120265808" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-11/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:029175ebe2c9305b06c7d11972b7647b1af27fa1c8c061d6454e27301d74b572", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-14.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-14.json new file mode 100644 index 0000000..9d1fc69 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-14.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-10:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D:wall-time:slot-14", + "attempt_key": "urn:benchx:attempt:b5bc9faaf59b45a4:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0005041247895860579, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0005041872900619637, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.0005018588635721244, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0004887569375569001, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.0004888270195806399, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.000488424160721479, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.0005034924761275761, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.0005021457436669152, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.0005076793240732513, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.0005032800909248181, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.0005178689898457378, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0005023749217798468, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0004973284922016319, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.000498816752951825, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.0004984744446119294, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 256, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 4.342469, + "round": 4, + "slot": 14, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-10", + "started_at": "2026-10-27T09:27:29.765479Z", + "ended_at": "2026-10-27T09:27:34.107947Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.native.json", + "sha256": "24c445a80b2c8e3b3d6ca7462a9ff85b897684d02bede26f3f5c105bdd16f466" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.stdout", + "sha256": "2d84f698f2f60487680aae24fc2054a0de3ab91e42a22cf8828db69a62f95dfc" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.driver.py", + "sha256": "5871dedfe6dfbdbc8c1888c1425b37a3220b087c1820ebf77681ba95afb2ebe9" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/0000.worker-env.json", + "sha256": "4f7faabd1d475577870eec5bc85cce0b714219ed69a01632a3830ee120265808" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-14/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:b5bc9faaf59b45a46f62f47eace8ddf8c8f03f5c67ef33b51b837188e6c8c1aa", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-2.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-2.json new file mode 100644 index 0000000..076ee13 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-2.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-10:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D:wall-time:slot-2", + "attempt_key": "urn:benchx:attempt:c741e7c80b91942d:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0005008086118323263, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0004991182722733356, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.0005000209384888876, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0005057763628428802, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.0005056277295807377, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0005054831199231558, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.0004942375453538261, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.0004935700781061314, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.0004940037542837672, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.0004910566458420362, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.0004908051596430596, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0004890573654847685, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0005000856690458022, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.0005048660386819392, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.0005002706311643124, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 256, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 4.332896, + "round": 0, + "slot": 2, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-10", + "started_at": "2026-10-27T09:26:20.309989Z", + "ended_at": "2026-10-27T09:26:24.642886Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.native.json", + "sha256": "7ada315e0069d65582ba6fcdc1363e03aa97d1797651e79250862eb7e9329905" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.stdout", + "sha256": "ebc0384fbdade752b8963b72f75bad0f2f0af880eadfa65866a43357fe4f098a" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.driver.py", + "sha256": "350da3480f0b545717e0dbf1fcaf1017b23dea96bfab2371a615bc1e67a723b3" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/0000.worker-env.json", + "sha256": "4f7faabd1d475577870eec5bc85cce0b714219ed69a01632a3830ee120265808" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-2/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:c741e7c80b91942d48a1d48790b732636134a1c6fe77e1a1c370790552777f5d", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-5.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-5.json new file mode 100644 index 0000000..632931d --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-5.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-10:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D:wall-time:slot-5", + "attempt_key": "urn:benchx:attempt:fa1dcace20ec2ff9:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0005029080894018989, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0005026828512200154, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.000501594397064764, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0005019048330723308, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.000502552225952968, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0005022859695600346, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.0005028571104048751, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.0005023737066949252, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.0005021977631258778, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.0005027030056226067, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.0005027687147958204, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0005007861436752137, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0005047470185672864, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.0005026981671107933, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.0005011797875340562, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 256, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 4.362507, + "round": 1, + "slot": 5, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-10", + "started_at": "2026-10-27T09:26:37.630013Z", + "ended_at": "2026-10-27T09:26:41.992520Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.native.json", + "sha256": "f4a20ba477471510bafcc45342149b35fe41f4b253d24a69554e4a7c3f267199" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.stdout", + "sha256": "0796ba562da5507e6b16067f6c47acf44faef42cf9e25278c27b36b5119b316a" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.driver.py", + "sha256": "07afe340fc88bf9379e32ce2279d7cb1d8b6bdc33e04eb8aa2858ecd7ab09657" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/0000.worker-env.json", + "sha256": "4f7faabd1d475577870eec5bc85cce0b714219ed69a01632a3830ee120265808" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-5/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:fa1dcace20ec2ff96f3415b9a02ca763e327b4c6d2fc56cc330c925e1cff5c51", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-8.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-8.json new file mode 100644 index 0000000..fbe8f46 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/numpy-6e1aca7eda-threads-10_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D_wall-time_slot-8.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-10:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2210%22%7D:wall-time:slot-8", + "attempt_key": "urn:benchx:attempt:7e0a4289264e29e2:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "10" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0004899116356682498, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0004894726480415557, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.0004896767495665699, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0005081380804767832, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.0005113508923386689, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0005252155642665457, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.0005102806426293682, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.000511833048221888, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.0005094145417388063, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.0005059012910351157, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.0005066443882242311, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0005224141168582719, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0005051063999417238, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.0005065521618234925, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.0005070891202194616, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 256, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 4.382758, + "round": 2, + "slot": 8, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-10", + "started_at": "2026-10-27T09:26:55.006173Z", + "ended_at": "2026-10-27T09:26:59.388930Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.native.json", + "sha256": "b6a23f3ed210192413ad94633037a3daeafeddd1172b712d83d00bbd6e1c26ff" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.stdout", + "sha256": "d09a99f484cd2c012f65afaef8ff7d77c6a35e30e67154377fdb4fc5b3419d95" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.driver.py", + "sha256": "8c229573bc461fd9f37c1dbffdce430ec0fa5bb59acafe1b2f6ae0ea7621ccf4" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/0000.worker-env.json", + "sha256": "4f7faabd1d475577870eec5bc85cce0b714219ed69a01632a3830ee120265808" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/artifacts/slot-8/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:7e0a4289264e29e2b080100fb8c6c7ddc42288c09bdeb15a81031046db270cd2", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0001.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0001.json new file mode 100644 index 0000000..019e7ef --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0001.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:85d5536e-ede3-40e3-8cf5-403d6e4ca578", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 0, + "slot": 1, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0002.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0002.json new file mode 100644 index 0000000..98d431a --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0002.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:d54fa33c-7d4f-4d60-b869-74dd149b0b60", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 0, + "slot": 2, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0004.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0004.json new file mode 100644 index 0000000..3d23024 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0004.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:7754ddd2-7e81-4f3d-987e-abb5a26dfd28", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 1, + "slot": 4, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0005.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0005.json new file mode 100644 index 0000000..7dd577c --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0005.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:876eeef0-db7d-4263-bdc3-df61564c5bb8", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 1, + "slot": 5, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0008.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0008.json new file mode 100644 index 0000000..44b90dc --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0008.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:436b4c63-b069-4603-a1b3-7aaa3dff7c10", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 2, + "slot": 8, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0011.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0011.json new file mode 100644 index 0000000..d5d0cb3 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0011.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:17f5f552-59a1-45d8-a6ea-1d9e88d07693", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 3, + "slot": 11, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0014.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0014.json new file mode 100644 index 0000000..55f44c2 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/orders/order-0014.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:f951ad60-f499-473a-9643-3373a260e078", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 4, + "slot": 14, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-029175ebe2c9305b06c7d11972b7647b1af27fa1c8c061d6454e27301d74b572.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-029175ebe2c9305b06c7d11972b7647b1af27fa1c8c061d6454e27301d74b572.json new file mode 100644 index 0000000..d5d0cb3 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-029175ebe2c9305b06c7d11972b7647b1af27fa1c8c061d6454e27301d74b572.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:17f5f552-59a1-45d8-a6ea-1d9e88d07693", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 3, + "slot": 11, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-6e69fd299d0d8677ef5b05a65e7b963f751da7597598bc82b9e30090202e891e.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-6e69fd299d0d8677ef5b05a65e7b963f751da7597598bc82b9e30090202e891e.json new file mode 100644 index 0000000..3d23024 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-6e69fd299d0d8677ef5b05a65e7b963f751da7597598bc82b9e30090202e891e.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:7754ddd2-7e81-4f3d-987e-abb5a26dfd28", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 1, + "slot": 4, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-7e0a4289264e29e2b080100fb8c6c7ddc42288c09bdeb15a81031046db270cd2.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-7e0a4289264e29e2b080100fb8c6c7ddc42288c09bdeb15a81031046db270cd2.json new file mode 100644 index 0000000..44b90dc --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-7e0a4289264e29e2b080100fb8c6c7ddc42288c09bdeb15a81031046db270cd2.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:436b4c63-b069-4603-a1b3-7aaa3dff7c10", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 2, + "slot": 8, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-b5bc9faaf59b45a46f62f47eace8ddf8c8f03f5c67ef33b51b837188e6c8c1aa.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-b5bc9faaf59b45a46f62f47eace8ddf8c8f03f5c67ef33b51b837188e6c8c1aa.json new file mode 100644 index 0000000..55f44c2 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-b5bc9faaf59b45a46f62f47eace8ddf8c8f03f5c67ef33b51b837188e6c8c1aa.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:f951ad60-f499-473a-9643-3373a260e078", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 4, + "slot": 14, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-c741e7c80b91942d48a1d48790b732636134a1c6fe77e1a1c370790552777f5d.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-c741e7c80b91942d48a1d48790b732636134a1c6fe77e1a1c370790552777f5d.json new file mode 100644 index 0000000..98d431a --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-c741e7c80b91942d48a1d48790b732636134a1c6fe77e1a1c370790552777f5d.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:d54fa33c-7d4f-4d60-b869-74dd149b0b60", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 0, + "slot": 2, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-ecf0034933b4f2c57a07d80c2cdefb3a658f6f05eaeb95ac9ca6f6b9ee1c47ed.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-ecf0034933b4f2c57a07d80c2cdefb3a658f6f05eaeb95ac9ca6f6b9ee1c47ed.json new file mode 100644 index 0000000..019e7ef --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-ecf0034933b4f2c57a07d80c2cdefb3a658f6f05eaeb95ac9ca6f6b9ee1c47ed.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:85d5536e-ede3-40e3-8cf5-403d6e4ca578", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 0, + "slot": 1, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-fa1dcace20ec2ff96f3415b9a02ca763e327b4c6d2fc56cc330c925e1cff5c51.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-fa1dcace20ec2ff96f3415b9a02ca763e327b4c6d2fc56cc330c925e1cff5c51.json new file mode 100644 index 0000000..7dd577c --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-10/workorder-fa1dcace20ec2ff96f3415b9a02ca763e327b4c6d2fc56cc330c925e1cff5c51.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:876eeef0-db7d-4263-bdc3-df61564c5bb8", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-10", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 1, + "slot": 5, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "10" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.driver.py new file mode 100644 index 0000000..e682335 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.native.json new file mode 100644 index 0000000..1f37790 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.native.json @@ -0,0 +1,198 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 128, + "cpu_freq": "0-1,3,5-6,8-11,13-15,17-18,20,22,24-33,35-42,44-45,48-51,53,55,57-58,61-63=2200 MHz; 2=3636 MHz; 4=4091 MHz; 7,21=2037 MHz; 12,34,59=3700 MHz; 16=4090 MHz; 19=2062 MHz; 23=4100 MHz; 43=2192 MHz; 46,60=4078 MHz; 47=2039 MHz; 52=2038 MHz; 54=2043 MHz; 56=4079 MHz", + "date": "2026-10-27 09:26:15.799241", + "duration": 0.5350701035931706, + "load_avg_1min": 2.75, + "mem_max_rss": 44613632, + "runnable_threads": 6, + "uptime": 7226714.801036358 + }, + "warmups": [ + [ + 1, + 0.0016856109723448753 + ], + [ + 2, + 0.0009750425815582275 + ], + [ + 4, + 0.0007964998949319124 + ], + [ + 8, + 0.0008081727428361773 + ], + [ + 16, + 0.0008116422104649246 + ], + [ + 32, + 0.0008044123533181846 + ], + [ + 64, + 0.000804488459834829 + ], + [ + 128, + 0.0008046040093176998 + ], + [ + 128, + 0.0008031416509766132 + ], + [ + 128, + 0.000802979848231189 + ], + [ + 128, + 0.0008045651920838282 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=4079 MHz; 1-3,5-7,9-15,17-35,37-45,48-51,54-56,58,62-63=2200 MHz; 4,16=4100 MHz; 8=2124 MHz; 36=4098 MHz; 46=2862 MHz; 47=4125 MHz; 52=2050 MHz; 53,61=4092 MHz; 57=4093 MHz; 59=3700 MHz; 60=3790 MHz", + "date": "2026-10-27 09:26:16.374574", + "duration": 0.4320815596729517, + "load_avg_1min": 2.75, + "mem_max_rss": 45142016, + "runnable_threads": 7, + "uptime": 7226715.3772518635 + }, + "values": [ + 0.0007987790158949792, + 0.0008019981178222224, + 0.00079761040979065 + ], + "warmups": [ + [ + 128, + 0.0008080613188212737 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1,3,5-7,9-11,13-15,17-19,22-34,36,38-44,46,49-50,52-55,57-59,62-63=2200 MHz; 2,4,16,20=4075 MHz; 8=4076 MHz; 12=4054 MHz; 21,45=3700 MHz; 35=2064 MHz; 37=2063 MHz; 47=2048 MHz; 48=4069 MHz; 51=2041 MHz; 56=4066 MHz; 60=4082 MHz; 61=4065 MHz", + "date": "2026-10-27 09:26:16.953120", + "duration": 0.431592233479023, + "load_avg_1min": 2.75, + "mem_max_rss": 44744704, + "runnable_threads": 7, + "uptime": 7226715.9547896385 + }, + "values": [ + 0.0008019193774089217, + 0.0008009578741621226, + 0.0008010758392629214 + ], + "warmups": [ + [ + 128, + 0.0008097604077192955 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1,5-6,8-11,14-15,17-22,24-31,37,39-40,42-43,46-50,54-55,57-59,61-63=2200 MHz; 2-3,12,32-33,45,51=3700 MHz; 4,16,60=4125 MHz; 7=2040 MHz; 13=4103 MHz; 23=3844 MHz; 34=4128 MHz; 35=4124 MHz; 36=4100 MHz; 38=2049 MHz; 41=4108 MHz; 44=3184 MHz; 52=2800 MHz; 53=2054 MHz; 56=3301 MHz", + "date": "2026-10-27 09:26:17.534012", + "duration": 0.43349555786699057, + "load_avg_1min": 3.17, + "mem_max_rss": 44564480, + "runnable_threads": 6, + "uptime": 7226716.535594225 + }, + "values": [ + 0.000805066607426852, + 0.000802794769697357, + 0.0008005904528545216 + ], + "warmups": [ + [ + 128, + 0.0008177415293175727 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,3=4074 MHz; 1-2,5,7-11,14-15,17-24,28,36-38,40-41,43-44,48-51,63=2200 MHz; 4,16,26,30,32,34=4075 MHz; 6,39=2033 MHz; 12=2043 MHz; 13,27=3260 MHz; 25=4070 MHz; 29=2317 MHz; 31,33,54,61=2037 MHz; 35=4067 MHz; 42,47,60=4054 MHz; 45,59=3700 MHz; 46=2035 MHz; 52=4055 MHz; 53=3571 MHz; 55=2031 MHz; 56=2816 MHz; 57=2800 MHz; 58=4068 MHz; 62=3312 MHz", + "date": "2026-10-27 09:26:18.117421", + "duration": 0.4400292709469795, + "load_avg_1min": 3.17, + "mem_max_rss": 44564480, + "runnable_threads": 8, + "uptime": 7226717.119771719 + }, + "values": [ + 0.000809391654911451, + 0.0008087614842224866, + 0.0008212150059989654 + ], + "warmups": [ + [ + 128, + 0.000821680405351799 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=4054 MHz; 1-3,5-11,14-15,17-24,28-30,32-36,38-41,43-44,46-54,56-61,63=2200 MHz; 4,12,16,31=4065 MHz; 13=3276 MHz; 25=4075 MHz; 26=4063 MHz; 27=2800 MHz; 37=2032 MHz; 42,45=3700 MHz; 55=4099 MHz; 62=2037 MHz", + "date": "2026-10-27 09:26:18.698483", + "duration": 0.4334487868472934, + "load_avg_1min": 3.17, + "mem_max_rss": 44564480, + "runnable_threads": 6, + "uptime": 7226717.700455904 + }, + "values": [ + 0.0007997268476174213, + 0.0008016875726752914, + 0.0008022961701499298 + ], + "warmups": [ + [ + 128, + 0.0008122622311930172 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "fc0f24de5cdd54597813c04700657d3de6d8205d749eca0d30af9d04bedd04fd", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "loops": 128, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.stdout new file mode 100644 index 0000000..efe94ae --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 804 us +- 6 us diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.worker-env.json new file mode 100644 index 0000000..aa42e10 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "4" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.driver.py new file mode 100644 index 0000000..b2999a4 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.native.json new file mode 100644 index 0000000..3460c90 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.native.json @@ -0,0 +1,193 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 128, + "cpu_freq": "0-3,5,7-10,12-14,16-21,23-28,30-31,33-34,38-45,47-57,60-63=2200 MHz; 4,11,22,29=4075 MHz; 6=2037 MHz; 15,35-36=3700 MHz; 32=4074 MHz; 37=2038 MHz; 46=4054 MHz; 58=4076 MHz; 59=4043 MHz", + "date": "2026-10-27 09:27:07.888282", + "duration": 0.5455923434346914, + "mem_max_rss": 44564480, + "runnable_threads": 6, + "uptime": 7226766.89043355 + }, + "warmups": [ + [ + 1, + 0.00168526079505682 + ], + [ + 2, + 0.0009727925062179565 + ], + [ + 4, + 0.0008137878030538559 + ], + [ + 8, + 0.0008214167319238186 + ], + [ + 16, + 0.0008183735189959407 + ], + [ + 32, + 0.0008169765933416784 + ], + [ + 64, + 0.00081654753012117 + ], + [ + 128, + 0.0008159397984854877 + ], + [ + 128, + 0.0008168591011781245 + ], + [ + 128, + 0.0008191105298465118 + ], + [ + 128, + 0.0008161176883731969 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-7,9-11,13,16-17,19-22,24-28,30,33-34,36-39,42-45,47-50,52-54,56-57,60-63=2200 MHz; 8,15,35=3700 MHz; 12,31-32=4075 MHz; 14=2800 MHz; 18=2038 MHz; 23=4074 MHz; 29,59=2037 MHz; 40=4071 MHz; 41=3974 MHz; 46=2714 MHz; 51=4055 MHz; 55=4069 MHz; 58=4080 MHz", + "date": "2026-10-27 09:27:08.466954", + "duration": 0.4328524051234126, + "mem_max_rss": 44597248, + "runnable_threads": 6, + "uptime": 7226767.468993425 + }, + "values": [ + 0.0008022414913284592, + 0.0007997225548024289, + 0.0008036049403017387 + ], + "warmups": [ + [ + 128, + 0.0008094895529211499 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-2,4-5,8,10-11,13-20,22-23,25,27-28,30,33-34,36-37,39-51,53-57,61-63=2200 MHz; 3=3259 MHz; 6=2051 MHz; 7,12,21,32=4075 MHz; 9=4073 MHz; 24,31,35,58=3700 MHz; 26=4071 MHz; 29=2048 MHz; 38=2044 MHz; 52=2045 MHz; 59=4055 MHz; 60=4074 MHz", + "date": "2026-10-27 09:27:09.049743", + "duration": 0.4382405122742057, + "mem_max_rss": 44802048, + "runnable_threads": 6, + "uptime": 7226768.051827908 + }, + "values": [ + 0.0008127850596792996, + 0.0008111159768304788, + 0.0008125503736664541 + ], + "warmups": [ + [ + 128, + 0.000822533002065029 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-11,15-17,19-21,23,25-28,30-31,33-34,36-39,42-47,49-54,56-58,60-63=2200 MHz; 12,18,29,32=4061 MHz; 13=2041 MHz; 14=2026 MHz; 22=4056 MHz; 24,35,48=3700 MHz; 40=2561 MHz; 41=3853 MHz; 55=2035 MHz; 59=4075 MHz", + "date": "2026-10-27 09:27:09.633574", + "duration": 0.4391150651499629, + "mem_max_rss": 44597248, + "runnable_threads": 8, + "uptime": 7226768.636122465 + }, + "values": [ + 0.0008142122751451097, + 0.0008148814958985895, + 0.0008138899283949286 + ], + "warmups": [ + [ + 128, + 0.0008219856463256292 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-3,11,13-21,24-31,33-41,43-44,46-49,51-58,61-63=2200 MHz; 4,7,23=3700 MHz; 5=3143 MHz; 6=2041 MHz; 8=2054 MHz; 9=2050 MHz; 10=3214 MHz; 12,60=4048 MHz; 22=2376 MHz; 32,42=4086 MHz; 45=2390 MHz; 50=4046 MHz; 59=4087 MHz", + "date": "2026-10-27 09:27:10.209471", + "duration": 0.4329220661893487, + "mem_max_rss": 44158976, + "runnable_threads": 6, + "uptime": 7226769.21176672 + }, + "values": [ + 0.00080077163875103, + 0.0008013257829588838, + 0.0008002083341125399 + ], + "warmups": [ + [ + 128, + 0.0008091615090961568 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-4,6-11,13-15,17-21,23,26-27,30-31,33-37,39,42-47,49,51-56,60-62=2200 MHz; 5,12,32,40=4125 MHz; 16=2265 MHz; 22=2155 MHz; 24,50,59=3700 MHz; 25=2923 MHz; 28=2063 MHz; 29=4105 MHz; 38=2044 MHz; 41=2098 MHz; 48=4129 MHz; 57=4134 MHz; 58=4135 MHz; 63=2502 MHz", + "date": "2026-10-27 09:27:10.787143", + "duration": 0.43232468888163567, + "mem_max_rss": 45088768, + "runnable_threads": 6, + "uptime": 7226769.789644957 + }, + "values": [ + 0.0008009275697986595, + 0.0008009933517314494, + 0.0007999798253877088 + ], + "warmups": [ + [ + 128, + 0.0008095504163065925 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "fc0f24de5cdd54597813c04700657d3de6d8205d749eca0d30af9d04bedd04fd", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "load_avg_1min": 4.44, + "loops": 128, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.stdout new file mode 100644 index 0000000..926322c --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 806 us +- 6 us diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.worker-env.json new file mode 100644 index 0000000..aa42e10 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "4" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.driver.py new file mode 100644 index 0000000..44ec9b0 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.native.json new file mode 100644 index 0000000..5098ad1 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.native.json @@ -0,0 +1,198 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 128, + "cpu_freq": "0-1,3,5-7,9-12,14-17,19,21-23,25-27,30-44,46-54,56-63=2200 MHz; 2=4095 MHz; 4,8=4100 MHz; 13,20=4056 MHz; 18=3728 MHz; 24=4055 MHz; 28=4089 MHz; 29=3012 MHz; 45=3700 MHz; 55=2037 MHz", + "date": "2026-10-27 09:27:25.262053", + "duration": 0.537942067719996, + "load_avg_1min": 4.12, + "mem_max_rss": 44593152, + "runnable_threads": 6, + "uptime": 7226784.264200687 + }, + "warmups": [ + [ + 1, + 0.0016261003911495209 + ], + [ + 2, + 0.0009706169366836548 + ], + [ + 4, + 0.0008042552508413792 + ], + [ + 8, + 0.0008027489529922605 + ], + [ + 16, + 0.0008060058462433517 + ], + [ + 32, + 0.0008082665153779089 + ], + [ + 64, + 0.0008075888326857239 + ], + [ + 128, + 0.000807810400146991 + ], + [ + 128, + 0.0008075325022218749 + ], + [ + 128, + 0.0008071176562225446 + ], + [ + 128, + 0.0008065420115599409 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,2-3,5-7,9-10,13-14,17,19-28,30-40,42,45-58,60-63=2200 MHz; 1,4,8=4150 MHz; 11=2060 MHz; 12=3700 MHz; 15=2797 MHz; 16=4106 MHz; 18=2062 MHz; 29,44=4108 MHz; 41=2054 MHz; 43=2061 MHz; 59=4120 MHz", + "date": "2026-10-27 09:27:25.833567", + "duration": 0.4266470577567816, + "load_avg_1min": 4.12, + "mem_max_rss": 44564480, + "runnable_threads": 6, + "uptime": 7226784.835997343 + }, + "values": [ + 0.0007942267111502588, + 0.0007887197643867694, + 0.0007883378057158552 + ], + "warmups": [ + [ + 128, + 0.0007974015898071229 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,3-4,6-7,9-13,15,17-19,21,24,26-27,29-54,57-58,60-63=2200 MHz; 1,5,8,14,16,28=4100 MHz; 2=2049 MHz; 20=2372 MHz; 22=2051 MHz; 23=3746 MHz; 25=3165 MHz; 55-56=3700 MHz; 59=4097 MHz", + "date": "2026-10-27 09:27:26.414324", + "duration": 0.4363864418119192, + "load_avg_1min": 4.12, + "mem_max_rss": 44158976, + "runnable_threads": 6, + "uptime": 7226785.41630125 + }, + "values": [ + 0.0008073899225564674, + 0.0008090469782473519, + 0.0008068042079685256 + ], + "warmups": [ + [ + 128, + 0.0008176924748113379 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-3,6-7,9-12,15,17-21,24-28,30,33-44,46-48,51,53-56,60-62=2200 MHz; 4=3061 MHz; 5=3066 MHz; 8,16=4125 MHz; 13=4105 MHz; 14=4129 MHz; 22,52=1867 MHz; 23=2800 MHz; 29,32,57=4103 MHz; 31,58-59=2057 MHz; 45=3700 MHz; 49=2750 MHz; 50=2050 MHz; 63=2047 MHz", + "date": "2026-10-27 09:27:26.994924", + "duration": 0.436239049769938, + "load_avg_1min": 4.27, + "mem_max_rss": 44617728, + "runnable_threads": 14, + "uptime": 7226785.997368574 + }, + "values": [ + 0.0008075465666479431, + 0.0008059491228777915, + 0.000805216608569026 + ], + "warmups": [ + [ + 128, + 0.0008186519480659626 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-3,5-7,9-11,14-15,17-27,29-31,33-42,44,46-56,58-63=2200 MHz; 4,13,16=4100 MHz; 8=3106 MHz; 12,45=3700 MHz; 28=4079 MHz; 32=4102 MHz; 43=4091 MHz; 57=4078 MHz", + "date": "2026-10-27 09:27:27.576075", + "duration": 0.43579145427793264, + "load_avg_1min": 4.27, + "mem_max_rss": 44617728, + "runnable_threads": 6, + "uptime": 7226786.57836628 + }, + "values": [ + 0.0008089041657513008, + 0.000808965261967387, + 0.0008067178059718572 + ], + "warmups": [ + [ + 128, + 0.00081673551176209 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=2643 MHz; 1-3,5-13,15,17-26,28-31,34-42,44-62=2200 MHz; 4,14,16,32,63=4100 MHz; 27=4078 MHz; 33=3700 MHz; 43=4097 MHz", + "date": "2026-10-27 09:27:28.156456", + "duration": 0.4359636353328824, + "load_avg_1min": 4.27, + "mem_max_rss": 44875776, + "runnable_threads": 6, + "uptime": 7226787.1588974 + }, + "values": [ + 0.0008072837445070036, + 0.0008065381844062358, + 0.0008051015320234001 + ], + "warmups": [ + [ + 128, + 0.0008182229576050304 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "fc0f24de5cdd54597813c04700657d3de6d8205d749eca0d30af9d04bedd04fd", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "loops": 128, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.stdout new file mode 100644 index 0000000..a42d218 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 804 us +- 7 us diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.worker-env.json new file mode 100644 index 0000000..aa42e10 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "4" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.driver.py new file mode 100644 index 0000000..17046cd --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.native.json new file mode 100644 index 0000000..4fe9f83 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.native.json @@ -0,0 +1,193 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 128, + "cpu_freq": "0-1,4-11,13-15,17-19,21-27,30-33,35-39,41-44,46-56,58-63=2200 MHz; 2=4089 MHz; 3=3765 MHz; 12=4054 MHz; 16,28,40=4074 MHz; 20,34,57=4075 MHz; 29=3537 MHz; 45=3700 MHz", + "date": "2026-10-27 09:26:33.082284", + "duration": 0.54109145142138, + "mem_max_rss": 44118016, + "runnable_threads": 6, + "uptime": 7226732.0842142105 + }, + "warmups": [ + [ + 1, + 0.0016300315037369728 + ], + [ + 2, + 0.0009731119498610497 + ], + [ + 4, + 0.000806095078587532 + ], + [ + 8, + 0.0008031928446143866 + ], + [ + 16, + 0.0008103615255095065 + ], + [ + 32, + 0.0008106734021566808 + ], + [ + 64, + 0.0008108326146611944 + ], + [ + 128, + 0.0008104833177640103 + ], + [ + 128, + 0.0008130542846629396 + ], + [ + 128, + 0.0008115789387375116 + ], + [ + 128, + 0.0008114186421153136 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-7,9-11,14-15,17-19,21-24,27,29-32,35-38,40-42,44,46-53,55-60,62-63=2200 MHz; 8,16,26,39,54=4075 MHz; 12-13,45=3700 MHz; 20=2036 MHz; 25=4077 MHz; 28=4073 MHz; 33=4054 MHz; 34,43=2038 MHz; 61=2027 MHz", + "date": "2026-10-27 09:26:33.656779", + "duration": 0.4303078996017575, + "mem_max_rss": 44564480, + "runnable_threads": 7, + "uptime": 7226732.658853292 + }, + "values": [ + 0.0007967998608364724, + 0.0007991591846803203, + 0.0007970329752424732 + ], + "warmups": [ + [ + 128, + 0.0008038515807129443 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1,4-7,9-15,17,19-22,24,26-33,35-45,48-51,53,55-59,61-63=2200 MHz; 2=4041 MHz; 3=2031 MHz; 8=4081 MHz; 16,23=4100 MHz; 18=2046 MHz; 25=4101 MHz; 34=4079 MHz; 46=4086 MHz; 47,60=4052 MHz; 52=2050 MHz; 54=2038 MHz", + "date": "2026-10-27 09:26:34.241255", + "duration": 0.43912339117377996, + "mem_max_rss": 44564480, + "runnable_threads": 6, + "uptime": 7226733.243225098 + }, + "values": [ + 0.0008109083064482547, + 0.0008120263810269535, + 0.0008168879212462343 + ], + "warmups": [ + [ + 128, + 0.0008257962472271174 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1,3-5,7,9,13,15,17-19,21-24,27-44,46-59,61-63=2200 MHz; 2,8,14,16=4081 MHz; 6=2141 MHz; 10=2035 MHz; 11=2038 MHz; 12,25,45=3700 MHz; 20=4080 MHz; 26=4096 MHz; 60=4079 MHz", + "date": "2026-10-27 09:26:34.824270", + "duration": 0.43649218790233135, + "mem_max_rss": 44621824, + "runnable_threads": 6, + "uptime": 7226733.826830387 + }, + "values": [ + 0.0008116175376926549, + 0.0008087289024842903, + 0.0008061717671807855 + ], + "warmups": [ + [ + 128, + 0.0008212645407184027 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-3,5,7,9-11,13,15,17-21,23-24,27-32,34-40,42-44,46,48-58,61-63=2200 MHz; 4,60=4075 MHz; 6=2038 MHz; 8,33=4054 MHz; 12=3377 MHz; 14,16=3700 MHz; 22=4055 MHz; 25=4074 MHz; 26=2208 MHz; 41=2337 MHz; 45=2800 MHz; 47=3813 MHz; 59=2037 MHz", + "date": "2026-10-27 09:26:35.406666", + "duration": 0.43807260878384113, + "mem_max_rss": 44265472, + "runnable_threads": 6, + "uptime": 7226734.40924716 + }, + "values": [ + 0.0008125759923132136, + 0.0008091214258456603, + 0.000807738906587474 + ], + "warmups": [ + [ + 128, + 0.0008262702322099358 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-3,5-7,9-11,13-15,17-22,24-25,28-29,32-33,35-44,46-59,63=2200 MHz; 4,12=4075 MHz; 8=4054 MHz; 16,27,30,45,60-61=3700 MHz; 23,26,31=4080 MHz; 34=4078 MHz; 62=4053 MHz", + "date": "2026-10-27 09:26:35.996887", + "duration": 0.43798376712948084, + "mem_max_rss": 44146688, + "runnable_threads": 6, + "uptime": 7226734.999015093 + }, + "values": [ + 0.0008157020492944866, + 0.000811012061603833, + 0.000810287136118859 + ], + "warmups": [ + [ + 128, + 0.0008211963358917274 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "fc0f24de5cdd54597813c04700657d3de6d8205d749eca0d30af9d04bedd04fd", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "load_avg_1min": 3.13, + "loops": 128, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.stdout new file mode 100644 index 0000000..285b522 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 808 us +- 6 us diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.worker-env.json new file mode 100644 index 0000000..aa42e10 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "4" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.driver.py new file mode 100644 index 0000000..e7ab70a --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.native.json new file mode 100644 index 0000000..0c98df1 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.native.json @@ -0,0 +1,193 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 128, + "cpu_freq": "0-1,4-15,17,19,21-23,25-35,37,39-41,43-44,46,48-53,56-60,62-63=2200 MHz; 2-3=3700 MHz; 16,47=4125 MHz; 18=2053 MHz; 20=3292 MHz; 24,36,42,61=4103 MHz; 38=2062 MHz; 45=2800 MHz; 54=3893 MHz; 55=4105 MHz", + "date": "2026-10-27 09:26:50.478499", + "duration": 0.5316393449902534, + "load_avg_1min": 3.1, + "mem_max_rss": 45088768, + "uptime": 7226749.480686665 + }, + "warmups": [ + [ + 1, + 0.0016152914613485336 + ], + [ + 2, + 0.000957166776061058 + ], + [ + 4, + 0.0007902325596660376 + ], + [ + 8, + 0.0007931350264698267 + ], + [ + 16, + 0.00079286505933851 + ], + [ + 32, + 0.0007967772835399956 + ], + [ + 64, + 0.0007963980606291443 + ], + [ + 128, + 0.0007956231274874881 + ], + [ + 128, + 0.0007965813420014456 + ], + [ + 128, + 0.0007974809559527785 + ], + [ + 128, + 0.0007969557991600595 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1,5-9,11,13-15,17-19,22-23,25-35,37,40-53,56-60,62-63=2200 MHz; 2,4,12,16=4100 MHz; 3,20,36=3700 MHz; 10=3358 MHz; 21=2072 MHz; 24=4099 MHz; 38=2062 MHz; 39=2218 MHz; 54=4105 MHz; 55=4096 MHz; 61=4123 MHz", + "date": "2026-10-27 09:26:51.060402", + "duration": 0.4369977964088321, + "load_avg_1min": 3.1, + "mem_max_rss": 44564480, + "uptime": 7226750.062471151 + }, + "values": [ + 0.0008119701305986382, + 0.0008095736047835089, + 0.000806390613433905 + ], + "warmups": [ + [ + 128, + 0.0008180761360563338 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-1,3-4,6,8-10,14-15,17-23,25-30,32-35,37-40,42-44,46-51,53-54,56-63=2200 MHz; 2,16,24=4075 MHz; 5=3721 MHz; 7=2609 MHz; 11,45=3700 MHz; 12=4076 MHz; 13=2101 MHz; 31=4054 MHz; 36,55=4074 MHz; 41=2800 MHz; 52=3052 MHz", + "date": "2026-10-27 09:26:51.643602", + "duration": 0.4387183478102088, + "load_avg_1min": 3.1, + "mem_max_rss": 44134400, + "uptime": 7226750.646299124 + }, + "values": [ + 0.0008137472686939873, + 0.0008117406759993173, + 0.0008123274019453675 + ], + "warmups": [ + [ + 128, + 0.0008214509507524781 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,4,8-15,23,25-27,30-31,33-36,38-42,44-46,49,51-57,59-60,62=2200 MHz; 1=2199 MHz; 2=4095 MHz; 3,5,17,50=2050 MHz; 6,47=4079 MHz; 7=2030 MHz; 16=4099 MHz; 18,37=2049 MHz; 19=2046 MHz; 20=3591 MHz; 21=4103 MHz; 22=3540 MHz; 24=4100 MHz; 28,61=3700 MHz; 29=3558 MHz; 32,48,58,63=2800 MHz; 43=4078 MHz", + "date": "2026-10-27 09:26:52.219661", + "duration": 0.4309557182714343, + "load_avg_1min": 3.34, + "mem_max_rss": 44294144, + "uptime": 7226751.222088814 + }, + "values": [ + 0.000798697306890972, + 0.0007967596247908659, + 0.0007986053460626863 + ], + "warmups": [ + [ + 128, + 0.0008071464762906544 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0=2050 MHz; 1=4125 MHz; 2-5,7,9,11-15,18-19,21-23,25-31,33-36,39-40,42-44,46,48-51,55-60,62-63=2200 MHz; 6=3316 MHz; 8=3993 MHz; 10=2721 MHz; 16=4091 MHz; 17,24=4086 MHz; 20=2052 MHz; 32=2046 MHz; 37=4079 MHz; 38=2049 MHz; 41=2003 MHz; 45=3700 MHz; 47,52=4094 MHz; 53=4099 MHz; 54=3600 MHz; 61=4100 MHz", + "date": "2026-10-27 09:26:52.799011", + "duration": 0.43596063274890184, + "load_avg_1min": 3.34, + "mem_max_rss": 44208128, + "uptime": 7226751.801479578 + }, + "values": [ + 0.0008140489080687985, + 0.0008046442526392639, + 0.0008009653029148467 + ], + "warmups": [ + [ + 128, + 0.0008152267328114249 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,2-6,8-15,19-23,25-30,32-34,36,40-41,43-45,48-51,55-56,58-60,62-63=2200 MHz; 1,16,47=3700 MHz; 7=2037 MHz; 17,24,35=4100 MHz; 18=2054 MHz; 31=2715 MHz; 37,39=2050 MHz; 38=4079 MHz; 42=2331 MHz; 46=4078 MHz; 52=2199 MHz; 53=3883 MHz; 54=4095 MHz; 57=2051 MHz; 61=4109 MHz", + "date": "2026-10-27 09:26:53.376314", + "duration": 0.4318548319861293, + "load_avg_1min": 3.34, + "mem_max_rss": 44097536, + "uptime": 7226752.378882885 + }, + "values": [ + 0.0008003177208593115, + 0.000799721383373253, + 0.000799141766037792 + ], + "warmups": [ + [ + 128, + 0.0008099751794361509 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "fc0f24de5cdd54597813c04700657d3de6d8205d749eca0d30af9d04bedd04fd", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "loops": 128, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "runnable_threads": 6, + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.stdout new file mode 100644 index 0000000..bcaa4b8 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.stdout @@ -0,0 +1,10 @@ +...... +WARNING: the benchmark result may be unstable +* Not enough samples to get a stable result (95% certainly of less than 1% variation) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 805 us +- 6 us diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.worker-env.json new file mode 100644 index 0000000..aa42e10 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "4" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-1.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-1.json new file mode 100644 index 0000000..221eb60 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-1.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-4:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D:load-average:slot-1", + "attempt_key": "urn:benchx:attempt:3fa6bcb1d91e57e6:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 2.75 + ] + }, + "procedure": { + "round": 0, + "slot": 1 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-4", + "started_at": "2026-10-27T09:26:15.058100Z", + "ended_at": "2026-10-27T09:26:18.780531Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:3fa6bcb1d91e57e60507446e8dea0714f3e0c7f375cf82bc04823be85497509b", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-10.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-10.json new file mode 100644 index 0000000..f9adf05 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-10.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-4:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D:load-average:slot-10", + "attempt_key": "urn:benchx:attempt:0e0e0f609e1a090c:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 4.44 + ] + }, + "procedure": { + "round": 3, + "slot": 10 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-4", + "started_at": "2026-10-27T09:27:07.137019Z", + "ended_at": "2026-10-27T09:27:10.869584Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:0e0e0f609e1a090cad66f271541319adacbcc3518d85af9c0736fe73a6928de8", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-13.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-13.json new file mode 100644 index 0000000..065f514 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-13.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-4:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D:load-average:slot-13", + "attempt_key": "urn:benchx:attempt:2fd31a54479e4018:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 4.12 + ] + }, + "procedure": { + "round": 4, + "slot": 13 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-4", + "started_at": "2026-10-27T09:27:24.519836Z", + "ended_at": "2026-10-27T09:27:28.238240Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:2fd31a54479e401854bec32b542b30fe76160b9be7833f2ba012d23a347aca49", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-4.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-4.json new file mode 100644 index 0000000..467ad3d --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-4.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-4:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D:load-average:slot-4", + "attempt_key": "urn:benchx:attempt:28ca4cdb7a34e495:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 3.13 + ] + }, + "procedure": { + "round": 1, + "slot": 4 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-4", + "started_at": "2026-10-27T09:26:32.337651Z", + "ended_at": "2026-10-27T09:26:36.078663Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:28ca4cdb7a34e4951923d031411d5ad64ad5df4708fc7bf35c567607501dc5e9", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-7.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-7.json new file mode 100644 index 0000000..2c18cd4 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_load-average_slot-7.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-4:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D:load-average:slot-7", + "attempt_key": "urn:benchx:attempt:10f8a400424645d4:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 3.1 + ] + }, + "procedure": { + "round": 2, + "slot": 7 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-4", + "started_at": "2026-10-27T09:26:49.741588Z", + "ended_at": "2026-10-27T09:26:53.458223Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:10f8a400424645d488399bf353e3f600b7b05a56c1ce8d0da216fe81b1ef7801", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-1.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-1.json new file mode 100644 index 0000000..0b57118 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-1.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-4:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D:wall-time:slot-1", + "attempt_key": "urn:benchx:attempt:3fa6bcb1d91e57e6:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0007987790158949792, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0008019981178222224, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.00079761040979065, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0008019193774089217, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.0008009578741621226, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0008010758392629214, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.000805066607426852, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.000802794769697357, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.0008005904528545216, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.000809391654911451, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.0008087614842224866, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0008212150059989654, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0007997268476174213, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.0008016875726752914, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.0008022961701499298, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 128, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 3.722431, + "round": 0, + "slot": 1, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-4", + "started_at": "2026-10-27T09:26:15.058100Z", + "ended_at": "2026-10-27T09:26:18.780531Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.native.json", + "sha256": "ba10767f97f6faa1bd6b8c83905879c9948d8626a8d327eea00edbb593932f42" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.stdout", + "sha256": "a2bd86908d03efb2f8b2004c5f890911d2f079e166a59b4884ef132ed64df05e" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.driver.py", + "sha256": "a4e8f6f5acfdcd32ee4c3441464a11b0f9f68dd172f924000ffe52f9a02e345d" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/0000.worker-env.json", + "sha256": "e5ecda9d53ff8d259918f7ae89d969d25cdfc857e24569a8889111e789c5cd11" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-1/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:3fa6bcb1d91e57e60507446e8dea0714f3e0c7f375cf82bc04823be85497509b", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-10.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-10.json new file mode 100644 index 0000000..0d22f58 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-10.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-4:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D:wall-time:slot-10", + "attempt_key": "urn:benchx:attempt:0e0e0f609e1a090c:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0008022414913284592, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0007997225548024289, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.0008036049403017387, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0008127850596792996, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.0008111159768304788, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0008125503736664541, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.0008142122751451097, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.0008148814958985895, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.0008138899283949286, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.00080077163875103, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.0008013257829588838, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0008002083341125399, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0008009275697986595, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.0008009933517314494, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.0007999798253877088, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 128, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 3.732565, + "round": 3, + "slot": 10, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-4", + "started_at": "2026-10-27T09:27:07.137019Z", + "ended_at": "2026-10-27T09:27:10.869584Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.native.json", + "sha256": "a37edb803cfdac13a71aaec1da110a42c0016011fd93d346106fbf18610401af" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.stdout", + "sha256": "d0a542c65003837b37f0771c7e97620aff0836476efe01a861557881f7f8566d" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.driver.py", + "sha256": "0743894ba35d3800cd21b75ff4ed6d9b9314403ce69f7a45013ab018839867a9" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/0000.worker-env.json", + "sha256": "e5ecda9d53ff8d259918f7ae89d969d25cdfc857e24569a8889111e789c5cd11" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-10/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:0e0e0f609e1a090cad66f271541319adacbcc3518d85af9c0736fe73a6928de8", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-13.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-13.json new file mode 100644 index 0000000..14e0178 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-13.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-4:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D:wall-time:slot-13", + "attempt_key": "urn:benchx:attempt:2fd31a54479e4018:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0007942267111502588, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0007887197643867694, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.0007883378057158552, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0008073899225564674, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.0008090469782473519, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0008068042079685256, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.0008075465666479431, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.0008059491228777915, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.000805216608569026, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.0008089041657513008, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.000808965261967387, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0008067178059718572, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0008072837445070036, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.0008065381844062358, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.0008051015320234001, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 128, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 3.718404, + "round": 4, + "slot": 13, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-4", + "started_at": "2026-10-27T09:27:24.519836Z", + "ended_at": "2026-10-27T09:27:28.238240Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.native.json", + "sha256": "d733ec06825b38d94686254db01c2cb5c39708a63b0fbf0f125f77a5081fcbfb" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.stdout", + "sha256": "51f812b7f93819607357a2f9719e956eeb3e6faf4adb876e3c000f22bcd5e7ff" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.driver.py", + "sha256": "c6c7cbb40ceab9aba9a3b93255c5e81c93924c9d431550cef25e84e5dbfd28ff" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/0000.worker-env.json", + "sha256": "e5ecda9d53ff8d259918f7ae89d969d25cdfc857e24569a8889111e789c5cd11" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-13/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:2fd31a54479e401854bec32b542b30fe76160b9be7833f2ba012d23a347aca49", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-4.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-4.json new file mode 100644 index 0000000..38a4ffa --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-4.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-4:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D:wall-time:slot-4", + "attempt_key": "urn:benchx:attempt:28ca4cdb7a34e495:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0007967998608364724, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0007991591846803203, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.0007970329752424732, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0008109083064482547, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.0008120263810269535, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0008168879212462343, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.0008116175376926549, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.0008087289024842903, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.0008061717671807855, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.0008125759923132136, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.0008091214258456603, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.000807738906587474, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0008157020492944866, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.000811012061603833, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.000810287136118859, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 128, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 3.741012, + "round": 1, + "slot": 4, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-4", + "started_at": "2026-10-27T09:26:32.337651Z", + "ended_at": "2026-10-27T09:26:36.078663Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.native.json", + "sha256": "f24174ce0f2877968e6babc92d73e2b440039b37402577624b1ec405a0414b9f" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.stdout", + "sha256": "2ada55dd9373a0c088e37a560aba813d0383aac443233a13da3005d9a4acc759" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.driver.py", + "sha256": "8d188c60fd04bc3c1b495be721faa132b45c317c0e4f1e07e39de5e893c1005a" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/0000.worker-env.json", + "sha256": "e5ecda9d53ff8d259918f7ae89d969d25cdfc857e24569a8889111e789c5cd11" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-4/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:28ca4cdb7a34e4951923d031411d5ad64ad5df4708fc7bf35c567607501dc5e9", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-7.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-7.json new file mode 100644 index 0000000..46c393e --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/numpy-6e1aca7eda-threads-4_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D_wall-time_slot-7.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-4:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%224%22%7D:wall-time:slot-7", + "attempt_key": "urn:benchx:attempt:10f8a400424645d4:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "4" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0008119701305986382, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.0008095736047835089, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.000806390613433905, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.0008137472686939873, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.0008117406759993173, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.0008123274019453675, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.000798697306890972, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.0007967596247908659, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.0007986053460626863, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.0008140489080687985, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.0008046442526392639, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0008009653029148467, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0008003177208593115, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.000799721383373253, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.000799141766037792, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 128, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 3.716636, + "round": 2, + "slot": 7, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-4", + "started_at": "2026-10-27T09:26:49.741588Z", + "ended_at": "2026-10-27T09:26:53.458223Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.native.json", + "sha256": "1d082dc5ec640125c382994b89f66179e4bfcd15debde2c6f38f2d38cf623f50" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.stdout", + "sha256": "9ddbc4793e57bd07f72a47c4fdbc101ca9f2215cb81de1ff9902aa3758e19dc3" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.driver.py", + "sha256": "aa502ad5c0fc4c7b7f981dff1296919a22a3e66b75f0fbd228779ea346a4ad81" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/0000.worker-env.json", + "sha256": "e5ecda9d53ff8d259918f7ae89d969d25cdfc857e24569a8889111e789c5cd11" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/artifacts/slot-7/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:10f8a400424645d488399bf353e3f600b7b05a56c1ce8d0da216fe81b1ef7801", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0001.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0001.json new file mode 100644 index 0000000..d1bb6f9 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0001.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:83e3f742-94bc-486e-887d-9f9657067e39", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-4", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 0, + "slot": 1, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "4" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0004.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0004.json new file mode 100644 index 0000000..87c28ac --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0004.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:591a9763-02dd-4672-905b-64b510c4a6e9", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-4", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 1, + "slot": 4, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "4" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0007.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0007.json new file mode 100644 index 0000000..0d8579e --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0007.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:4c648abc-9480-4c3a-96aa-b8a420d9045e", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-4", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 2, + "slot": 7, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "4" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0010.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0010.json new file mode 100644 index 0000000..7ad9541 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0010.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:7befe4e9-bcc0-4db1-9b9f-777a5953a216", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-4", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 3, + "slot": 10, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "4" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0013.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0013.json new file mode 100644 index 0000000..787796a --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/orders/order-0013.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:95e2d58d-567b-410f-9049-3da5e5345532", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-4", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 4, + "slot": 13, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "4" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-0e0e0f609e1a090cad66f271541319adacbcc3518d85af9c0736fe73a6928de8.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-0e0e0f609e1a090cad66f271541319adacbcc3518d85af9c0736fe73a6928de8.json new file mode 100644 index 0000000..7ad9541 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-0e0e0f609e1a090cad66f271541319adacbcc3518d85af9c0736fe73a6928de8.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:7befe4e9-bcc0-4db1-9b9f-777a5953a216", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-4", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 3, + "slot": 10, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "4" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-10f8a400424645d488399bf353e3f600b7b05a56c1ce8d0da216fe81b1ef7801.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-10f8a400424645d488399bf353e3f600b7b05a56c1ce8d0da216fe81b1ef7801.json new file mode 100644 index 0000000..0d8579e --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-10f8a400424645d488399bf353e3f600b7b05a56c1ce8d0da216fe81b1ef7801.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:4c648abc-9480-4c3a-96aa-b8a420d9045e", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-4", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 2, + "slot": 7, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "4" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-28ca4cdb7a34e4951923d031411d5ad64ad5df4708fc7bf35c567607501dc5e9.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-28ca4cdb7a34e4951923d031411d5ad64ad5df4708fc7bf35c567607501dc5e9.json new file mode 100644 index 0000000..87c28ac --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-28ca4cdb7a34e4951923d031411d5ad64ad5df4708fc7bf35c567607501dc5e9.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:591a9763-02dd-4672-905b-64b510c4a6e9", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-4", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 1, + "slot": 4, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "4" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-2fd31a54479e401854bec32b542b30fe76160b9be7833f2ba012d23a347aca49.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-2fd31a54479e401854bec32b542b30fe76160b9be7833f2ba012d23a347aca49.json new file mode 100644 index 0000000..787796a --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-2fd31a54479e401854bec32b542b30fe76160b9be7833f2ba012d23a347aca49.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:95e2d58d-567b-410f-9049-3da5e5345532", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-4", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 4, + "slot": 13, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "4" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-3fa6bcb1d91e57e60507446e8dea0714f3e0c7f375cf82bc04823be85497509b.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-3fa6bcb1d91e57e60507446e8dea0714f3e0c7f375cf82bc04823be85497509b.json new file mode 100644 index 0000000..d1bb6f9 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-3fa6bcb1d91e57e60507446e8dea0714f3e0c7f375cf82bc04823be85497509b.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:83e3f742-94bc-486e-887d-9f9657067e39", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-4", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 0, + "slot": 1, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "4" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-fb32649b3124600c398a0e4018436d15f00ca5b47bd3045d09c0d70dbfbcded1.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-fb32649b3124600c398a0e4018436d15f00ca5b47bd3045d09c0d70dbfbcded1.json new file mode 100644 index 0000000..f17c09b --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-4/workorder-fb32649b3124600c398a0e4018436d15f00ca5b47bd3045d09c0d70dbfbcded1.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:0e27aa41-b6a1-4d84-8205-4646601b27b9", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-4", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 0, + "slot": 1, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "4" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.driver.py b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.driver.py new file mode 100644 index 0000000..0bc1538 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.driver.py @@ -0,0 +1,26 @@ +# Generated by benchx. Runs one function under pyperf. +import hashlib, json, os, sys +from pathlib import Path + +# Before anything of the user's is imported: what this process was given. +_ENV = dict(os.environ) +_DIGEST = hashlib.sha256( + json.dumps(_ENV, sort_keys=True, separators=(",", ":"), ensure_ascii=False).encode()).hexdigest() + +import importlib.util +import pyperf + +runner = pyperf.Runner() +runner.parse_args() +runner.metadata['benchx_env_sha256'] = _DIGEST +if runner.args.worker: + # Only the allowlisted names: the digest above covers the whole environment, + # the file is shared, and CI environments carry secrets. + Path('/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.worker-env.json').write_text(json.dumps({k: _ENV[k] for k in ['OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS', 'MKL_NUM_THREADS', 'VECLIB_MAXIMUM_THREADS', 'NUMEXPR_NUM_THREADS', 'CUDA_VISIBLE_DEVICES', 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_PRELOAD', 'PYTHONHASHSEED'] if k in _ENV}, sort_keys=True, indent=1)) + +sys.path[:0] = ['/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin', '/home/ev-br/repos/numpy/build-install'] +spec = importlib.util.spec_from_file_location("benchx_suite", '/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py') +module = importlib.util.module_from_spec(spec) +sys.modules["benchx_suite"] = module +spec.loader.exec_module(module) +runner.bench_func('bench_matmul', getattr(module, 'bench_matmul')) diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.native.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.native.json new file mode 100644 index 0000000..f706b78 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.native.json @@ -0,0 +1,194 @@ +{ + "benchmarks": [ + { + "runs": [ + { + "metadata": { + "calibrate_loops": 64, + "cpu_freq": "0-3=3979 MHz; 4-11,14-22,24-27,29-30,32-36,39-47,50-58,60-63=4000 MHz; 12-13,23,31,37-38,48-49,59=3999 MHz; 28=3980 MHz", + "date": "2026-10-27 09:23:39.397545", + "duration": 1.054352450184524, + "load_avg_1min": 1.9, + "mem_max_rss": 42991616, + "runnable_threads": 67, + "uptime": 7226558.402292967 + }, + "warmups": [ + [ + 1, + 0.005441097542643547 + ], + [ + 2, + 0.004273589234799147 + ], + [ + 4, + 0.00254424219019711 + ], + [ + 8, + 0.005342929856851697 + ], + [ + 16, + 0.003069708705879748 + ], + [ + 32, + 0.003156337625114247 + ], + [ + 32, + 0.003031036671018228 + ], + [ + 64, + 0.0029688224603887647 + ], + [ + 64, + 0.004062411258928478 + ], + [ + 64, + 0.0037966950912959874 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-5,8-13,15-19,24-27,29-32,34-51,53-63=4000 MHz; 6-7,14,28,33=3999 MHz; 20-21,23,52=3980 MHz; 22=3979 MHz", + "date": "2026-10-27 09:23:40.738570", + "duration": 1.117205354385078, + "load_avg_1min": 1.9, + "mem_max_rss": 42467328, + "runnable_threads": 65, + "uptime": 7226559.743273973 + }, + "values": [ + 0.0029835832538083196, + 0.003328074948512949, + 0.0033905245072674006 + ], + "warmups": [ + [ + 64, + 0.00701357627985999 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-3,24,27=3980 MHz; 4-5,7-20,22-23,28-32,34,36-37,39-63=4000 MHz; 6,21,33,35,38=3999 MHz; 25-26=3979 MHz", + "date": "2026-10-27 09:23:42.051534", + "duration": 1.1507053468376398, + "load_avg_1min": 6.95, + "mem_max_rss": 42991616, + "runnable_threads": 65, + "uptime": 7226561.055673599 + }, + "values": [ + 0.003749721698113717, + 0.003325479294289835, + 0.004392104485305026 + ], + "warmups": [ + [ + 64, + 0.00577004294609651 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,2-3,8,10-16,18-30,36-51,53-56,58=4000 MHz; 1,9,17,31,52,57,59=3999 MHz; 4-5,33,35,60-63=3980 MHz; 6-7,32,34=3979 MHz", + "date": "2026-10-27 09:23:43.260540", + "duration": 1.0101367440074682, + "load_avg_1min": 6.95, + "mem_max_rss": 42991616, + "runnable_threads": 66, + "uptime": 7226562.265553236 + }, + "values": [ + 0.003092613085755147, + 0.0034841880260501057, + 0.0030776650819461793 + ], + "warmups": [ + [ + 64, + 0.0054607865458820015 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0-4,6,8-20,22-27,29-30,33,35-63=4000 MHz; 5,7,21,28,31-32,34=3999 MHz", + "date": "2026-10-27 09:23:44.834429", + "duration": 1.349747009575367, + "load_avg_1min": 6.95, + "mem_max_rss": 42991616, + "runnable_threads": 66, + "uptime": 7226563.838364601 + }, + "values": [ + 0.007467800940503366, + 0.0038617879326920956, + 0.0047964369296096265 + ], + "warmups": [ + [ + 64, + 0.004257922162651084 + ] + ] + }, + { + "metadata": { + "cpu_freq": "0,2,4-14,16-17,19-20,22-24,26-41,43-60,62-63=4000 MHz; 1,3,15,18,21,25,42,61=3999 MHz", + "date": "2026-10-27 09:23:46.027369", + "duration": 0.9675410566851497, + "load_avg_1min": 6.95, + "mem_max_rss": 42991616, + "runnable_threads": 66, + "uptime": 7226565.0322704315 + }, + "values": [ + 0.0033278929186053574, + 0.0030154002306517214, + 0.00365597392374184 + ], + "warmups": [ + [ + 64, + 0.004411718473420478 + ] + ] + } + ] + } + ], + "metadata": { + "aslr": "Full randomization", + "benchx_env_sha256": "405e4be28aa015e7079673b5bf1b15251878a0bb1529a67334bc538e1cb5dbb1", + "boot_time": "2026-08-04 18:01:01", + "cpu_config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle", + "cpu_count": 64, + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "hostname": "qgpu3", + "loops": 64, + "name": "bench_matmul", + "perf_version": "2.10.0", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "python_cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include", + "python_compiler": "GCC 14.3.0", + "python_config_args": "'--prefix=/home/ev-br/.conda/envs/numpy-dev''--build=x86_64-conda-linux-gnu''--host=x86_64-conda-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/home/ev-br/.conda/envs/numpy-dev/share/zoneinfo:/home/ev-br/.conda/envs/numpy-dev/share/tzinfo''--with-computed-gotos''--with-system-expat''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/home/ev-br/.conda/envs/numpy-dev/include''--with-tcltk-libs=-L/home/ev-br/.conda/envs/numpy-dev/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto=full''--enable-optimizations''-oldincludedir=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/x86_64-conda-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda-linux-gnu''host_alias=x86_64-conda-linux-gnu''PKG_CONFIG_PATH=/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS= -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include ''LDFLAGS= -Wl,--allow-shlib-undefined -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib -L/home/ev-br/.conda/envs/numpy-dev/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -I/home/ev-br/.conda/envs/numpy-dev/include''CPP=/home/conda/feedstock_root/build_artifacts/python-split_1761174448471/_build_env/bin/cpp'", + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "python_implementation": "cpython", + "python_version": "3.12.12 (64-bit)", + "timer": "clock_gettime(CLOCK_MONOTONIC), resolution: 1.00 ns", + "unit": "second" + }, + "version": "1.0" +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.stderr b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.stderr new file mode 100644 index 0000000..e69de29 diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.stdout b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.stdout new file mode 100644 index 0000000..0ea4f22 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.stdout @@ -0,0 +1,11 @@ +...... +WARNING: the benchmark result may be unstable +* the standard deviation (1.14 ms) is 30% of the mean (3.80 ms) +* the maximum (7.47 ms) is 97% greater than the mean (3.80 ms) + +Try to rerun the benchmark with more runs, values and/or loops. +Run 'python -m pyperf system tune' command to reduce the system jitter. +Use pyperf stats, pyperf dump and pyperf hist to analyze results. +Use --quiet option to hide these warnings. + +bench_matmul: Mean +- std dev: 3.80 ms +- 1.14 ms diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.worker-env.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.worker-env.json new file mode 100644 index 0000000..735e395 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.worker-env.json @@ -0,0 +1,3 @@ +{ + "OPENBLAS_NUM_THREADS": "64" +} \ No newline at end of file diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/collector-numpy-build.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/collector-numpy-build.json new file mode 100644 index 0000000..88f19ad --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/collector-numpy-build.json @@ -0,0 +1,103 @@ +{ + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + }, + "summary": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ] + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/numpy-6e1aca7eda-threads-64_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2264%22%7D_load-average_slot-2.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/numpy-6e1aca7eda-threads-64_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2264%22%7D_load-average_slot-2.json new file mode 100644 index 0000000..5c00988 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/numpy-6e1aca7eda-threads-64_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2264%22%7D_load-average_slot-2.json @@ -0,0 +1,239 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/runner-probe", + "version": "0.1.0", + "mapping_version": "benchx-probe/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-64:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2264%22%7D:load-average:slot-2", + "attempt_key": "urn:benchx:attempt:6c6665be3ce7cb1e:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "64" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "probe": { + "name": "os.getloadavg", + "sensor": "1-minute", + "sampling": { + "mode": "before-attempt" + } + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "64" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "load-average", + "unit": "1" + }, + "kind": "condition", + "status": "success", + "observations": [ + 1.9 + ] + }, + "procedure": { + "round": 0, + "slot": 2 + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-64", + "started_at": "2026-10-27T09:23:38.121126Z", + "ended_at": "2026-10-27T09:23:46.157051Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "info": { + "workorder_ref": "sha256:6c6665be3ce7cb1ec846dfac5bfd84549889cd815c107a7dcb185826afb52504", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/numpy-6e1aca7eda-threads-64_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2264%22%7D_wall-time_slot-2.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/numpy-6e1aca7eda-threads-64_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2264%22%7D_wall-time_slot-2.json new file mode 100644 index 0000000..7de600e --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/numpy-6e1aca7eda-threads-64_bench_matmul_%7B%22OPENBLAS_NUM_THREADS%22%3A%2264%22%7D_wall-time_slot-2.json @@ -0,0 +1,391 @@ +{ + "schema_version": 5, + "producer": { + "name": "benchx/pyperf-adapter", + "version": "0.1.0", + "mapping_version": "pyperf-to-benchx/v1" + }, + "ingest_key": "numpy-6e1aca7eda-threads-64:bench_matmul/%7B%22OPENBLAS_NUM_THREADS%22%3A%2264%22%7D:wall-time:slot-2", + "attempt_key": "urn:benchx:attempt:6c6665be3ce7cb1e:0", + "project": "numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "revision": { + "key": "c5ab79c14c98bfda1e60770ffa23a6130f8267b7" + }, + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": { + "key": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + } + }, + "coordinates": { + "workload": { + "name": "bench_matmul", + "parameters": { + "OPENBLAS_NUM_THREADS": "64" + } + }, + "subject": { + "name": "numpy", + "components": [ + { + "role": "primary" + } + ] + }, + "protocol": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + }, + "timer": "perf_counter", + "gc": "enabled", + "environment": "inherit-all", + "harness": { + "name": "pyperf", + "version": "2.10.0" + } + }, + "environment": { + "schema": "machine/v1", + "identity": { + "runner": "qgpu3", + "cpu": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cores": 64 + }, + "system": { + "architecture": "x86_64", + "os": { + "family": "Linux", + "kernel": "6.8.0-136-generic", + "aslr": "Full randomization", + "platform": "Linux-6.8.0-136-generic-x86_64-with-glibc2.39", + "boot_time": "2026-08-04 18:01:01" + }, + "libc": { + "name": "glibc", + "version": "2.39" + }, + "cpu": { + "governor": "schedutil", + "config": "0-63=driver:acpi-cpufreq, governor:schedutil; idle:acpi_idle" + }, + "process": { + "environment": { + "OPENBLAS_NUM_THREADS": "64" + } + }, + "numpy-build": { + "blas": { + "name": "openblas", + "version": "0.3.30" + }, + "c_compiler": { + "name": "gcc", + "version": "14.3.0" + }, + "lapack": { + "name": "openblas", + "version": "0.3.30" + }, + "numpy_version": "2.4.0", + "simd_baseline": [ + "X86_V2" + ], + "simd_found": [ + "X86_V3" + ], + "sha256": "b20d3d142398b8e996137017a765b45d5756ac84adb272d44f58d2391f3666e6" + }, + "runtime": { + "python": "3.12.12 (64-bit)", + "implementation": "cpython", + "compiler": "GCC 14.3.0", + "cflags": "-fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include -fPIC -O2 -isystem /home/ev-br/.conda/envs/numpy-dev/include" + } + } + } + }, + "measurement": { + "quantity": { + "name": "wall-time", + "unit": "s", + "direction": "lower-is-better" + }, + "status": "success", + "observations": [ + { + "value": 0.0029835832538083196, + "ordinal": 0, + "group": "0" + }, + { + "value": 0.003328074948512949, + "ordinal": 1, + "group": "0" + }, + { + "value": 0.0033905245072674006, + "ordinal": 2, + "group": "0" + }, + { + "value": 0.003749721698113717, + "ordinal": 3, + "group": "1" + }, + { + "value": 0.003325479294289835, + "ordinal": 4, + "group": "1" + }, + { + "value": 0.004392104485305026, + "ordinal": 5, + "group": "1" + }, + { + "value": 0.003092613085755147, + "ordinal": 6, + "group": "2" + }, + { + "value": 0.0034841880260501057, + "ordinal": 7, + "group": "2" + }, + { + "value": 0.0030776650819461793, + "ordinal": 8, + "group": "2" + }, + { + "value": 0.007467800940503366, + "ordinal": 9, + "group": "3" + }, + { + "value": 0.0038617879326920956, + "ordinal": 10, + "group": "3" + }, + { + "value": 0.0047964369296096265, + "ordinal": 11, + "group": "3" + }, + { + "value": 0.0033278929186053574, + "ordinal": 12, + "group": "4" + }, + { + "value": 0.0030154002306517214, + "ordinal": 13, + "group": "4" + }, + { + "value": 0.00365597392374184, + "ordinal": 14, + "group": "4" + } + ] + }, + "procedure": { + "attempted_repetitions": 15, + "completed_repetitions": 15, + "inner_iterations": 64, + "warmups_performed": 5, + "calibration_runs": 1, + "duration_seconds": 8.035925, + "round": 0, + "slot": 2, + "timeout_seconds": 60, + "repetition_levels": [ + { + "unit": "process", + "attempted": 5, + "completed": 5 + }, + { + "unit": "value", + "attempted": 15, + "completed": 15 + } + ] + }, + "provenance": { + "run_key": "numpy-6e1aca7eda-threads-64", + "started_at": "2026-10-27T09:23:38.121126Z", + "ended_at": "2026-10-27T09:23:46.157051Z", + "subject_dirty": "clean", + "benchmark_dirty": "clean", + "runner": { + "name": "benchx-prototype", + "version": "0.1.0" + }, + "artifacts": [ + { + "kind": "native-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.native.json", + "sha256": "7c22bfde912f5d2a726f1ed5d66589614c41799936e803d1a0ff99ca8d34ed26" + }, + { + "kind": "stdout", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.stdout", + "sha256": "c89106a9c359f64a9243e12efa686f1c38394e3932f4eee4ffd9e44bc1494aec" + }, + { + "kind": "stderr", + "media_type": "text/plain", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "kind": "driver", + "media_type": "text/x-python", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.driver.py", + "sha256": "0ac746a245a58ae34d120ff908f36dec36bcf88169c611e9612122aec92a82da" + }, + { + "kind": "worker-environment", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/0000.worker-env.json", + "sha256": "6f20505f8979eb29e8529429662087335330a70aee07ff02f45acd24d2325115" + }, + { + "kind": "collector-output", + "media_type": "application/json", + "uri": "file:///home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/artifacts/slot-2/collector-numpy-build.json", + "sha256": "db79925c0ccf0c4ed69a1ccd2d3ac4595b788014a5f3adeecf79efb85334ed9f" + } + ], + "info": { + "workorder_ref": "sha256:6c6665be3ce7cb1ec846dfac5bfd84549889cd815c107a7dcb185826afb52504", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "pyperf": { + "hostname": "qgpu3", + "cpu_model_name": "AMD Ryzen Threadripper 3970X 32-Core Processor", + "cpu_count": 64, + "python_executable": "/home/ev-br/.conda/envs/numpy-dev/bin/python", + "library_version": "2.10.0" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "target_provider": { + "name": "provider.py", + "version": "2" + } + }, + "subject_tree": "edd9d7c22ba2cadef99672f7027fe6650edad05f", + "benchmark_tree": "db87984013d0811046e9598c8e447ed59632a4e4" + } +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/orders/order-0002.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/orders/order-0002.json new file mode 100644 index 0000000..e26f743 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/orders/order-0002.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:361d97ab-ea3c-4a48-bf17-2d36b5e4f7bb", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-64", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 0, + "slot": 2, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "64" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +} diff --git a/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/workorder-6c6665be3ce7cb1ec846dfac5bfd84549889cd815c107a7dcb185826afb52504.json b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/workorder-6c6665be3ce7cb1ec846dfac5bfd84549889cd815c107a7dcb185826afb52504.json new file mode 100644 index 0000000..e26f743 --- /dev/null +++ b/examples/numpy-spin/results/numpy-6e1aca7eda-threads-64/workorder-6c6665be3ce7cb1ec846dfac5bfd84549889cd815c107a7dcb185826afb52504.json @@ -0,0 +1,172 @@ +{ + "schema_version": "benchx/work-order/0.1.0", + "work_order_id": "urn:uuid:361d97ab-ea3c-4a48-bf17-2d36b5e4f7bb", + "state": "resolved", + "suites": [ + { + "adapter": "pyperf", + "suite": "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/bench_linalg.py" + } + ], + "target": { + "kind": "build", + "path": "/home/ev-br/repos/numpy/build-install", + "source_dir": "/home/ev-br/repos/numpy", + "source": { + "uri": "https://github.com/numpy/numpy.git", + "type": "git" + }, + "how_built": { + "numpy_version": "2.4.0", + "show_config": { + "Build Dependencies": { + "blas": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + }, + "lapack": { + "detection method": "pkgconfig", + "found": true, + "include directory": "/home/ev-br/.conda/envs/numpy-dev/include", + "lib directory": "/home/ev-br/.conda/envs/numpy-dev/lib", + "name": "openblas", + "openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS= NO_LAPACK=0 NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP=0 PRESCOTT MAX_THREADS=128", + "pc file directory": "/home/ev-br/.conda/envs/numpy-dev/lib/pkgconfig", + "version": "0.3.30" + } + }, + "Compilers": { + "c": { + "args": "-march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-cc", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "c++": { + "args": "-fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "commands": "/home/ev-br/.conda/envs/numpy-dev/bin/x86_64-conda-linux-gnu-c++", + "linker": "ld.bfd", + "linker args": "-Wl,-O2, -Wl,--sort-common, -Wl,--as-needed, -Wl,-z,relro, -Wl,-z,now, -Wl,--disable-new-dtags, -Wl,--gc-sections, -Wl,--allow-shlib-undefined, -Wl,-rpath,/home/ev-br/.conda/envs/numpy-dev/lib, -Wl,-rpath-link,/home/ev-br/.conda/envs/numpy-dev/lib, -L/home/ev-br/.conda/envs/numpy-dev/lib, -fvisibility-inlines-hidden, -fmessage-length=0, -march=nocona, -mtune=haswell, -ftree-vectorize, -fPIC, -fstack-protector-strong, -fno-plt, -O2, -ffunction-sections, -pipe, -isystem, /home/ev-br/.conda/envs/numpy-dev/include, -DNDEBUG, -D_FORTIFY_SOURCE=2, -O2, -isystem, /home/ev-br/.conda/envs/numpy-dev/include", + "name": "gcc", + "version": "14.3.0" + }, + "cython": { + "commands": "cython", + "linker": "cython", + "name": "cython", + "version": "3.2.2" + } + }, + "Machine Information": { + "build": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + }, + "host": { + "cpu": "x86_64", + "endian": "little", + "family": "x86_64", + "system": "linux" + } + }, + "Python Information": { + "path": "/home/ev-br/.conda/envs/numpy-dev/bin/python3.12", + "version": "3.12" + }, + "SIMD Extensions": { + "baseline": [ + "X86_V2" + ], + "found": [ + "X86_V3" + ], + "not found": [ + "X86_V4", + "AVX512_ICL", + "AVX512_SPR" + ] + } + } + }, + "provider": { + "name": "provider.py", + "version": "2" + } + }, + "quantities": [ + "wall-time" + ], + "precision": { + "repetitions": { + "mode": "fixed", + "levels": [ + { + "unit": "process", + "n": 5 + }, + { + "unit": "value", + "n": 3 + } + ] + }, + "calibration": { + "mode": "adaptive", + "minimum_sample_seconds": 0.1 + }, + "warmup": { + "mode": "count", + "n_warmup": 1 + } + }, + "timeouts": { + "case_s": 60, + "order_s": 600 + }, + "run_key": "numpy-6e1aca7eda-threads-64", + "requester": { + "kind": "workbench", + "name": "bx" + }, + "plan": [ + { + "id": "p0", + "case": "*", + "quantity": "wall-time" + } + ], + "round": 0, + "slot": 2, + "environment_variables": { + "OPENBLAS_NUM_THREADS": "64" + }, + "project": "numpy", + "benchmark": { + "source": { + "uri": "ssh://git@github.com/~/ev-br/benchx_examples.git", + "type": "git" + }, + "revision": "0c50df6f3223cfef4fe1e91750e6e2911d10c128" + }, + "collectors": [ + { + "name": "numpy-build", + "command": [ + "python", + "/home/ev-br/proj/quansight/benchx_user/numpy-bench/examples/numpy-spin/numpy_facts.py" + ], + "verify": "how_built", + "on_fail": "refuse" + } + ] +}