Skip to content

Modernize PP.jl benchmarks - #212

Merged
david-pl merged 3 commits into
QuEraComputing:bench/cross-libraryfrom
MSRudolph:bench/cross-library
Aug 31, 2026
Merged

Modernize PP.jl benchmarks#212
david-pl merged 3 commits into
QuEraComputing:bench/cross-libraryfrom
MSRudolph:bench/cross-library

Conversation

@MSRudolph

Copy link
Copy Markdown

Hi all, thanks for including PauliPropagation.jl in your benchmark. This is a PR showcasing the latest performance possible with PauliPropagation.jl. It requires version 0.8, and uses the VectorPauliSum with the PauliPropagation.Performance sub-module. Also, it performs in-place propagation, which by itself shaves off 4x and 2x (on v0.8.1, but should be similar on v0.7.3) from the baseline (see second timing column). The timings are single-threaded, min of 3 after warm-up, on an AMD Ryzen AI 7 350 CPU. The validation against ppvm matches to 1e-10.

TFIM (STEPS=10 DT=0.1 J=1 h=1 ATOL=1e-6), time in seconds:

qubits terms baseline in-place baseline this PR ppvm
8 4701 0.0097 0.0068 0.0012 0.0029
16 19529 0.044 0.037 0.0041 0.012
24 34353 0.24 0.082 0.012 0.025
32 49177 0.33 0.14 0.016 0.040
40 64001 0.74 0.24 0.034 0.058
48 78825 1.24 0.35 0.049 0.079
56 93649 2.33 0.51 0.066 0.106
64 108473 2.75 0.65 0.083 0.140

Heisenberg (same parameters), time in seconds:

qubits terms baseline in-place baseline this PR ppvm
6 1022 0.012 0.0068 0.0010 0.0034
8 16324 0.15 0.12 0.015 0.052
10 225353 2.45 1.21 0.20 0.69
12 1174849 11.8 6.03 1.05 4.86
14 2915879 26.4 13.2 1.68 9.10

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👋 Thanks for opening your first pull request against PPVM!

A quick note on contribution terms: by submitting this PR you
agree that your contribution is licensed under the
Apache License 2.0
and that you accept the
PPVM Contributor License Agreement.
Please skim those before a maintainer reviews — opening this PR
counts as your acceptance.

A few things that will speed up review:

  • Read CONTRIBUTING.md
    for the workflow, build commands, and style notes.
  • Run prek run --all-files locally; CI runs the same checks.
  • Use Conventional Commits
    for commit messages.

We'll get to your PR as soon as we can. Thanks for contributing!

robpatterson13 and others added 2 commits August 27, 2026 12:30
### Summary
Migrates ppvm-vihaco and vihaco-circuit-isa from vihaco 0.1.1 to vihaco
0.4.0.

### Changes
- Migrates PPVM to vihaco 0.4.0 surface/runtime instruction APIs.
- Replaces the legacy parser pipeline with v0.4 parsing and resolution.
- Generates the circuit instruction set with `vihaco::component!`.
- Enforces one-to-one source-to-runtime instruction lowering.
- Updates .sst syntax, including:

```
  const.u64 0       → cpu::cpu.const u64, 0
  eq.u32            → cpu::cpu.eq u32
  circuit.h         → circuit::circuit.h
  ret               → cpu::cpu.ret 0
  @Label:           → cpu::cpu.label @Label
```

- Resolves branch targets and function calls to runtime addresses.
- Adds bytecode v2 serialization for function tables, labels,
signatures, and main_function.
- Updates CLI, TUI, examples, embedded programs, and test fixtures.
- Adds and updates migration documentation in
`docs/changelog/vihaco-0.4.md`.

### Verification
- cargo test --workspace
- cargo check -p ppvm-vihaco
- cargo test -p ppvm-vihaco
- cargo test -p vihaco-circuit-isa
- cargo test -p ppvm-cli
- cargo test -p ppvm-tui
@david-pl

Copy link
Copy Markdown
Collaborator

@MSRudolph thanks for this! Just to note: there's not place where we run benchmarks automatically. So, the changes here won't be reflected until another manual run is done.

@david-pl
david-pl merged commit 4be9756 into QuEraComputing:bench/cross-library Aug 31, 2026
12 of 13 checks passed
@github-actions

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-08-31 08:10 UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants