Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix #258: Documentation on myriad ways to construct Stab/Destab/MixedDestab objects #283

Open
wants to merge 15 commits into
base: master
Choose a base branch
from

Conversation

Fe-r-oz
Copy link
Contributor

@Fe-r-oz Fe-r-oz commented May 26, 2024

Resolving #258 by adding more documentation about the methods of MixedDestabilizer, Stabilizer, Destabilizer.

MixedDestabilizer is completed. The other two methods along with schematics is left to do.

Copy link

codecov bot commented May 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 82.36%. Comparing base (44f618a) to head (b7b613a).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #283      +/-   ##
==========================================
+ Coverage   82.20%   82.36%   +0.15%     
==========================================
  Files          59       59              
  Lines        3940     3940              
==========================================
+ Hits         3239     3245       +6     
+ Misses        701      695       -6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

github-actions bot commented May 26, 2024

Benchmark Result

Judge result

Benchmark Report for /home/runner/work/QuantumClifford.jl/QuantumClifford.jl

Job Properties

  • Time of benchmarks:
  • Target: 26 May 2024 - 14:44
  • Baseline: 26 May 2024 - 14:51
  • Package commits:
  • Target: 3e20ba
  • Baseline: 44f618
  • Julia commits:
  • Target: d8f37c
  • Baseline: d8f37c
  • Julia command flags:
  • Target: None
  • Baseline: None
  • Environment variables:
  • Target: None
  • Baseline: None

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less
than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results
that indicate possible regressions or improvements - are shown below (thus, an empty table means that all
benchmark results remained invariant between builds).

ID time ratio memory ratio
["circuitsim", "mctrajectories_sumtype", "q1001_r1"] 1.09 (5%) ❌ 1.00 (1%)
["clifford", "dense", "dense500_on_diag500_destab"] 1.16 (5%) ❌ 1.00 (1%)
["ecc", "evaluate_decoder", "shor_bp_shorsyn"] 0.93 (5%) ✅ 0.98 (1%) ✅
["ecc", "evaluate_decoder", "toric8_bp_comm"] 1.02 (5%) 0.99 (1%) ✅
["ecc", "evaluate_decoder", "toric8_bp_naivesyn"] 1.05 (5%) ❌ 1.03 (1%) ❌
["pauli", "mul", "1000"] 1.07 (5%) ❌ 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["circuitsim", "compactification"]
  • ["circuitsim", "mctrajectories"]
  • ["circuitsim", "mctrajectories_sumtype"]
  • ["circuitsim", "mctrajectories_union"]
  • ["circuitsim", "pftrajectories"]
  • ["circuitsim", "pftrajectories_sumtype"]
  • ["circuitsim", "pftrajectories_union"]
  • ["clifford", "dense"]
  • ["clifford", "symbolic"]
  • ["ecc", "evaluate_decoder"]
  • ["pauli", "mul"]
  • ["stabilizer", "canon"]
  • ["stabilizer", "project"]
  • ["stabilizer", "tensor"]
  • ["stabilizer", "trace"]

Julia versioninfo

Target

