Skip to content

Add decoherence and subset GHZ projection #233

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

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

Conversation

hanakl
Copy link
Contributor

@hanakl hanakl commented May 16, 2025

No description provided.

@hanakl hanakl marked this pull request as draft May 16, 2025 07:34
Copy link
Contributor

github-actions bot commented May 16, 2025

Benchmark Result

Judge result

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

Job Properties

  • Time of benchmarks:
  • Target: 16 May 2025 - 07:42
  • Baseline: 16 May 2025 - 07:43
  • Package commits:
  • Julia commits:
  • Target: 760b2e5
  • Baseline: 760b2e5
  • 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 ✅). Brackets display tolerances for the benchmark estimates. 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
["tagquery", "register", "queryall"] 1.02 (5%) 1.07 (1%) ❌

Benchmark Group List

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

  • ["quantumstates", "observable"]
  • ["register", "creation_and_initialization"]
  • ["tagquery", "messagebuffer"]
  • ["tagquery", "misc"]
  • ["tagquery", "register"]

Julia versioninfo

Target

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 24.04.2 LTS
 uname: Linux 6.11.0-1012-azure #12~24.04.1-Ubuntu SMP Mon Mar 10 19:00:39 UTC 2025 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 3319 s 0 s 203 s 8903 s 0 s
 #2 0 MHz 3676 s 0 s 206 s 8546 s 0 s
 #3 0 MHz 2983 s 0 s 192 s 9258 s 0 s
 #4 0 MHz 3332 s 0 s 198 s 8897 s 0 s
 Memory: 15.614940643310547 GB (13781.93359375 MB free)
 Uptime: 1245.89 sec
 Load Avg: 1.17 2.22 1.41
 WORD_SIZE: 64
 LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 24.04.2 LTS
 uname: Linux 6.11.0-1012-azure #12~24.04.1-Ubuntu SMP Mon Mar 10 19:00:39 UTC 2025 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 3690 s 0 s 219 s 9240 s 0 s
 #2 0 MHz 3972 s 0 s 227 s 8952 s 0 s
 #3 0 MHz 3005 s 0 s 193 s 9959 s 0 s
 #4 0 MHz 3335 s 0 s 201 s 9615 s 0 s
 Memory: 15.614940643310547 GB (13582.90625 MB free)
 Uptime: 1318.34 sec
 Load Avg: 1.05 1.96 1.38
 WORD_SIZE: 64
 LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 16 May 2025 - 07:42
  • Package commit: 609f749
  • Julia commit: 760b2e5
  • 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
["quantumstates", "observable", "quantumoptics"] 692.000 ns (5%) 2.23 KiB (1%) 17
["register", "creation_and_initialization", "from_tests"] 212.746 μs (5%) 909.39 KiB (1%) 2632
["tagquery", "messagebuffer", "query"] 316.637 ns (5%) 64 bytes (1%) 2
["tagquery", "messagebuffer", "querydelete"] 661.000 ns (5%) 96 bytes (1%) 3
["tagquery", "misc", "from_tests"] 8.239 μs (5%) 14.72 KiB (1%) 188
["tagquery", "register", "query"] 3.347 s (5%) 2.011 s 536.10 MiB (1%) 5085649
["tagquery", "register", "queryall"] 4.046 s (5%) 2.170 s 1.85 GiB (1%) 5344148

Benchmark Group List

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

  • ["quantumstates", "observable"]
  • ["register", "creation_and_initialization"]
  • ["tagquery", "messagebuffer"]
  • ["tagquery", "misc"]
  • ["tagquery", "register"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 24.04.2 LTS
 uname: Linux 6.11.0-1012-azure #12~24.04.1-Ubuntu SMP Mon Mar 10 19:00:39 UTC 2025 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 3319 s 0 s 203 s 8903 s 0 s
 #2 0 MHz 3676 s 0 s 206 s 8546 s 0 s
 #3 0 MHz 2983 s 0 s 192 s 9258 s 0 s
 #4 0 MHz 3332 s 0 s 198 s 8897 s 0 s
 Memory: 15.614940643310547 GB (13781.93359375 MB free)
 Uptime: 1245.89 sec
 Load Avg: 1.17 2.22 1.41
 WORD_SIZE: 64
 LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 16 May 2025 - 07:43
  • Package commit: 6533bfa
  • Julia commit: 760b2e5
  • 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
["quantumstates", "observable", "quantumoptics"] 691.000 ns (5%) 2.23 KiB (1%) 17
["register", "creation_and_initialization", "from_tests"] 206.024 μs (5%) 909.39 KiB (1%) 2632
["tagquery", "messagebuffer", "query"] 318.763 ns (5%) 64 bytes (1%) 2
["tagquery", "messagebuffer", "querydelete"] 631.000 ns (5%) 96 bytes (1%) 3
["tagquery", "misc", "from_tests"] 7.962 μs (5%) 14.72 KiB (1%) 188
["tagquery", "register", "query"] 3.401 s (5%) 2.068 s 536.10 MiB (1%) 5085649
["tagquery", "register", "queryall"] 3.952 s (5%) 2.190 s 1.73 GiB (1%) 5014320

Benchmark Group List

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

  • ["quantumstates", "observable"]
  • ["register", "creation_and_initialization"]
  • ["tagquery", "messagebuffer"]
  • ["tagquery", "misc"]
  • ["tagquery", "register"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 24.04.2 LTS
 uname: Linux 6.11.0-1012-azure #12~24.04.1-Ubuntu SMP Mon Mar 10 19:00:39 UTC 2025 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 3690 s 0 s 219 s 9240 s 0 s
 #2 0 MHz 3972 s 0 s 227 s 8952 s 0 s
 #3 0 MHz 3005 s 0 s 193 s 9959 s 0 s
 #4 0 MHz 3335 s 0 s 201 s 9615 s 0 s
 Memory: 15.614940643310547 GB (13582.90625 MB free)
 Uptime: 1318.34 sec
 Load Avg: 1.05 1.96 1.38
 WORD_SIZE: 64
 LLVM: libLLVM-16.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.86
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 tsc_known_freq 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 vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves user_shstk 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 Reg file data sampling: 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/QuantumSavory.jl/QuantumSavory.jl

Job Properties

  • Time of benchmarks:
  • Target: 21 May 2025 - 05:40
  • Baseline: 21 May 2025 - 05:41
  • Package commits:
  • Julia commits:
  • Target: 760b2e5
  • Baseline: 760b2e5
  • 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 ✅). Brackets display tolerances for the benchmark estimates. 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
["register", "creation_and_initialization", "from_tests"] 1.06 (5%) ❌ 1.00 (1%)
["tagquery", "misc", "from_tests"] 1.05 (5%) ❌ 1.00 (1%)
["tagquery", "register", "queryall"] 1.01 (5%) 1.01 (1%) ❌

Benchmark Group List

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

  • ["quantumstates", "observable"]
  • ["register", "creation_and_initialization"]
  • ["tagquery", "messagebuffer"]
  • ["tagquery", "misc"]
  • ["tagquery", "register"]

Julia versioninfo

Target

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 24.04.2 LTS
 uname: Linux 6.11.0-1014-azure #14~24.04.1-Ubuntu SMP Thu Apr 24 17:41:03 UTC 2025 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 3326 s 0 s 184 s 2274 s 0 s
 #2 0 MHz 2972 s 0 s 187 s 2633 s 0 s
 #3 0 MHz 3256 s 0 s 207 s 2336 s 0 s
 #4 0 MHz 3420 s 0 s 205 s 2171 s 0 s
 Memory: 15.620780944824219 GB (13742.94140625 MB free)
 Uptime: 581.72 sec
 Load Avg: 1.2 2.28 1.41
 WORD_SIZE: 64
 LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 24.04.2 LTS
 uname: Linux 6.11.0-1014-azure #14~24.04.1-Ubuntu SMP Thu Apr 24 17:41:03 UTC 2025 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 3331 s 0 s 185 s 2954 s 0 s
 #2 0 MHz 2998 s 0 s 189 s 3290 s 0 s
 #3 0 MHz 3642 s 0 s 232 s 2612 s 0 s
 #4 0 MHz 3658 s 0 s 216 s 2608 s 0 s
 Memory: 15.620780944824219 GB (13640.71875 MB free)
 Uptime: 650.39 sec
 Load Avg: 1.06 2.02 1.37
 WORD_SIZE: 64
 LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 21 May 2025 - 05:40
  • Package commit: 23c8167
  • Julia commit: 760b2e5
  • 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
["quantumstates", "observable", "quantumoptics"] 691.000 ns (5%) 2.23 KiB (1%) 17
["register", "creation_and_initialization", "from_tests"] 198.640 μs (5%) 909.39 KiB (1%) 2632
["tagquery", "messagebuffer", "query"] 304.379 ns (5%) 64 bytes (1%) 2
["tagquery", "messagebuffer", "querydelete"] 641.000 ns (5%) 96 bytes (1%) 3
["tagquery", "misc", "from_tests"] 8.212 μs (5%) 14.72 KiB (1%) 188
["tagquery", "register", "query"] 3.245 s (5%) 1.923 s 536.10 MiB (1%) 5085649
["tagquery", "register", "queryall"] 3.703 s (5%) 2.029 s 1.51 GiB (1%) 4384148

Benchmark Group List

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

  • ["quantumstates", "observable"]
  • ["register", "creation_and_initialization"]
  • ["tagquery", "messagebuffer"]
  • ["tagquery", "misc"]
  • ["tagquery", "register"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 24.04.2 LTS
 uname: Linux 6.11.0-1014-azure #14~24.04.1-Ubuntu SMP Thu Apr 24 17:41:03 UTC 2025 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 3326 s 0 s 184 s 2274 s 0 s
 #2 0 MHz 2972 s 0 s 187 s 2633 s 0 s
 #3 0 MHz 3256 s 0 s 207 s 2336 s 0 s
 #4 0 MHz 3420 s 0 s 205 s 2171 s 0 s
 Memory: 15.620780944824219 GB (13742.94140625 MB free)
 Uptime: 581.72 sec
 Load Avg: 1.2 2.28 1.41
 WORD_SIZE: 64
 LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 21 May 2025 - 05:41
  • Package commit: 6533bfa
  • Julia commit: 760b2e5
  • 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
["quantumstates", "observable", "quantumoptics"] 701.000 ns (5%) 2.23 KiB (1%) 17
["register", "creation_and_initialization", "from_tests"] 188.200 μs (5%) 909.39 KiB (1%) 2632
["tagquery", "messagebuffer", "query"] 308.598 ns (5%) 64 bytes (1%) 2
["tagquery", "messagebuffer", "querydelete"] 671.000 ns (5%) 96 bytes (1%) 3
["tagquery", "misc", "from_tests"] 7.791 μs (5%) 14.72 KiB (1%) 188
["tagquery", "register", "query"] 3.235 s (5%) 1.894 s 533.96 MiB (1%) 5065649
["tagquery", "register", "queryall"] 3.677 s (5%) 2.050 s 1.49 GiB (1%) 4324320

Benchmark Group List

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

  • ["quantumstates", "observable"]
  • ["register", "creation_and_initialization"]
  • ["tagquery", "messagebuffer"]
  • ["tagquery", "misc"]
  • ["tagquery", "register"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 24.04.2 LTS
 uname: Linux 6.11.0-1014-azure #14~24.04.1-Ubuntu SMP Thu Apr 24 17:41:03 UTC 2025 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 3331 s 0 s 185 s 2954 s 0 s
 #2 0 MHz 2998 s 0 s 189 s 3290 s 0 s
 #3 0 MHz 3642 s 0 s 232 s 2612 s 0 s
 #4 0 MHz 3658 s 0 s 216 s 2608 s 0 s
 Memory: 15.620780944824219 GB (13640.71875 MB free)
 Uptime: 650.39 sec
 Load Avg: 1.06 2.02 1.37
 WORD_SIZE: 64
 LLVM: libLLVM-16.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.86
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 tsc_known_freq 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 vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves user_shstk 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 Reg file data sampling: 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/QuantumSavory.jl/QuantumSavory.jl

Job Properties

  • Time of benchmarks:
  • Target: 21 May 2025 - 05:55
  • Baseline: 21 May 2025 - 05:56
  • Package commits:
  • Julia commits:
  • Target: 760b2e5
  • Baseline: 760b2e5
  • 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 ✅). Brackets display tolerances for the benchmark estimates. 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
["register", "creation_and_initialization", "from_tests"] 1.08 (5%) ❌ 1.00 (1%)
["tagquery", "messagebuffer", "querydelete"] 0.93 (5%) ✅ 1.00 (1%)
["tagquery", "misc", "from_tests"] 1.06 (5%) ❌ 1.00 (1%)
["tagquery", "register", "queryall"] 1.00 (5%) 1.03 (1%) ❌

Benchmark Group List

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

  • ["quantumstates", "observable"]
  • ["register", "creation_and_initialization"]
  • ["tagquery", "messagebuffer"]
  • ["tagquery", "misc"]
  • ["tagquery", "register"]

Julia versioninfo

Target

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 24.04.2 LTS
 uname: Linux 6.11.0-1014-azure #14~24.04.1-Ubuntu SMP Thu Apr 24 17:41:03 UTC 2025 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 2965 s 0 s 189 s 2289 s 0 s
 #2 0 MHz 3186 s 0 s 163 s 2103 s 0 s
 #3 0 MHz 3425 s 0 s 218 s 1807 s 0 s
 #4 0 MHz 3385 s 0 s 212 s 1845 s 0 s
 Memory: 15.620780944824219 GB (13793.8125 MB free)
 Uptime: 547.16 sec
 Load Avg: 1.4 2.37 1.45
 WORD_SIZE: 64
 LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 24.04.2 LTS
 uname: Linux 6.11.0-1014-azure #14~24.04.1-Ubuntu SMP Thu Apr 24 17:41:03 UTC 2025 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 2985 s 0 s 192 s 2964 s 0 s
 #2 0 MHz 3187 s 0 s 165 s 2797 s 0 s
 #3 0 MHz 3568 s 0 s 223 s 2358 s 0 s
 #4 0 MHz 3884 s 0 s 246 s 2009 s 0 s
 Memory: 15.620780944824219 GB (13584.1015625 MB free)
 Uptime: 616.94 sec
 Load Avg: 1.21 2.12 1.43
 WORD_SIZE: 64
 LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 21 May 2025 - 05:55
  • Package commit: 2149ffe
  • Julia commit: 760b2e5
  • 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
["quantumstates", "observable", "quantumoptics"] 691.000 ns (5%) 2.23 KiB (1%) 17
["register", "creation_and_initialization", "from_tests"] 202.356 μs (5%) 909.39 KiB (1%) 2632
["tagquery", "messagebuffer", "query"] 319.238 ns (5%) 64 bytes (1%) 2
["tagquery", "messagebuffer", "querydelete"] 651.000 ns (5%) 96 bytes (1%) 3
["tagquery", "misc", "from_tests"] 8.416 μs (5%) 14.72 KiB (1%) 188
["tagquery", "register", "query"] 3.291 s (5%) 1.889 s 531.82 MiB (1%) 5045649
["tagquery", "register", "queryall"] 3.805 s (5%) 2.026 s 1.70 GiB (1%) 4924148

Benchmark Group List

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

  • ["quantumstates", "observable"]
  • ["register", "creation_and_initialization"]
  • ["tagquery", "messagebuffer"]
  • ["tagquery", "misc"]
  • ["tagquery", "register"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 24.04.2 LTS
 uname: Linux 6.11.0-1014-azure #14~24.04.1-Ubuntu SMP Thu Apr 24 17:41:03 UTC 2025 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 2965 s 0 s 189 s 2289 s 0 s
 #2 0 MHz 3186 s 0 s 163 s 2103 s 0 s
 #3 0 MHz 3425 s 0 s 218 s 1807 s 0 s
 #4 0 MHz 3385 s 0 s 212 s 1845 s 0 s
 Memory: 15.620780944824219 GB (13793.8125 MB free)
 Uptime: 547.16 sec
 Load Avg: 1.4 2.37 1.45
 WORD_SIZE: 64
 LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 21 May 2025 - 05:56
  • Package commit: 6533bfa
  • Julia commit: 760b2e5
  • 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
["quantumstates", "observable", "quantumoptics"] 691.000 ns (5%) 2.23 KiB (1%) 17
["register", "creation_and_initialization", "from_tests"] 187.008 μs (5%) 909.39 KiB (1%) 2632
["tagquery", "messagebuffer", "query"] 307.073 ns (5%) 64 bytes (1%) 2
["tagquery", "messagebuffer", "querydelete"] 701.000 ns (5%) 96 bytes (1%) 3
["tagquery", "misc", "from_tests"] 7.958 μs (5%) 14.72 KiB (1%) 188
["tagquery", "register", "query"] 3.362 s (5%) 1.938 s 529.69 MiB (1%) 5025649
["tagquery", "register", "queryall"] 3.807 s (5%) 2.049 s 1.64 GiB (1%) 4774320

Benchmark Group List

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

  • ["quantumstates", "observable"]
  • ["register", "creation_and_initialization"]
  • ["tagquery", "messagebuffer"]
  • ["tagquery", "misc"]
  • ["tagquery", "register"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 24.04.2 LTS
 uname: Linux 6.11.0-1014-azure #14~24.04.1-Ubuntu SMP Thu Apr 24 17:41:03 UTC 2025 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 0 MHz 2985 s 0 s 192 s 2964 s 0 s
 #2 0 MHz 3187 s 0 s 165 s 2797 s 0 s
 #3 0 MHz 3568 s 0 s 223 s 2358 s 0 s
 #4 0 MHz 3884 s 0 s 246 s 2009 s 0 s
 Memory: 15.620780944824219 GB (13584.1015625 MB free)
 Uptime: 616.94 sec
 Load Avg: 1.21 2.12 1.43
 WORD_SIZE: 64
 LLVM: libLLVM-16.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.86
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 tsc_known_freq 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 vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves user_shstk 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 Reg file data sampling: 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

Copy link

codecov bot commented May 21, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 63.08%. Comparing base (6533bfa) to head (24a8721).

❗ There is a different number of reports uploaded between BASE (6533bfa) and HEAD (24a8721). Click for more details.

HEAD has 6 uploads less than BASE
Flag BASE (6533bfa) HEAD (24a8721)
7 1
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #233      +/-   ##
==========================================
- Coverage   72.58%   63.08%   -9.50%     
==========================================
  Files          52       52              
  Lines        2006     1994      -12     
==========================================
- Hits         1456     1258     -198     
- Misses        550      736     +186     

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hanakl hanakl marked this pull request as ready for review May 21, 2025 05:47
@hanakl hanakl requested a review from Krastanov May 21, 2025 05:47
Copy link
Member

@Krastanov Krastanov left a comment

Choose a reason for hiding this comment

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

  • much more documentation on what this is doing, in README for instance
  • explanation of what the different files are
  • explanation of how to get "scientific insight" out of these simulations
  • in docs/readme/comments explanation of whether there is some global knowledge or instant/telepathic communication between nodes, or whether each node is working just with local information, generally explanation of what is being simulated
  • reference to paper related to this
  • structuring it similarly to other examples where there is "setup" and then there is "visualization"
  • adding an actual doc page, not just readme
  • document that this is not the steady steady or that due to triviality this is immediately the steady state, e.g. because it always resets to the same initial configuration
  • separate this into something like a setup, an example run that runs only one round, and something that visualizes statistics over many rounds or just repeated simulation over many rounds (specifically, see the simpleswitch example)

Check the readme of these examples for style and content guidelines:

After this is merged, consider making a simple wglmakie demo that we can run live as part of the docs.

Comment on lines +85 to +94
procs = []
for i in 1:S
# entangle sensors with the hub (S+1)
eprot = EntanglerProt(sim, net, i, S + 1; pairstate=noisy_pair, chooseA=1, chooseB=i, success_prob=entanglemnt_success_prob)
@process eprot()
end
@yield timeout(sim, fixed_time)
for p in procs
cancel!(p)
end
Copy link
Member

Choose a reason for hiding this comment

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

  • the procs is not populated
  • I think it would be simpler to just do EntanglerProt(...; success_prob=..., attempt_time=..., attempts=total_time/attempt_time, rounds=1)

Copy link
Member

Choose a reason for hiding this comment

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

potentially add a comment that this works only if you have a large enough switch to not have waiting on a free slot

@Krastanov
Copy link
Member

Let's rename the folder to one of the following:

  • ghz_networked_sensors
  • ghz_sensor_distributed
  • simple_networked_sensors

or something along these lines, just a bit more descriptive.

And let's rename the files to be a bit more immediately obvious / standardized, following conventions from the other example folders.

@Krastanov
Copy link
Member

and add to the tests / examples files to make sure this is always executed during CI

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.

2 participants