Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,25 @@

Reproducible benchmarks for tensor network algorithms in [tensor4all-rs](https://github.com/tensor4all/tensor4all-rs). Inputs use fixed seeds, timed regions exclude preparation, every arm writes JSON, and reports are generated from those records.

## Results

Every committed sweep is a directory under [`result/`](result/), one per hardware
profile. Each holds `run.yaml` (machine, revisions, thread count and CPU set),
`raw/` (one JSON record per case, arm and instance) and the generated
`report.md`. Read the reports:

| Profile | Machine | Threads | tensor4all-rs | Report |
| --- | --- | ---: | --- | --- |
| `linux-ryzen-ai-9-hx-470` | AMD Ryzen AI 9 HX 470, 12 physical cores | 1 | `a515738` | [report.md](result/linux-ryzen-ai-9-hx-470/report.md) |
| `linux-ryzen-ai-9-hx-470-4t` | the same machine, CPUs 0-3 | 4 | `a515738` | [report.md](result/linux-ryzen-ai-9-hx-470-4t/report.md) |
| `linux-epyc-7713p` | AMD EPYC 7713P | 1 | `9e9aeda` | [report.md](result/linux-epyc-7713p/report.md) |

The one-thread profile is the reference configuration, and each report repeats
the machine, revisions, thread count and CPU set in its header. The `-4t`
profile is scaling evidence only: read it against the one-thread profile of the
same machine, never instead of it. [`result/README.md`](result/README.md)
describes the layout.

## Maintained cases

| Case | Input and operation | Arms | Scaling axis |
Expand Down
22 changes: 22 additions & 0 deletions result/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# result/

One directory per hardware profile, each holding one complete sweep of the three
maintained cases:

```text
result/<profile>/run.yaml machine, source and tensor4all-rs revision, thread count, CPU set
result/<profile>/raw/*.json one record per case, arm and instance
result/<profile>/report.md generated by scripts/report.py from the records above
```

`report.md` is the human-facing entry point. The records behind it are the
source of truth: they carry the per-instance timings, accuracy against the case
reference, output bond dimensions, allocation counts, and the parameters that
produced them.

A profile name is the machine alone on the reference single-core sweep, plus
`-<n>t` on the optional multithreaded scaling sweep of the same machine. Read a
`-<n>t` profile against that machine's single-core profile, never instead of it.

Regenerate a report with `python3 scripts/report.py result/<profile>`; never edit
one by hand. Historical reports are not maintained, use git history.
Loading