Julia Version 1.12.0-DEV.603
Commit d8f37c9920a (2024-05-25 21:46 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 1718 s 0 s 167 s 8034 s 0 s
 #2 0 MHz 3284 s 0 s 190 s 6435 s 0 s
 #3 0 MHz 2121 s 0 s 154 s 7649 s 0 s
 #4 0 MHz 2105 s 0 s 178 s 7649 s 0 s
 Memory: 15.606502532958984 GB (13304.86328125 MB free)
 Uptime: 998.04 sec
 Load Avg: 1.0 1.01 0.73
 WORD_SIZE: 64
 LLVM: libLLVM-17.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.12.0-DEV.603
Commit d8f37c9920a (2024-05-25 21:46 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 2426 s 0 s 207 s 11434 s 0 s
 #2 0 MHz 5046 s 0 s 246 s 8769 s 0 s
 #3 0 MHz 2690 s 0 s 197 s 11188 s 0 s
 #4 0 MHz 3169 s 0 s 229 s 10686 s 0 s
 Memory: 15.606502532958984 GB (13248.21484375 MB free)
 Uptime: 1413.86 sec
 Load Avg: 1.0 1.01 0.85
 WORD_SIZE: 64
 LLVM: libLLVM-17.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

Benchmark Report for /home/runner/work/QuantumClifford.jl/QuantumClifford.jl

Job Properties

  • Time of benchmark: 26 May 2024 - 14:44
  • Package commit: 3e20ba
  • Julia commit: d8f37c
  • Julia command flags: None
  • Environment variables: None

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["circuitsim", "compactification", "compact"] 6.945 ms (5%)
["circuitsim", "compactification", "no_compact"] 7.113 ms (5%) 281.25 KiB (1%) 6000
["circuitsim", "mctrajectories", "q1001_r1"] 15.250 ms (5%) 500.77 KiB (1%) 18019
["circuitsim", "mctrajectories", "q101_r1"] 172.504 μs (5%) 50.53 KiB (1%) 1818
["circuitsim", "mctrajectories_sumtype", "q1001_r1"] 14.522 ms (5%) 496 bytes (1%) 9
["circuitsim", "mctrajectories_sumtype", "q101_r1"] 121.899 μs (5%) 256 bytes (1%) 8
["circuitsim", "mctrajectories_union", "q1001_r1"] 13.064 ms (5%) 496 bytes (1%) 9
["circuitsim", "mctrajectories_union", "q101_r1"] 120.737 μs (5%) 256 bytes (1%) 8
["circuitsim", "pftrajectories", "q1001_r1"] 59.472 μs (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q1001_r100"] 170.019 μs (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q1001_r10000"] 1.095 ms (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q101_r1"] 5.991 μs (5%) 9.42 KiB (1%) 201
["circuitsim", "pftrajectories_sumtype", "q1001_r1"] 42.921 μs (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r100"] 149.671 μs (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r10000"] 1.079 ms (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r10000_fastrow"] 5.843 ms (5%)
["circuitsim", "pftrajectories_sumtype", "q101_r1"] 4.318 μs (5%)
["circuitsim", "pftrajectories_union", "q1001_r1"] 22.291 μs (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q1001_r100"] 132.829 μs (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q1001_r10000"] 1.054 ms (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q101_r1"] 2.304 μs (5%) 96 bytes (1%) 2
["clifford", "dense", "cnot250_on_dense500_destab"] 11.426 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_dense500_stab"] 5.800 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_diag500_destab"] 975.905 μs (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_diag500_stab"] 559.973 μs (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot_on_dense500_destab"] 49.303 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_dense500_stab"] 22.613 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_diag500_destab"] 25.147 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_diag500_stab"] 12.785 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "dense500_on_dense500_destab"] 11.461 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_dense500_stab"] 5.814 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_diag500_destab"] 1.117 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_diag500_stab"] 560.003 μs (5%) 512 bytes (1%) 8
["clifford", "symbolic", "cnot250_on_dense500_destab"] 1.475 ms (5%)
["clifford", "symbolic", "cnot250_on_dense500_stab"] 699.875 μs (5%)
["clifford", "symbolic", "cnot250_on_diag500_destab"] 1.199 ms (5%)
["clifford", "symbolic", "cnot250_on_diag500_stab"] 584.910 μs (5%)
["clifford", "symbolic", "cnot_on_dense500_destab"] 4.859 μs (5%)
["clifford", "symbolic", "cnot_on_dense500_stab"] 2.364 μs (5%)
["clifford", "symbolic", "cnot_on_diag500_destab"] 4.789 μs (5%)
["clifford", "symbolic", "cnot_on_diag500_stab"] 2.364 μs (5%)
["ecc", "evaluate_decoder", "shor_bp_comm"] 1.826 ms (5%) 1.76 MiB (1%) 42387
["ecc", "evaluate_decoder", "shor_bp_naivesyn"] 4.356 ms (5%) 3.63 MiB (1%) 82013
["ecc", "evaluate_decoder", "shor_bp_shorsyn"] 4.784 ms (5%) 3.72 MiB (1%) 83095
["ecc", "evaluate_decoder", "shor_pybp_comm"] 25.932 ms (5%) 3.97 MiB (1%) 116084
["ecc", "evaluate_decoder", "shor_pybp_naivesyn"] 51.035 ms (5%) 7.99 MiB (1%) 228133
["ecc", "evaluate_decoder", "shor_pybp_shorsyn"] 52.072 ms (5%) 8.07 MiB (1%) 229131
["ecc", "evaluate_decoder", "shor_table_comm"] 256.210 μs (5%) 241.48 KiB (1%) 4595
["ecc", "evaluate_decoder", "shor_table_naivesyn"] 1.095 ms (5%) 350.88 KiB (1%) 5155
["ecc", "evaluate_decoder", "shor_table_shorsyn"] 1.523 ms (5%) 440.22 KiB (1%) 6153
["ecc", "evaluate_decoder", "toric8_bp_comm"] 709.457 ms (5%) 14.380 ms 171.81 MiB (1%) 1030223
["ecc", "evaluate_decoder", "toric8_bp_naivesyn"] 1.468 s (5%) 27.231 ms 358.43 MiB (1%) 2180591
["ecc", "evaluate_decoder", "toric8_bp_shorsyn"] 1.449 s (5%) 29.277 ms 353.80 MiB (1%) 2172745
["ecc", "evaluate_decoder", "toric8_pybp_comm"] 398.840 ms (5%) 7.31 MiB (1%) 135575
["ecc", "evaluate_decoder", "toric8_pybp_naivesyn"] 821.332 ms (5%) 16.90 MiB (1%) 317606
["ecc", "evaluate_decoder", "toric8_pybp_shorsyn"] 836.222 ms (5%) 19.38 MiB (1%) 351522
["ecc", "evaluate_decoder", "toric8_pymatch_comm"] 4.217 ms (5%) 1.95 MiB (1%) 23180
["ecc", "evaluate_decoder", "toric8_pymatch_naivesyn"] 17.054 ms (5%) 6.03 MiB (1%) 92823
["ecc", "evaluate_decoder", "toric8_pymatch_shorsyn"] 26.188 ms (5%) 8.50 MiB (1%) 126739
["ecc", "evaluate_decoder", "toric8_table_comm"] 2.685 ms (5%) 1.64 MiB (1%) 23086
["ecc", "evaluate_decoder", "toric8_table_naivesyn"] 14.789 ms (5%) 5.38 MiB (1%) 92628
["ecc", "evaluate_decoder", "toric8_table_shorsyn"] 24.031 ms (5%) 7.86 MiB (1%) 126544
["pauli", "mul", "100"] 14.827 ns (5%)
["pauli", "mul", "1000"] 18.820 ns (5%)
["pauli", "mul", "100000"] 729.215 ns (5%)
["pauli", "mul", "20000000"] 179.297 μs (5%)
["stabilizer", "canon", "cano500"] 3.018 ms (5%)
["stabilizer", "canon", "diag_cano500"] 618.355 μs (5%)
["stabilizer", "canon", "diag_gott500"] 4.149 ms (5%) 5.19 MiB (1%) 34521
["stabilizer", "canon", "diag_rref500"] 674.170 μs (5%)
["stabilizer", "canon", "gott500"] 6.603 ms (5%) 5.19 MiB (1%) 34531
["stabilizer", "canon", "md_cano500"] 1.537 ms (5%)
["stabilizer", "canon", "md_rref500"] 1.571 ms (5%)
["stabilizer", "canon", "rref500"] 3.126 ms (5%)
["stabilizer", "project", "destabilizer"] 17.704 μs (5%) 288 bytes (1%) 5
["stabilizer", "project", "stabilizer"] 8.717 μs (5%) 80 bytes (1%) 2
["stabilizer", "tensor", "diag_pow5_20"] 1.331 ms (5%) 23.97 MiB (1%) 34
["stabilizer", "tensor", "pow5_20"] 2.436 μs (5%) 6.44 KiB (1%) 31
["stabilizer", "trace", "destabilizer"] 30.858 μs (5%) 80 bytes (1%) 2
["stabilizer", "trace", "stabilizer"] 24.697 μs (5%) 112 bytes (1%) 3

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["circuitsim", "compactification"]
  • ["circuitsim", "mctrajectories"]
  • ["circuitsim", "mctrajectories_sumtype"]
  • ["circuitsim", "mctrajectories_union"]
  • ["circuitsim", "pftrajectories"]
  • ["circuitsim", "pftrajectories_sumtype"]
  • ["circuitsim", "pftrajectories_union"]
  • ["clifford", "dense"]
  • ["clifford", "symbolic"]
  • ["ecc", "evaluate_decoder"]
  • ["pauli", "mul"]
  • ["stabilizer", "canon"]
  • ["stabilizer", "project"]
  • ["stabilizer", "tensor"]
  • ["stabilizer", "trace"]

Julia versioninfo

Julia Version 1.12.0-DEV.603
Commit d8f37c9920a (2024-05-25 21:46 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 1718 s 0 s 167 s 8034 s 0 s
 #2 0 MHz 3284 s 0 s 190 s 6435 s 0 s
 #3 0 MHz 2121 s 0 s 154 s 7649 s 0 s
 #4 0 MHz 2105 s 0 s 178 s 7649 s 0 s
 Memory: 15.606502532958984 GB (13304.86328125 MB free)
 Uptime: 998.04 sec
 Load Avg: 1.0 1.01 0.73
 WORD_SIZE: 64
 LLVM: libLLVM-17.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

Benchmark Report for /home/runner/work/QuantumClifford.jl/QuantumClifford.jl

Job Properties

  • Time of benchmark: 26 May 2024 - 14:51
  • Package commit: 44f618
  • Julia commit: d8f37c
  • Julia command flags: None
  • Environment variables: None

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["circuitsim", "compactification", "compact"] 7.064 ms (5%)
["circuitsim", "compactification", "no_compact"] 7.176 ms (5%) 281.25 KiB (1%) 6000
["circuitsim", "mctrajectories", "q1001_r1"] 15.190 ms (5%) 500.77 KiB (1%) 18019
["circuitsim", "mctrajectories", "q101_r1"] 171.702 μs (5%) 50.53 KiB (1%) 1818
["circuitsim", "mctrajectories_sumtype", "q1001_r1"] 13.329 ms (5%) 496 bytes (1%) 9
["circuitsim", "mctrajectories_sumtype", "q101_r1"] 121.657 μs (5%) 256 bytes (1%) 8
["circuitsim", "mctrajectories_union", "q1001_r1"] 13.098 ms (5%) 496 bytes (1%) 9
["circuitsim", "mctrajectories_union", "q101_r1"] 120.696 μs (5%) 256 bytes (1%) 8
["circuitsim", "pftrajectories", "q1001_r1"] 59.201 μs (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q1001_r100"] 173.925 μs (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q1001_r10000"] 1.141 ms (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q101_r1"] 5.961 μs (5%) 9.42 KiB (1%) 201
["circuitsim", "pftrajectories_sumtype", "q1001_r1"] 42.720 μs (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r100"] 154.540 μs (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r10000"] 1.130 ms (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r10000_fastrow"] 5.833 ms (5%)
["circuitsim", "pftrajectories_sumtype", "q101_r1"] 4.298 μs (5%)
["circuitsim", "pftrajectories_union", "q1001_r1"] 22.001 μs (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q1001_r100"] 136.545 μs (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q1001_r10000"] 1.100 ms (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q101_r1"] 2.274 μs (5%) 96 bytes (1%) 2
["clifford", "dense", "cnot250_on_dense500_destab"] 11.431 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_dense500_stab"] 5.798 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_diag500_destab"] 974.836 μs (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_diag500_stab"] 559.829 μs (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot_on_dense500_destab"] 48.902 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_dense500_stab"] 22.612 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_diag500_destab"] 25.458 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_diag500_stab"] 12.824 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "dense500_on_dense500_destab"] 11.430 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_dense500_stab"] 5.799 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_diag500_destab"] 966.631 μs (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_diag500_stab"] 559.818 μs (5%) 512 bytes (1%) 8
["clifford", "symbolic", "cnot250_on_dense500_destab"] 1.481 ms (5%)
["clifford", "symbolic", "cnot250_on_dense500_stab"] 699.560 μs (5%)
["clifford", "symbolic", "cnot250_on_diag500_destab"] 1.200 ms (5%)
["clifford", "symbolic", "cnot250_on_diag500_stab"] 584.464 μs (5%)
["clifford", "symbolic", "cnot_on_dense500_destab"] 4.849 μs (5%)
["clifford", "symbolic", "cnot_on_dense500_stab"] 2.354 μs (5%)
["clifford", "symbolic", "cnot_on_diag500_destab"] 4.798 μs (5%)
["clifford", "symbolic", "cnot_on_diag500_stab"] 2.364 μs (5%)
["ecc", "evaluate_decoder", "shor_bp_comm"] 1.842 ms (5%) 1.77 MiB (1%) 42471
["ecc", "evaluate_decoder", "shor_bp_naivesyn"] 4.342 ms (5%) 3.62 MiB (1%) 81775
["ecc", "evaluate_decoder", "shor_bp_shorsyn"] 5.131 ms (5%) 3.79 MiB (1%) 84719
["ecc", "evaluate_decoder", "shor_pybp_comm"] 25.875 ms (5%) 3.97 MiB (1%) 116084
["ecc", "evaluate_decoder", "shor_pybp_naivesyn"] 52.136 ms (5%) 7.99 MiB (1%) 228133
["ecc", "evaluate_decoder", "shor_pybp_shorsyn"] 52.656 ms (5%) 8.07 MiB (1%) 229131
["ecc", "evaluate_decoder", "shor_table_comm"] 254.798 μs (5%) 241.48 KiB (1%) 4595
["ecc", "evaluate_decoder", "shor_table_naivesyn"] 1.086 ms (5%) 350.88 KiB (1%) 5155
["ecc", "evaluate_decoder", "shor_table_shorsyn"] 1.512 ms (5%) 440.22 KiB (1%) 6153
["ecc", "evaluate_decoder", "toric8_bp_comm"] 693.213 ms (5%) 11.547 ms 174.38 MiB (1%) 1045322
["ecc", "evaluate_decoder", "toric8_bp_naivesyn"] 1.394 s (5%) 22.857 ms 349.08 MiB (1%) 2125599
["ecc", "evaluate_decoder", "toric8_bp_shorsyn"] 1.417 s (5%) 29.099 ms 356.20 MiB (1%) 2186850
["ecc", "evaluate_decoder", "toric8_pybp_comm"] 388.908 ms (5%) 7.31 MiB (1%) 135575
["ecc", "evaluate_decoder", "toric8_pybp_naivesyn"] 807.988 ms (5%) 16.90 MiB (1%) 317606
["ecc", "evaluate_decoder", "toric8_pybp_shorsyn"] 802.567 ms (5%) 19.38 MiB (1%) 351522
["ecc", "evaluate_decoder", "toric8_pymatch_comm"] 4.162 ms (5%) 1.95 MiB (1%) 23180
["ecc", "evaluate_decoder", "toric8_pymatch_naivesyn"] 16.873 ms (5%) 6.03 MiB (1%) 92823
["ecc", "evaluate_decoder", "toric8_pymatch_shorsyn"] 25.926 ms (5%) 8.50 MiB (1%) 126739
["ecc", "evaluate_decoder", "toric8_table_comm"] 2.646 ms (5%) 1.64 MiB (1%) 23086
["ecc", "evaluate_decoder", "toric8_table_naivesyn"] 14.659 ms (5%) 5.38 MiB (1%) 92628
["ecc", "evaluate_decoder", "toric8_table_shorsyn"] 23.862 ms (5%) 7.86 MiB (1%) 126544
["pauli", "mul", "100"] 14.556 ns (5%)
["pauli", "mul", "1000"] 17.615 ns (5%)
["pauli", "mul", "100000"] 716.545 ns (5%)
["pauli", "mul", "20000000"] 187.131 μs (5%)
["stabilizer", "canon", "cano500"] 3.016 ms (5%)
["stabilizer", "canon", "diag_cano500"] 618.658 μs (5%)
["stabilizer", "canon", "diag_gott500"] 4.155 ms (5%) 5.19 MiB (1%) 34521
["stabilizer", "canon", "diag_rref500"] 674.244 μs (5%)
["stabilizer", "canon", "gott500"] 6.615 ms (5%) 5.19 MiB (1%) 34531
["stabilizer", "canon", "md_cano500"] 1.566 ms (5%)
["stabilizer", "canon", "md_rref500"] 1.584 ms (5%)
["stabilizer", "canon", "rref500"] 3.125 ms (5%)
["stabilizer", "project", "destabilizer"] 17.733 μs (5%) 288 bytes (1%) 5
["stabilizer", "project", "stabilizer"] 8.987 μs (5%) 80 bytes (1%) 2
["stabilizer", "tensor", "diag_pow5_20"] 1.359 ms (5%) 23.97 MiB (1%) 34
["stabilizer", "tensor", "pow5_20"] 2.413 μs (5%) 6.44 KiB (1%) 31
["stabilizer", "trace", "destabilizer"] 30.998 μs (5%) 80 bytes (1%) 2
["stabilizer", "trace", "stabilizer"] 24.546 μs (5%) 112 bytes (1%) 3

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["circuitsim", "compactification"]
  • ["circuitsim", "mctrajectories"]
  • ["circuitsim", "mctrajectories_sumtype"]
  • ["circuitsim", "mctrajectories_union"]
  • ["circuitsim", "pftrajectories"]
  • ["circuitsim", "pftrajectories_sumtype"]
  • ["circuitsim", "pftrajectories_union"]
  • ["clifford", "dense"]
  • ["clifford", "symbolic"]
  • ["ecc", "evaluate_decoder"]
  • ["pauli", "mul"]
  • ["stabilizer", "canon"]
  • ["stabilizer", "project"]
  • ["stabilizer", "tensor"]
  • ["stabilizer", "trace"]

Julia versioninfo

Julia Version 1.12.0-DEV.603
Commit d8f37c9920a (2024-05-25 21:46 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 2426 s 0 s 207 s 11434 s 0 s
 #2 0 MHz 5046 s 0 s 246 s 8769 s 0 s
 #3 0 MHz 2690 s 0 s 197 s 11188 s 0 s
 #4 0 MHz 3169 s 0 s 229 s 10686 s 0 s
 Memory: 15.606502532958984 GB (13248.21484375 MB free)
 Uptime: 1413.86 sec
 Load Avg: 1.0 1.01 0.85
 WORD_SIZE: 64
 LLVM: libLLVM-17.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Runtime information

Runtime Info
BLAS #threads 2
BLAS.vendor() lbt
Sys.CPU_THREADS 4

lscpu output:

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 48 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Vendor ID: AuthenticAMD
Model name: AMD EPYC 7763 64-Core Processor
CPU family: 25
Model: 1
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
Stepping: 1
BogoMIPS: 4890.85
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext invpcid_single vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr rdpru arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip vaes vpclmulqdq rdpid fsrm
Virtualization: AMD-V
Hypervisor vendor: Microsoft
Virtualization type: full
L1d cache: 64 KiB (2 instances)
L1i cache: 64 KiB (2 instances)
L2 cache: 1 MiB (2 instances)
L3 cache: 32 MiB (1 instance)
NUMA node(s): 1
NUMA node0 CPU(s): 0-3
Vulnerability Gather data sampling: Not affected
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec rstack overflow: Vulnerable: Safe RET, no microcode
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Retpolines; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected

Cpu Property Value
Brand AMD EPYC 7763 64-Core Processor
Vendor :AMD
Architecture :Unknown
Model Family: 0xaf, Model: 0x01, Stepping: 0x01, Type: 0x00
Cores 16 physical cores, 16 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 512, 32768) kbytes
64 byte cache line size
Address Size 48 bits virtual, 48 bits physical
SIMD 256 bit = 32 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC runs at constant rate (invariant from clock frequency)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft
Benchmark Result

Judge result

Benchmark Report for /home/runner/work/QuantumClifford.jl/QuantumClifford.jl

Job Properties

  • Time of benchmarks:
  • Target: 26 May 2024 - 19:39
  • Baseline: 26 May 2024 - 19:47
  • Package commits:
  • Target: 44997c
  • Baseline: 44f618
  • Julia commits:
  • Target: 768921
  • Baseline: 768921
  • Julia command flags:
  • Target: None
  • Baseline: None
  • Environment variables:
  • Target: None
  • Baseline: None

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less
than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results
that indicate possible regressions or improvements - are shown below (thus, an empty table means that all
benchmark results remained invariant between builds).

ID time ratio memory ratio
["ecc", "evaluate_decoder", "shor_bp_shorsyn"] 0.93 (5%) ✅ 0.98 (1%) ✅
["ecc", "evaluate_decoder", "toric8_bp_comm"] 0.93 (5%) ✅ 0.93 (1%) ✅
["ecc", "evaluate_decoder", "toric8_bp_naivesyn"] 1.02 (5%) 0.98 (1%) ✅
["ecc", "evaluate_decoder", "toric8_bp_shorsyn"] 1.00 (5%) 0.98 (1%) ✅
["pauli", "mul", "20000000"] 1.06 (5%) ❌ 1.00 (1%)
["stabilizer", "canon", "diag_rref500"] 0.89 (5%) ✅ 1.00 (1%)
["stabilizer", "tensor", "diag_pow5_20"] 1.23 (5%) ❌ 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["circuitsim", "compactification"]
  • ["circuitsim", "mctrajectories"]
  • ["circuitsim", "mctrajectories_sumtype"]
  • ["circuitsim", "mctrajectories_union"]
  • ["circuitsim", "pftrajectories"]
  • ["circuitsim", "pftrajectories_sumtype"]
  • ["circuitsim", "pftrajectories_union"]
  • ["clifford", "dense"]
  • ["clifford", "symbolic"]
  • ["ecc", "evaluate_decoder"]
  • ["pauli", "mul"]
  • ["stabilizer", "canon"]
  • ["stabilizer", "project"]
  • ["stabilizer", "tensor"]
  • ["stabilizer", "trace"]

Julia versioninfo

Target

Julia Version 1.12.0-DEV.605
Commit 768921e6f73 (2024-05-26 17:30 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 2252 s 0 s 175 s 6653 s 0 s
 #2 0 MHz 2539 s 0 s 181 s 6363 s 0 s
 #3 0 MHz 2699 s 0 s 191 s 6186 s 0 s
 #4 0 MHz 1855 s 0 s 161 s 7061 s 0 s
 Memory: 15.606502532958984 GB (13348.2421875 MB free)
 Uptime: 913.39 sec
 Load Avg: 1.01 1.03 0.74
 WORD_SIZE: 64
 LLVM: libLLVM-17.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.12.0-DEV.605
Commit 768921e6f73 (2024-05-26 17:30 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 3413 s 0 s 218 s 9874 s 0 s
 #2 0 MHz 3464 s 0 s 240 s 9806 s 0 s
 #3 0 MHz 3640 s 0 s 240 s 9622 s 0 s
 #4 0 MHz 3279 s 0 s 223 s 10001 s 0 s
 Memory: 15.606502532958984 GB (13311.71875 MB free)
 Uptime: 1356.74 sec
 Load Avg: 1.02 1.04 0.87
 WORD_SIZE: 64
 LLVM: libLLVM-17.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

Benchmark Report for /home/runner/work/QuantumClifford.jl/QuantumClifford.jl

Job Properties

  • Time of benchmark: 26 May 2024 - 19:39
  • Package commit: 44997c
  • Julia commit: 768921
  • Julia command flags: None
  • Environment variables: None

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["circuitsim", "compactification", "compact"] 7.012 ms (5%)
["circuitsim", "compactification", "no_compact"] 7.172 ms (5%) 281.25 KiB (1%) 6000
["circuitsim", "mctrajectories", "q1001_r1"] 15.555 ms (5%) 500.77 KiB (1%) 18019
["circuitsim", "mctrajectories", "q101_r1"] 173.624 μs (5%) 50.53 KiB (1%) 1818
["circuitsim", "mctrajectories_sumtype", "q1001_r1"] 13.248 ms (5%) 496 bytes (1%) 9
["circuitsim", "mctrajectories_sumtype", "q101_r1"] 120.345 μs (5%) 256 bytes (1%) 8
["circuitsim", "mctrajectories_union", "q1001_r1"] 13.528 ms (5%) 496 bytes (1%) 9
["circuitsim", "mctrajectories_union", "q101_r1"] 119.012 μs (5%) 256 bytes (1%) 8
["circuitsim", "pftrajectories", "q1001_r1"] 59.782 μs (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q1001_r100"] 180.025 μs (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q1001_r10000"] 1.099 ms (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q101_r1"] 5.991 μs (5%) 9.42 KiB (1%) 201
["circuitsim", "pftrajectories_sumtype", "q1001_r1"] 42.479 μs (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r100"] 152.645 μs (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r10000"] 1.080 ms (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r10000_fastrow"] 5.833 ms (5%)
["circuitsim", "pftrajectories_sumtype", "q101_r1"] 4.257 μs (5%)
["circuitsim", "pftrajectories_union", "q1001_r1"] 22.311 μs (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q1001_r100"] 134.881 μs (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q1001_r10000"] 1.056 ms (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q101_r1"] 2.304 μs (5%) 96 bytes (1%) 2
["clifford", "dense", "cnot250_on_dense500_destab"] 11.361 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_dense500_stab"] 5.796 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_diag500_destab"] 1.119 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_diag500_stab"] 558.813 μs (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot_on_dense500_destab"] 49.012 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_dense500_stab"] 22.683 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_diag500_destab"] 25.598 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_diag500_stab"] 12.813 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "dense500_on_dense500_destab"] 11.371 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_dense500_stab"] 5.788 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_diag500_destab"] 968.628 μs (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_diag500_stab"] 558.782 μs (5%) 512 bytes (1%) 8
["clifford", "symbolic", "cnot250_on_dense500_destab"] 1.476 ms (5%)
["clifford", "symbolic", "cnot250_on_dense500_stab"] 701.129 μs (5%)
["clifford", "symbolic", "cnot250_on_diag500_destab"] 1.199 ms (5%)
["clifford", "symbolic", "cnot250_on_diag500_stab"] 583.719 μs (5%)
["clifford", "symbolic", "cnot_on_dense500_destab"] 4.839 μs (5%)
["clifford", "symbolic", "cnot_on_dense500_stab"] 2.374 μs (5%)
["clifford", "symbolic", "cnot_on_diag500_destab"] 4.818 μs (5%)
["clifford", "symbolic", "cnot_on_diag500_stab"] 2.374 μs (5%)
["ecc", "evaluate_decoder", "shor_bp_comm"] 1.849 ms (5%) 1.77 MiB (1%) 42597
["ecc", "evaluate_decoder", "shor_bp_naivesyn"] 4.356 ms (5%) 3.63 MiB (1%) 82041
["ecc", "evaluate_decoder", "shor_bp_shorsyn"] 4.789 ms (5%) 3.72 MiB (1%) 83025
["ecc", "evaluate_decoder", "shor_pybp_comm"] 24.714 ms (5%) 3.97 MiB (1%) 116084
["ecc", "evaluate_decoder", "shor_pybp_naivesyn"] 51.259 ms (5%) 7.99 MiB (1%) 228133
["ecc", "evaluate_decoder", "shor_pybp_shorsyn"] 51.995 ms (5%) 8.07 MiB (1%) 229131
["ecc", "evaluate_decoder", "shor_table_comm"] 264.774 μs (5%) 241.48 KiB (1%) 4595
["ecc", "evaluate_decoder", "shor_table_naivesyn"] 1.088 ms (5%) 350.88 KiB (1%) 5155
["ecc", "evaluate_decoder", "shor_table_shorsyn"] 1.513 ms (5%) 440.22 KiB (1%) 6153
["ecc", "evaluate_decoder", "toric8_bp_comm"] 653.139 ms (5%) 15.622 ms 163.32 MiB (1%) 980306
["ecc", "evaluate_decoder", "toric8_bp_naivesyn"] 1.399 s (5%) 34.098 ms 342.42 MiB (1%) 2086427
["ecc", "evaluate_decoder", "toric8_bp_shorsyn"] 1.444 s (5%) 31.730 ms 358.05 MiB (1%) 2197735
["ecc", "evaluate_decoder", "toric8_pybp_comm"] 385.562 ms (5%) 7.31 MiB (1%) 135575
["ecc", "evaluate_decoder", "toric8_pybp_naivesyn"] 804.381 ms (5%) 16.90 MiB (1%) 317606
["ecc", "evaluate_decoder", "toric8_pybp_shorsyn"] 811.531 ms (5%) 19.38 MiB (1%) 351522
["ecc", "evaluate_decoder", "toric8_pymatch_comm"] 4.232 ms (5%) 1.95 MiB (1%) 23180
["ecc", "evaluate_decoder", "toric8_pymatch_naivesyn"] 16.748 ms (5%) 6.03 MiB (1%) 92823
["ecc", "evaluate_decoder", "toric8_pymatch_shorsyn"] 25.985 ms (5%) 8.50 MiB (1%) 126739
["ecc", "evaluate_decoder", "toric8_table_comm"] 2.706 ms (5%) 1.64 MiB (1%) 23086
["ecc", "evaluate_decoder", "toric8_table_naivesyn"] 14.604 ms (5%) 5.38 MiB (1%) 92628
["ecc", "evaluate_decoder", "toric8_table_shorsyn"] 23.833 ms (5%) 7.86 MiB (1%) 126544
["pauli", "mul", "100"] 14.204 ns (5%)
["pauli", "mul", "1000"] 18.067 ns (5%)
["pauli", "mul", "100000"] 711.634 ns (5%)
["pauli", "mul", "20000000"] 192.680 μs (5%)
["stabilizer", "canon", "cano500"] 3.021 ms (5%)
["stabilizer", "canon", "diag_cano500"] 636.527 μs (5%)
["stabilizer", "canon", "diag_gott500"] 4.215 ms (5%) 5.19 MiB (1%) 34521
["stabilizer", "canon", "diag_rref500"] 655.063 μs (5%)
["stabilizer", "canon", "gott500"] 6.647 ms (5%) 5.19 MiB (1%) 34531
["stabilizer", "canon", "md_cano500"] 1.540 ms (5%)
["stabilizer", "canon", "md_rref500"] 1.590 ms (5%)
["stabilizer", "canon", "rref500"] 3.116 ms (5%)
["stabilizer", "project", "destabilizer"] 17.773 μs (5%) 288 bytes (1%) 5
["stabilizer", "project", "stabilizer"] 8.846 μs (5%) 80 bytes (1%) 2
["stabilizer", "tensor", "diag_pow5_20"] 1.388 ms (5%) 23.97 MiB (1%) 34
["stabilizer", "tensor", "pow5_20"] 2.443 μs (5%) 6.44 KiB (1%) 31
["stabilizer", "trace", "destabilizer"] 31.129 μs (5%) 80 bytes (1%) 2
["stabilizer", "trace", "stabilizer"] 24.726 μs (5%) 112 bytes (1%) 3

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["circuitsim", "compactification"]
  • ["circuitsim", "mctrajectories"]
  • ["circuitsim", "mctrajectories_sumtype"]
  • ["circuitsim", "mctrajectories_union"]
  • ["circuitsim", "pftrajectories"]
  • ["circuitsim", "pftrajectories_sumtype"]
  • ["circuitsim", "pftrajectories_union"]
  • ["clifford", "dense"]
  • ["clifford", "symbolic"]
  • ["ecc", "evaluate_decoder"]
  • ["pauli", "mul"]
  • ["stabilizer", "canon"]
  • ["stabilizer", "project"]
  • ["stabilizer", "tensor"]
  • ["stabilizer", "trace"]

Julia versioninfo

Julia Version 1.12.0-DEV.605
Commit 768921e6f73 (2024-05-26 17:30 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 2252 s 0 s 175 s 6653 s 0 s
 #2 0 MHz 2539 s 0 s 181 s 6363 s 0 s
 #3 0 MHz 2699 s 0 s 191 s 6186 s 0 s
 #4 0 MHz 1855 s 0 s 161 s 7061 s 0 s
 Memory: 15.606502532958984 GB (13348.2421875 MB free)
 Uptime: 913.39 sec
 Load Avg: 1.01 1.03 0.74
 WORD_SIZE: 64
 LLVM: libLLVM-17.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

Benchmark Report for /home/runner/work/QuantumClifford.jl/QuantumClifford.jl

Job Properties

  • Time of benchmark: 26 May 2024 - 19:47
  • Package commit: 44f618
  • Julia commit: 768921
  • Julia command flags: None
  • Environment variables: None

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["circuitsim", "compactification", "compact"] 7.239 ms (5%)
["circuitsim", "compactification", "no_compact"] 7.423 ms (5%) 281.25 KiB (1%) 6000
["circuitsim", "mctrajectories", "q1001_r1"] 15.210 ms (5%) 500.77 KiB (1%) 18019
["circuitsim", "mctrajectories", "q101_r1"] 171.480 μs (5%) 50.53 KiB (1%) 1818
["circuitsim", "mctrajectories_sumtype", "q1001_r1"] 13.480 ms (5%) 496 bytes (1%) 9
["circuitsim", "mctrajectories_sumtype", "q101_r1"] 120.334 μs (5%) 256 bytes (1%) 8
["circuitsim", "mctrajectories_union", "q1001_r1"] 14.015 ms (5%) 496 bytes (1%) 9
["circuitsim", "mctrajectories_union", "q101_r1"] 119.022 μs (5%) 256 bytes (1%) 8
["circuitsim", "pftrajectories", "q1001_r1"] 61.405 μs (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q1001_r100"] 182.912 μs (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q1001_r10000"] 1.147 ms (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q101_r1"] 6.171 μs (5%) 9.42 KiB (1%) 201
["circuitsim", "pftrajectories_sumtype", "q1001_r1"] 42.549 μs (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r100"] 153.807 μs (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r10000"] 1.126 ms (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r10000_fastrow"] 5.820 ms (5%)
["circuitsim", "pftrajectories_sumtype", "q101_r1"] 4.288 μs (5%)
["circuitsim", "pftrajectories_union", "q1001_r1"] 22.611 μs (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q1001_r100"] 136.830 μs (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q1001_r10000"] 1.099 ms (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q101_r1"] 2.335 μs (5%) 96 bytes (1%) 2
["clifford", "dense", "cnot250_on_dense500_destab"] 11.437 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_dense500_stab"] 5.801 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_diag500_destab"] 1.119 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_diag500_stab"] 559.323 μs (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot_on_dense500_destab"] 48.891 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_dense500_stab"] 22.642 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_diag500_destab"] 25.538 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_diag500_stab"] 12.744 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "dense500_on_dense500_destab"] 11.474 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_dense500_stab"] 5.830 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_diag500_destab"] 966.722 μs (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_diag500_stab"] 559.353 μs (5%) 512 bytes (1%) 8
["clifford", "symbolic", "cnot250_on_dense500_destab"] 1.480 ms (5%)
["clifford", "symbolic", "cnot250_on_dense500_stab"] 696.418 μs (5%)
["clifford", "symbolic", "cnot250_on_diag500_destab"] 1.199 ms (5%)
["clifford", "symbolic", "cnot250_on_diag500_stab"] 579.822 μs (5%)
["clifford", "symbolic", "cnot_on_dense500_destab"] 4.839 μs (5%)
["clifford", "symbolic", "cnot_on_dense500_stab"] 2.354 μs (5%)
["clifford", "symbolic", "cnot_on_diag500_destab"] 4.809 μs (5%)
["clifford", "symbolic", "cnot_on_diag500_stab"] 2.364 μs (5%)
["ecc", "evaluate_decoder", "shor_bp_comm"] 1.835 ms (5%) 1.77 MiB (1%) 42611
["ecc", "evaluate_decoder", "shor_bp_naivesyn"] 4.371 ms (5%) 3.64 MiB (1%) 82349
["ecc", "evaluate_decoder", "shor_bp_shorsyn"] 5.148 ms (5%) 3.81 MiB (1%) 85069
["ecc", "evaluate_decoder", "shor_pybp_comm"] 24.784 ms (5%) 3.97 MiB (1%) 116084
["ecc", "evaluate_decoder", "shor_pybp_naivesyn"] 50.930 ms (5%) 7.99 MiB (1%) 228133
["ecc", "evaluate_decoder", "shor_pybp_shorsyn"] 51.073 ms (5%) 8.07 MiB (1%) 229131
["ecc", "evaluate_decoder", "shor_table_comm"] 257.640 μs (5%) 241.48 KiB (1%) 4595
["ecc", "evaluate_decoder", "shor_table_naivesyn"] 1.095 ms (5%) 350.88 KiB (1%) 5155
["ecc", "evaluate_decoder", "shor_table_shorsyn"] 1.520 ms (5%) 440.22 KiB (1%) 6153
["ecc", "evaluate_decoder", "toric8_bp_comm"] 702.835 ms (5%) 16.875 ms 175.74 MiB (1%) 1053330
["ecc", "evaluate_decoder", "toric8_bp_naivesyn"] 1.375 s (5%) 29.111 ms 348.59 MiB (1%) 2122708
["ecc", "evaluate_decoder", "toric8_bp_shorsyn"] 1.439 s (5%) 31.645 ms 364.55 MiB (1%) 2235983
["ecc", "evaluate_decoder", "toric8_pybp_comm"] 396.881 ms (5%) 7.31 MiB (1%) 135575
["ecc", "evaluate_decoder", "toric8_pybp_naivesyn"] 806.617 ms (5%) 16.90 MiB (1%) 317606
["ecc", "evaluate_decoder", "toric8_pybp_shorsyn"] 822.404 ms (5%) 19.38 MiB (1%) 351522
["ecc", "evaluate_decoder", "toric8_pymatch_comm"] 4.225 ms (5%) 1.95 MiB (1%) 23180
["ecc", "evaluate_decoder", "toric8_pymatch_naivesyn"] 17.068 ms (5%) 6.03 MiB (1%) 92823
["ecc", "evaluate_decoder", "toric8_pymatch_shorsyn"] 26.319 ms (5%) 8.50 MiB (1%) 126739
["ecc", "evaluate_decoder", "toric8_table_comm"] 2.701 ms (5%) 1.64 MiB (1%) 23086
["ecc", "evaluate_decoder", "toric8_table_naivesyn"] 14.864 ms (5%) 5.38 MiB (1%) 92628
["ecc", "evaluate_decoder", "toric8_table_shorsyn"] 24.096 ms (5%) 7.86 MiB (1%) 126544
["pauli", "mul", "100"] 14.505 ns (5%)
["pauli", "mul", "1000"] 18.820 ns (5%)
["pauli", "mul", "100000"] 734.351 ns (5%)
["pauli", "mul", "20000000"] 181.809 μs (5%)
["stabilizer", "canon", "cano500"] 3.090 ms (5%)
["stabilizer", "canon", "diag_cano500"] 636.648 μs (5%)
["stabilizer", "canon", "diag_gott500"] 4.131 ms (5%) 5.19 MiB (1%) 34521
["stabilizer", "canon", "diag_rref500"] 732.517 μs (5%)
["stabilizer", "canon", "gott500"] 6.591 ms (5%) 5.19 MiB (1%) 34531
["stabilizer", "canon", "md_cano500"] 1.553 ms (5%)
["stabilizer", "canon", "md_rref500"] 1.566 ms (5%)
["stabilizer", "canon", "rref500"] 3.138 ms (5%)
["stabilizer", "project", "destabilizer"] 18.254 μs (5%) 288 bytes (1%) 5
["stabilizer", "project", "stabilizer"] 8.596 μs (5%) 80 bytes (1%) 2
["stabilizer", "tensor", "diag_pow5_20"] 1.125 ms (5%) 23.97 MiB (1%) 34
["stabilizer", "tensor", "pow5_20"] 2.467 μs (5%) 6.44 KiB (1%) 31
["stabilizer", "trace", "destabilizer"] 31.268 μs (5%) 80 bytes (1%) 2
["stabilizer", "trace", "stabilizer"] 24.555 μs (5%) 112 bytes (1%) 3

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["circuitsim", "compactification"]
  • ["circuitsim", "mctrajectories"]
  • ["circuitsim", "mctrajectories_sumtype"]
  • ["circuitsim", "mctrajectories_union"]
  • ["circuitsim", "pftrajectories"]
  • ["circuitsim", "pftrajectories_sumtype"]
  • ["circuitsim", "pftrajectories_union"]
  • ["clifford", "dense"]
  • ["clifford", "symbolic"]
  • ["ecc", "evaluate_decoder"]
  • ["pauli", "mul"]
  • ["stabilizer", "canon"]
  • ["stabilizer", "project"]
  • ["stabilizer", "tensor"]
  • ["stabilizer", "trace"]

Julia versioninfo

Julia Version 1.12.0-DEV.605
Commit 768921e6f73 (2024-05-26 17:30 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 3413 s 0 s 218 s 9874 s 0 s
 #2 0 MHz 3464 s 0 s 240 s 9806 s 0 s
 #3 0 MHz 3640 s 0 s 240 s 9622 s 0 s
 #4 0 MHz 3279 s 0 s 223 s 10001 s 0 s
 Memory: 15.606502532958984 GB (13311.71875 MB free)
 Uptime: 1356.74 sec
 Load Avg: 1.02 1.04 0.87
 WORD_SIZE: 64
 LLVM: libLLVM-17.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Runtime information

Runtime Info
BLAS #threads 2
BLAS.vendor() lbt
Sys.CPU_THREADS 4

lscpu output:

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 48 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Vendor ID: AuthenticAMD
Model name: AMD EPYC 7763 64-Core Processor
CPU family: 25
Model: 1
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
Stepping: 1
BogoMIPS: 4890.85
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext invpcid_single vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr rdpru arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip vaes vpclmulqdq rdpid fsrm
Virtualization: AMD-V
Hypervisor vendor: Microsoft
Virtualization type: full
L1d cache: 64 KiB (2 instances)
L1i cache: 64 KiB (2 instances)
L2 cache: 1 MiB (2 instances)
L3 cache: 32 MiB (1 instance)
NUMA node(s): 1
NUMA node0 CPU(s): 0-3
Vulnerability Gather data sampling: Not affected
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec rstack overflow: Vulnerable: Safe RET, no microcode
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Retpolines; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected

Cpu Property Value
Brand AMD EPYC 7763 64-Core Processor
Vendor :AMD
Architecture :Unknown
Model Family: 0xaf, Model: 0x01, Stepping: 0x01, Type: 0x00
Cores 16 physical cores, 16 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 512, 32768) kbytes
64 byte cache line size
Address Size 48 bits virtual, 48 bits physical
SIMD 256 bit = 32 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC runs at constant rate (invariant from clock frequency)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft
Benchmark Result

Judge result

Benchmark Report for /home/runner/work/QuantumClifford.jl/QuantumClifford.jl

Job Properties

  • Time of benchmarks:
  • Target: 27 May 2024 - 05:27
  • Baseline: 27 May 2024 - 05:34
  • Package commits:
  • Target: 9522c7
  • Baseline: 44f618
  • Julia commits:
  • Target: 768921
  • Baseline: 768921
  • Julia command flags:
  • Target: None
  • Baseline: None
  • Environment variables:
  • Target: None
  • Baseline: None

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less
than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results
that indicate possible regressions or improvements - are shown below (thus, an empty table means that all
benchmark results remained invariant between builds).

ID time ratio memory ratio
["clifford", "dense", "cnot_on_dense500_stab"] 1.05 (5%) ❌ 1.00 (1%)
["clifford", "dense", "dense500_on_diag500_destab"] 1.15 (5%) ❌ 1.00 (1%)
["ecc", "evaluate_decoder", "shor_bp_shorsyn"] 0.93 (5%) ✅ 0.98 (1%) ✅
["ecc", "evaluate_decoder", "toric8_bp_comm"] 0.95 (5%) 0.98 (1%) ✅
["ecc", "evaluate_decoder", "toric8_bp_naivesyn"] 0.98 (5%) 0.98 (1%) ✅
["stabilizer", "project", "stabilizer"] 1.10 (5%) ❌ 1.00 (1%)
["stabilizer", "tensor", "diag_pow5_20"] 1.06 (5%) ❌ 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["circuitsim", "compactification"]
  • ["circuitsim", "mctrajectories"]
  • ["circuitsim", "mctrajectories_sumtype"]
  • ["circuitsim", "mctrajectories_union"]
  • ["circuitsim", "pftrajectories"]
  • ["circuitsim", "pftrajectories_sumtype"]
  • ["circuitsim", "pftrajectories_union"]
  • ["clifford", "dense"]
  • ["clifford", "symbolic"]
  • ["ecc", "evaluate_decoder"]
  • ["pauli", "mul"]
  • ["stabilizer", "canon"]
  • ["stabilizer", "project"]
  • ["stabilizer", "tensor"]
  • ["stabilizer", "trace"]

Julia versioninfo

Target

Julia Version 1.12.0-DEV.605
Commit 768921e6f73 (2024-05-26 17:30 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 3050 s 0 s 150 s 5617 s 0 s
 #2 0 MHz 2540 s 0 s 145 s 6143 s 0 s
 #3 0 MHz 1825 s 0 s 176 s 6822 s 0 s
 #4 0 MHz 1804 s 0 s 177 s 6851 s 0 s
 Memory: 15.606502532958984 GB (13319.3203125 MB free)
 Uptime: 886.66 sec
 Load Avg: 1.0 1.02 0.73
 WORD_SIZE: 64
 LLVM: libLLVM-17.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.12.0-DEV.605
Commit 768921e6f73 (2024-05-26 17:30 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 4052 s 0 s 193 s 8952 s 0 s
 #2 0 MHz 2903 s 0 s 185 s 10119 s 0 s
 #3 0 MHz 3325 s 0 s 228 s 9652 s 0 s
 #4 0 MHz 3342 s 0 s 223 s 9650 s 0 s
 Memory: 15.606502532958984 GB (13305.24609375 MB free)
 Uptime: 1325.47 sec
 Load Avg: 1.0 1.02 0.87
 WORD_SIZE: 64
 LLVM: libLLVM-17.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

Benchmark Report for /home/runner/work/QuantumClifford.jl/QuantumClifford.jl

Job Properties

  • Time of benchmark: 27 May 2024 - 5:27
  • Package commit: 9522c7
  • Julia commit: 768921
  • Julia command flags: None
  • Environment variables: None

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["circuitsim", "compactification", "compact"] 7.252 ms (5%)
["circuitsim", "compactification", "no_compact"] 7.396 ms (5%) 281.25 KiB (1%) 6000
["circuitsim", "mctrajectories", "q1001_r1"] 15.291 ms (5%) 500.77 KiB (1%) 18019
["circuitsim", "mctrajectories", "q101_r1"] 169.516 μs (5%) 50.53 KiB (1%) 1818
["circuitsim", "mctrajectories_sumtype", "q1001_r1"] 13.577 ms (5%) 496 bytes (1%) 9
["circuitsim", "mctrajectories_sumtype", "q101_r1"] 120.165 μs (5%) 256 bytes (1%) 8
["circuitsim", "mctrajectories_union", "q1001_r1"] 13.134 ms (5%) 496 bytes (1%) 9
["circuitsim", "mctrajectories_union", "q101_r1"] 119.002 μs (5%) 256 bytes (1%) 8
["circuitsim", "pftrajectories", "q1001_r1"] 63.559 μs (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q1001_r100"] 174.837 μs (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q1001_r10000"] 1.102 ms (5%) 93.80 KiB (1%) 2001
["circuitsim", "pftrajectories", "q101_r1"] 6.362 μs (5%) 9.42 KiB (1%) 201
["circuitsim", "pftrajectories_sumtype", "q1001_r1"] 42.930 μs (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r100"] 151.934 μs (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r10000"] 1.083 ms (5%)
["circuitsim", "pftrajectories_sumtype", "q1001_r10000_fastrow"] 5.828 ms (5%)
["circuitsim", "pftrajectories_sumtype", "q101_r1"] 4.348 μs (5%)
["circuitsim", "pftrajectories_union", "q1001_r1"] 22.592 μs (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q1001_r100"] 134.461 μs (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q1001_r10000"] 1.055 ms (5%) 96 bytes (1%) 2
["circuitsim", "pftrajectories_union", "q101_r1"] 2.334 μs (5%) 96 bytes (1%) 2
["clifford", "dense", "cnot250_on_dense500_destab"] 11.421 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_dense500_stab"] 5.709 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_diag500_destab"] 1.119 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot250_on_diag500_stab"] 560.055 μs (5%) 512 bytes (1%) 8
["clifford", "dense", "cnot_on_dense500_destab"] 49.612 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_dense500_stab"] 24.005 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_diag500_destab"] 25.639 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "cnot_on_diag500_stab"] 13.345 μs (5%) 368 bytes (1%) 10
["clifford", "dense", "dense500_on_dense500_destab"] 11.422 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_dense500_stab"] 5.713 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_diag500_destab"] 1.118 ms (5%) 512 bytes (1%) 8
["clifford", "dense", "dense500_on_diag500_stab"] 560.065 μs (5%) 512 bytes (1%) 8
["clifford", "symbolic", "cnot250_on_dense500_destab"] 1.476 ms (5%)
["clifford", "symbolic", "cnot250_on_dense500_stab"] 701.560 μs (5%)
["clifford", "symbolic", "cnot250_on_diag500_destab"] 1.201 ms (5%)
["clifford", "symbolic", "cnot250_on_diag500_stab"] 584.181 μs (5%)
["clifford", "symbolic", "cnot_on_dense500_destab"] 4.849 μs (5%)
["clifford", "symbolic", "cnot_on_dense500_stab"] 2.354 μs (5%)
["clifford", "symbolic", "cnot_on_diag500_destab"] 4.799 μs (5%)
["clifford", "symbolic", "cnot_on_diag500_stab"] 2.365 μs (5%)
["ecc", "evaluate_decoder", "shor_bp_comm"] 1.822 ms (5%) 1.77 MiB (1%) 42653
["ecc", "evaluate_decoder", "shor_bp_naivesyn"] 4.377 ms (5%) 3.64 MiB (1%) 82265
["ecc", "evaluate_decoder", "shor_bp_shorsyn"] 4.774 ms (5%) 3.71 MiB (1%) 82983
["ecc", "evaluate_decoder", "shor_pybp_comm"] 25.389 ms (5%) 3.97 MiB (1%) 116084
["ecc", "evaluate_decoder", "shor_pybp_naivesyn"] 51.347 ms (5%) 7.99 MiB (1%) 228133
["ecc", "evaluate_decoder", "shor_pybp_shorsyn"] 51.983 ms (5%) 8.07 MiB (1%) 229131
["ecc", "evaluate_decoder", "shor_table_comm"] 256.228 μs (5%) 241.48 KiB (1%) 4595
["ecc", "evaluate_decoder", "shor_table_naivesyn"] 1.103 ms (5%) 350.88 KiB (1%) 5155
["ecc", "evaluate_decoder", "shor_table_shorsyn"] 1.520 ms (5%) 440.22 KiB (1%) 6153
["ecc", "evaluate_decoder", "toric8_bp_comm"] 671.168 ms (5%) 13.715 ms 171.19 MiB (1%) 1026590
["ecc", "evaluate_decoder", "toric8_bp_naivesyn"] 1.373 s (5%) 27.725 ms 347.55 MiB (1%) 2116583
["ecc", "evaluate_decoder", "toric8_bp_shorsyn"] 1.381 s (5%) 26.262 ms 353.36 MiB (1%) 2170120
["ecc", "evaluate_decoder", "toric8_pybp_comm"] 395.124 ms (5%) 7.31 MiB (1%) 135575
["ecc", "evaluate_decoder", "toric8_pybp_naivesyn"] 816.908 ms (5%) 16.90 MiB (1%) 317606
["ecc", "evaluate_decoder", "toric8_pybp_shorsyn"] 837.840 ms (5%) 19.38 MiB (1%) 351522
["ecc", "evaluate_decoder", "toric8_pymatch_comm"] 4.207 ms (5%) 1.95 MiB (1%) 23180
["ecc", "evaluate_decoder", "toric8_pymatch_naivesyn"] 17.412 ms (5%) 6.03 MiB (1%) 92823
["ecc", "evaluate_decoder", "toric8_pymatch_shorsyn"] 26.400 ms (5%) 8.50 MiB (1%) 126739
["ecc", "evaluate_decoder", "toric8_table_comm"] 2.681 ms (5%) 1.64 MiB (1%) 23086
["ecc", "evaluate_decoder", "toric8_table_naivesyn"] 15.152 ms (5%) 5.38 MiB (1%) 92628
["ecc", "evaluate_decoder", "toric8_table_shorsyn"] 24.133 ms (5%) 7.86 MiB (1%) 126544
["pauli", "mul", "100"] 14.366 ns (5%)
["pauli", "mul", "1000"] 18.208 ns (5%)
["pauli", "mul", "100000"] 727.786 ns (5%)
["pauli", "mul", "20000000"] 170.699 μs (5%)
["stabilizer", "canon", "cano500"] 3.077 ms (5%)
["stabilizer", "canon", "diag_cano500"] 604.378 μs (5%)
["stabilizer", "canon", "diag_gott500"] 4.121 ms (5%) 5.19 MiB (1%) 34521
["stabilizer", "canon", "diag_rref500"] 655.564 μs (5%)
["stabilizer", "canon", "gott500"] 6.590 ms (5%) 5.19 MiB (1%) 34531
["stabilizer", "canon", "md_cano500"] 1.568 ms (5%)
["stabilizer", "canon", "md_rref500"] 1.564 ms (5%)
["stabilizer", "canon", "rref500"] 3.149 ms (5%)
["stabilizer", "project", "destabilizer"] 17.874 μs (5%) 288 bytes (1%) 5
["stabilizer", "project", "stabilizer"] 9.538 μs (5%) 80 bytes (1%) 2
["stabilizer", "tensor", "diag_pow5_20"] 1.248 ms (5%) 23.97 MiB (1%) 34
["stabilizer", "tensor", "pow5_20"] 2.433 μs (5%) 6.44 KiB (1%) 31
["stabilizer", "trace", "destabilizer"] 31.338 μs (5%) 80 bytes (1%) 2
["stabilizer", "trace", "stabilizer"] 24.255 μs (5%) 112 bytes (1%) 3

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["circuitsim", "compactification"]
  • ["circuitsim", "mctrajectories"]
  • ["circuitsim", "mctrajectories_sumtype"]
  • ["circuitsim", "mctrajectories_union"]
  • ["circuitsim", "pftrajectories"]
  • ["circuitsim", "pftrajectories_sumtype"]
  • ["circuitsim", "pftrajectories_union"]
  • ["clifford", "dense"]
  • ["clifford", "symbolic"]
  • ["ecc", "evaluate_decoder"]
  • ["pauli", "mul"]
  • ["stabilizer", "canon"]
  • ["stabilizer", "project"]
  • ["stabilizer", "tensor"]
  • ["stabilizer", "trace"]

Julia versioninfo

Julia Version 1.12.0-DEV.605
Commit 768921e6f73 (2024-05-26 17:30 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 3050 s 0 s 150 s 5617 s 0 s
 #2 0 MHz 2540 s 0 s 145 s 6143 s 0 s
 #3 0 MHz 1825 s 0 s 176 s 6822 s 0 s
 #4 0 MHz 1804 s 0 s 177 s 6851 s 0 s
 Memory: 15.606502532958984 GB (13319.3203125 MB free)
 Uptime: 886.66 sec
 Load Avg: 1.0 1.02 0.73
 WORD_SIZE: 64
 LLVM: libLLVM-17.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

Benchmark Report for /home/runner/work/QuantumClifford.jl/QuantumClifford.jl

Job Properties

  • Time of benchmark: 27 May 2024 - 5:34
  • Package commit: 44f618
  • Julia commit: 768921
  • Julia command flags: None
  • Environment variables: None

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given ben...[Comment body truncated]

@Fe-r-oz Fe-r-oz marked this pull request as ready for review May 31, 2024 16:45
@Fe-r-oz Fe-r-oz changed the title Adding Documentation to Resolve Issue#258 More Documentation on MixedDestabilizer/MixedStabilizer/Stabilizer/Destabilizer objects Jun 26, 2024
@Fe-r-oz Fe-r-oz changed the title More Documentation on MixedDestabilizer/MixedStabilizer/Stabilizer/Destabilizer objects More Documentation on MixedDestab/MixedStab/Stab/Destab objects Jun 26, 2024
@Fe-r-oz
Copy link
Contributor Author

Fe-r-oz commented Jul 20, 2024

Improved Version:

mindmap
  root((Applications of Stabilizer Formalism))
    Quantum Error Correction
      Quantum Error Correcting Codes
      Fault-Tolerant Quantum Computing
    Measurement-Based Quantum Computation
      Cluster States
      Graph States
    Quantum Communication
      Quantum Cryptography
      Quantum Networking
    Entanglement Distillation
    Quantum Metrology
    Quantum Simulation
      Stabilizer Circuits
      Efficient Simulation of Quantum Systems
Loading

@Fe-r-oz Fe-r-oz marked this pull request as draft July 20, 2024 04:25
@Fe-r-oz Fe-r-oz changed the title More Documentation on MixedDestab/MixedStab/Stab/Destab objects fix for documentation on the various ways to construct Stab/Destab/MixedDestab objects #258 Jul 30, 2024
@Fe-r-oz
Copy link
Contributor Author

Fe-r-oz commented Jul 30, 2024

Please copy it in Mermaid live editor if there are any rendering issues.

This version has not been pushed. I made small edit, e.g. adding sub graphs so that the background is highlighted. Looking forward to your comments, so I can push this edit then.

flowchart TD
    A["<code>Tableau Data Structure Selection</code>"]
    class A startEnd
    
    A --> B{"<code>Stabilizer state?</code>"}
    class A,B startEnd
    
    B -->|<code>Yes</code>| C{"<code>Pure state?</code>"}
    B -->|<code>No</code>| D{"<code>Pure state?</code>"}
    class B,C,D decision
    
    C -->|<code>Yes</code>| E["<code>Stabilizer</code>"]
    C -->|<code>No</code>| F["<code>MixedStabilizer</code>"]

    D -->|<code>Yes</code>| G["<code>Destabilizer</code>"]
    D -->|<code>No</code>| H["<code>MixedDestabilizer</code>"]

    subgraph DescA [<code></code>]
        E --> E_desc["<code>Handles pure stabilizer states. Efficient project operations.</code>"]
    end
    subgraph DescB [<code></code>]
        F --> F_desc["<code>Tracks mixed stabilizer state ranks. Projects non-stabilizer operations</code>"]
    end
    subgraph DescC [<code></code>]
        G --> G_desc["<code>Handles pure destabilizer states. Tracks destabilizer operators. Efficient project operations</code>"]
    end
     subgraph DescD [<code></code>]
        H --> H_desc["<code>Tracks destabilizers. Tracks logical operators. Efficient project operations</code>"]
    end
Loading

@Fe-r-oz Fe-r-oz changed the title fix for documentation on the various ways to construct Stab/Destab/MixedDestab objects #258 fix #258: Documentation on myriad ways to construct Stab/Destab/MixedDestab objects Sep 9, 2024
@Fe-r-oz Fe-r-oz force-pushed the Issue258 branch 3 times, most recently from 2d05d37 to b7b613a Compare September 9, 2024 12:17
@Fe-r-oz
Copy link
Contributor Author

Fe-r-oz commented Sep 9, 2024

There were conflicts which I resolved via rebase. This may have cause many emails. I had to git reset hard to a commit from 4 months ago and them merge the latest branch from master to resolve everything.

@Fe-r-oz Fe-r-oz marked this pull request as ready for review September 9, 2024 19:11
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.

1 participant