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

Add symplectic representation feature #15

Merged
merged 17 commits into from
Dec 14, 2024
Merged

Add symplectic representation feature #15

merged 17 commits into from
Dec 14, 2024

Conversation

apkille
Copy link
Owner

@apkille apkille commented Nov 24, 2024

Discussed in #10. This will be a breaking change necessary for representing Gaussian states, unitaries, channels, etc in different symplectic representations. For instance, in the quadrature pair representation where the symplectic form is
$\Omega = \bigoplus_{i = 1}^{N}\begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}$, we would express a displacement unitary operator as follows:

julia> nmodes = 1; repr = QuadPairBasis(nmodes);

julia> displace(basis, 1.0-im)
GaussianUnitary for 1 mode in QuadPairBasis representation.
displacement: 2-element Vector{Float64}:
  1.4142135623730951
 -1.4142135623730951
symplectic: 2×2 Matrix{Float64}:
 1.0  0.0
 0.0  1.0

Here, we have defined the symplectic basis basis to be of type QuadPairBasis, which wraps around the corresponding number of nodes. What's also nice (and was easy to implement) is that now we can form tensor products from predefined methods such as displace, e.g., we can make a tensor product of the same unitary:

julia> nmodes = 3; basis = QuadPairBasis(nmodes);

julia> displace(basis, 1.0-im)
GaussianUnitary for 3 modes in QuadPairBasis representation.
displacement: 6-element Vector{Float64}:
  1.4142135623730951
 -1.4142135623730951
  1.4142135623730951
 -1.4142135623730951
  1.4142135623730951
 -1.4142135623730951
symplectic: 6×6 Matrix{Float64}:
 1.0  0.0  0.0  0.0  0.0  0.0
 0.0  1.0  0.0  0.0  0.0  0.0
 0.0  0.0  1.0  0.0  0.0  0.0
 0.0  0.0  0.0  1.0  0.0  0.0
 0.0  0.0  0.0  0.0  1.0  0.0
 0.0  0.0  0.0  0.0  0.0  1.0

Or we can make a tensor product of different displacement unitaries by calling a vector of complex numbers (alphas) whose size is the number of modes of the output state, e.g.,:

julia> displace(basis, [1.0-im, 2.0-2.0im, 3.0-3.0im])
GaussianUnitary for 3 modes in QuadPairBasis representation.
displacement: 6-element Vector{Float64}:
  1.4142135623730951
 -1.4142135623730951
  2.8284271247461903
 -2.8284271247461903
  4.242640687119286
 -4.242640687119286
symplectic: 6×6 Matrix{Float64}:
 1.0  0.0  0.0  0.0  0.0  0.0
 0.0  1.0  0.0  0.0  0.0  0.0
 0.0  0.0  1.0  0.0  0.0  0.0
 0.0  0.0  0.0  1.0  0.0  0.0
 0.0  0.0  0.0  0.0  1.0  0.0
 0.0  0.0  0.0  0.0  0.0  1.0

There's still a few things that need to be done before this is merged:

  • Add support for QuadBlockBasis, the symplectic representation with form $J = \begin{pmatrix} 0 & \mathbf{I}_N \\ -\mathbf{I}_N & 0 \end{pmatrix}$.
  • Add more tests for each representation.
  • Update docstrings.
  • Add note in docs manual about symplectic representations.
  • Update benchmarks.

@akirakyle
Copy link

akirakyle commented Nov 27, 2024

I haven't had a chance to look through the code in detail, but just wanted to comment that it looks like in the examples you have here, the symplectic matrix is printed as just identity?

@apkille
Copy link
Owner Author

apkille commented Dec 4, 2024

I haven't had a chance to look through the code in detail, but just wanted to comment that it looks like in the examples you have here, the symplectic matrix is printed as just identity?

Yes, the symplectic map for a displacement unitary is the identity matrix (and tensor products of them as well). Are you saying that's wrong? Or maybe that there's a more efficient way of storing it? I agree with the latter very much and will address that in future PRs.

Copy link
Contributor

github-actions bot commented Dec 14, 2024

Benchmark Result

Judge result

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

Job Properties

  • Time of benchmarks:
  • Target: 14 Dec 2024 - 10:44
  • Baseline: 14 Dec 2024 - 10:46
  • Package commits:
  • Target: 36960e
  • Baseline: b78da6
  • Julia commits:
  • Target: 4976d0
  • Baseline: 4976d0
  • 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
["operations", "channel product", "10"] 0.71 (5%) ✅ 1.00 (1%)
["operations", "channel product", "100"] 0.69 (5%) ✅ 1.00 (1%)
["operations", "channel product", "200"] 1.07 (5%) ❌ 1.00 (1%)
["operations", "partial trace", "100"] 0.92 (5%) ✅ 1.00 (1%)
["operations", "partial trace", "200"] 0.68 (5%) ✅ 1.00 (1%)
["operations", "tensor product", "10"] 0.95 (5%) ✅ 1.00 (1%)
["operations", "tensor product", "50"] 0.87 (5%) ✅ 1.00 (1%)
["operations", "unitary product", "100"] 0.64 (5%) ✅ 1.00 (1%)
["operations", "unitary product", "200"] 0.92 (5%) ✅ 1.00 (1%)
["operations", "unitary product", "50"] 0.24 (5%) ✅ 1.00 (1%)

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Target

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2445 MHz 936 s 0 s 239 s 3113 s 0 s
 #2 3208 MHz 982 s 0 s 180 s 3117 s 0 s
 #3 3215 MHz 903 s 0 s 320 s 3068 s 0 s
 #4 3244 MHz 770 s 0 s 226 s 3294 s 0 s
 Memory: 15.606491088867188 GB (14014.578125 MB free)
 Uptime: 431.63 sec
 Load Avg: 1.82 1.06 0.44
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3242 MHz 1084 s 0 s 433 s 3710 s 0 s
 #2 2445 MHz 1177 s 0 s 331 s 3710 s 0 s
 #3 3148 MHz 1290 s 0 s 452 s 3489 s 0 s
 #4 2525 MHz 1024 s 0 s 347 s 3858 s 0 s
 Memory: 15.606491088867188 GB (14059.828125 MB free)
 Uptime: 525.82 sec
 Load Avg: 1.7 1.22 0.56
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 14 Dec 2024 - 10:44
  • Package commit: 36960e
  • Julia commit: 4976d0
  • 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
["operations", "channel product", "10"] 2.912 μs (5%) 10.19 KiB (1%) 5
["operations", "channel product", "100"] 508.479 μs (5%) 941.17 KiB (1%) 8
["operations", "channel product", "2"] 485.113 ns (5%) 768 bytes (1%) 5
["operations", "channel product", "200"] 3.525 ms (5%) 3.67 MiB (1%) 8
["operations", "channel product", "50"] 81.341 μs (5%) 236.27 KiB (1%) 8
["operations", "partial trace", "10"] 302.652 ns (5%) 2.89 KiB (1%) 2
["operations", "partial trace", "100"] 7.714 μs (5%) 308.12 KiB (1%) 3
["operations", "partial trace", "2"] 67.334 ns (5%) 176 bytes (1%) 2
["operations", "partial trace", "200"] 35.496 μs (5%) 1.21 MiB (1%) 3
["operations", "partial trace", "50"] 3.123 μs (5%) 75.98 KiB (1%) 3
["operations", "tensor product", "10"] 1.040 μs (5%) 13.02 KiB (1%) 2
["operations", "tensor product", "100"] 103.814 μs (5%) 1.22 MiB (1%) 3
["operations", "tensor product", "2"] 122.562 ns (5%) 704 bytes (1%) 2
["operations", "tensor product", "200"] 657.167 μs (5%) 4.89 MiB (1%) 3
["operations", "tensor product", "50"] 18.565 μs (5%) 314.31 KiB (1%) 3
["operations", "unitary product", "10"] 2.495 μs (5%) 6.94 KiB (1%) 4
["operations", "unitary product", "100"] 455.811 μs (5%) 628.62 KiB (1%) 6
["operations", "unitary product", "2"] 417.161 ns (5%) 576 bytes (1%) 4
["operations", "unitary product", "200"] 3.099 ms (5%) 2.45 MiB (1%) 6
["operations", "unitary product", "50"] 75.862 μs (5%) 158.09 KiB (1%) 6

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2445 MHz 936 s 0 s 239 s 3113 s 0 s
 #2 3208 MHz 982 s 0 s 180 s 3117 s 0 s
 #3 3215 MHz 903 s 0 s 320 s 3068 s 0 s
 #4 3244 MHz 770 s 0 s 226 s 3294 s 0 s
 Memory: 15.606491088867188 GB (14014.578125 MB free)
 Uptime: 431.63 sec
 Load Avg: 1.82 1.06 0.44
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 14 Dec 2024 - 10:46
  • Package commit: b78da6
  • Julia commit: 4976d0
  • 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
["operations", "channel product", "10"] 4.127 μs (5%) 10.19 KiB (1%) 5
["operations", "channel product", "100"] 736.676 μs (5%) 941.17 KiB (1%) 8
["operations", "channel product", "2"] 476.938 ns (5%) 768 bytes (1%) 5
["operations", "channel product", "200"] 3.283 ms (5%) 3.67 MiB (1%) 8
["operations", "channel product", "50"] 84.818 μs (5%) 236.27 KiB (1%) 8
["operations", "partial trace", "10"] 314.152 ns (5%) 2.89 KiB (1%) 2
["operations", "partial trace", "100"] 8.425 μs (5%) 308.12 KiB (1%) 3
["operations", "partial trace", "2"] 67.191 ns (5%) 176 bytes (1%) 2
["operations", "partial trace", "200"] 51.927 μs (5%) 1.21 MiB (1%) 3
["operations", "partial trace", "50"] 3.142 μs (5%) 75.98 KiB (1%) 3
["operations", "tensor product", "10"] 1.099 μs (5%) 13.02 KiB (1%) 2
["operations", "tensor product", "100"] 105.527 μs (5%) 1.22 MiB (1%) 3
["operations", "tensor product", "2"] 117.809 ns (5%) 704 bytes (1%) 2
["operations", "tensor product", "200"] 627.341 μs (5%) 4.89 MiB (1%) 3
["operations", "tensor product", "50"] 21.310 μs (5%) 314.31 KiB (1%) 3
["operations", "unitary product", "10"] 2.441 μs (5%) 6.94 KiB (1%) 4
["operations", "unitary product", "100"] 711.067 μs (5%) 628.62 KiB (1%) 6
["operations", "unitary product", "2"] 421.492 ns (5%) 576 bytes (1%) 4
["operations", "unitary product", "200"] 3.362 ms (5%) 2.45 MiB (1%) 6
["operations", "unitary product", "50"] 319.697 μs (5%) 158.09 KiB (1%) 6

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3242 MHz 1084 s 0 s 433 s 3710 s 0 s
 #2 2445 MHz 1177 s 0 s 331 s 3710 s 0 s
 #3 3148 MHz 1290 s 0 s 452 s 3489 s 0 s
 #4 2525 MHz 1024 s 0 s 347 s 3858 s 0 s
 Memory: 15.606491088867188 GB (14059.828125 MB free)
 Uptime: 525.82 sec
 Load Avg: 1.7 1.22 0.56
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (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/Gabs.jl/Gabs.jl

Job Properties

  • Time of benchmarks:
  • Target: 14 Dec 2024 - 10:52
  • Baseline: 14 Dec 2024 - 10:54
  • Package commits:
  • Target: 5dc7b5
  • Baseline: b78da6
  • Julia commits:
  • Target: 4976d0
  • Baseline: 4976d0
  • 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
["operations", "channel product", "10"] 0.74 (5%) ✅ 1.00 (1%)
["operations", "channel product", "100"] 1.46 (5%) ❌ 1.00 (1%)
["operations", "partial trace", "100"] 1.07 (5%) ❌ 1.00 (1%)
["operations", "partial trace", "200"] 1.42 (5%) ❌ 1.00 (1%)
["operations", "partial trace", "50"] 0.95 (5%) ✅ 1.00 (1%)
["operations", "tensor product", "100"] 1.13 (5%) ❌ 1.00 (1%)
["operations", "tensor product", "2"] 1.05 (5%) ❌ 1.00 (1%)
["operations", "tensor product", "50"] 0.82 (5%) ✅ 1.00 (1%)

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Target

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2445 MHz 651 s 0 s 397 s 3811 s 0 s
 #2 3243 MHz 599 s 0 s 455 s 3807 s 0 s
 #3 3170 MHz 932 s 0 s 291 s 3629 s 0 s
 #4 2805 MHz 1023 s 0 s 272 s 3565 s 0 s
 Memory: 15.606487274169922 GB (14126.015625 MB free)
 Uptime: 488.39 sec
 Load Avg: 1.73 1.01 0.43
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3256 MHz 807 s 0 s 436 s 4564 s 0 s
 #2 3243 MHz 1077 s 0 s 686 s 4049 s 0 s
 #3 2445 MHz 1089 s 0 s 431 s 4281 s 0 s
 #4 2445 MHz 1234 s 0 s 449 s 4127 s 0 s
 Memory: 15.606487274169922 GB (14051.71484375 MB free)
 Uptime: 583.52 sec
 Load Avg: 1.71 1.19 0.55
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 14 Dec 2024 - 10:52
  • Package commit: 5dc7b5
  • Julia commit: 4976d0
  • 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
["operations", "channel product", "10"] 2.941 μs (5%) 10.19 KiB (1%) 5
["operations", "channel product", "100"] 762.782 μs (5%) 941.17 KiB (1%) 8
["operations", "channel product", "2"] 484.544 ns (5%) 768 bytes (1%) 5
["operations", "channel product", "200"] 3.311 ms (5%) 3.67 MiB (1%) 8
["operations", "channel product", "50"] 333.271 μs (5%) 236.27 KiB (1%) 8
["operations", "partial trace", "10"] 306.047 ns (5%) 2.89 KiB (1%) 2
["operations", "partial trace", "100"] 11.110 μs (5%) 308.12 KiB (1%) 3
["operations", "partial trace", "2"] 67.628 ns (5%) 176 bytes (1%) 2
["operations", "partial trace", "200"] 63.628 μs (5%) 1.21 MiB (1%) 3
["operations", "partial trace", "50"] 3.101 μs (5%) 75.98 KiB (1%) 3
["operations", "tensor product", "10"] 1.065 μs (5%) 13.02 KiB (1%) 2
["operations", "tensor product", "100"] 121.987 μs (5%) 1.22 MiB (1%) 3
["operations", "tensor product", "2"] 124.641 ns (5%) 704 bytes (1%) 2
["operations", "tensor product", "200"] 719.571 μs (5%) 4.89 MiB (1%) 3
["operations", "tensor product", "50"] 19.346 μs (5%) 314.31 KiB (1%) 3
["operations", "unitary product", "10"] 2.509 μs (5%) 6.94 KiB (1%) 4
["operations", "unitary product", "100"] 728.218 μs (5%) 628.62 KiB (1%) 6
["operations", "unitary product", "2"] 418.367 ns (5%) 576 bytes (1%) 4
["operations", "unitary product", "200"] 3.419 ms (5%) 2.45 MiB (1%) 6
["operations", "unitary product", "50"] 322.251 μs (5%) 158.09 KiB (1%) 6

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2445 MHz 651 s 0 s 397 s 3811 s 0 s
 #2 3243 MHz 599 s 0 s 455 s 3807 s 0 s
 #3 3170 MHz 932 s 0 s 291 s 3629 s 0 s
 #4 2805 MHz 1023 s 0 s 272 s 3565 s 0 s
 Memory: 15.606487274169922 GB (14126.015625 MB free)
 Uptime: 488.39 sec
 Load Avg: 1.73 1.01 0.43
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 14 Dec 2024 - 10:54
  • Package commit: b78da6
  • Julia commit: 4976d0
  • 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
["operations", "channel product", "10"] 3.954 μs (5%) 10.19 KiB (1%) 5
["operations", "channel product", "100"] 523.406 μs (5%) 941.17 KiB (1%) 8
["operations", "channel product", "2"] 481.872 ns (5%) 768 bytes (1%) 5
["operations", "channel product", "200"] 3.317 ms (5%) 3.67 MiB (1%) 8
["operations", "channel product", "50"] 328.343 μs (5%) 236.27 KiB (1%) 8
["operations", "partial trace", "10"] 318.730 ns (5%) 2.89 KiB (1%) 2
["operations", "partial trace", "100"] 10.410 μs (5%) 308.12 KiB (1%) 3
["operations", "partial trace", "2"] 67.772 ns (5%) 176 bytes (1%) 2
["operations", "partial trace", "200"] 44.843 μs (5%) 1.21 MiB (1%) 3
["operations", "partial trace", "50"] 3.280 μs (5%) 75.98 KiB (1%) 3
["operations", "tensor product", "10"] 1.016 μs (5%) 13.02 KiB (1%) 2
["operations", "tensor product", "100"] 108.011 μs (5%) 1.22 MiB (1%) 3
["operations", "tensor product", "2"] 118.156 ns (5%) 704 bytes (1%) 2
["operations", "tensor product", "200"] 694.996 μs (5%) 4.89 MiB (1%) 3
["operations", "tensor product", "50"] 23.714 μs (5%) 314.31 KiB (1%) 3
["operations", "unitary product", "10"] 2.477 μs (5%) 6.94 KiB (1%) 4
["operations", "unitary product", "100"] 718.319 μs (5%) 628.62 KiB (1%) 6
["operations", "unitary product", "2"] 413.884 ns (5%) 576 bytes (1%) 4
["operations", "unitary product", "200"] 3.452 ms (5%) 2.45 MiB (1%) 6
["operations", "unitary product", "50"] 326.308 μs (5%) 158.09 KiB (1%) 6

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3256 MHz 807 s 0 s 436 s 4564 s 0 s
 #2 3243 MHz 1077 s 0 s 686 s 4049 s 0 s
 #3 2445 MHz 1089 s 0 s 431 s 4281 s 0 s
 #4 2445 MHz 1234 s 0 s 449 s 4127 s 0 s
 Memory: 15.606487274169922 GB (14051.71484375 MB free)
 Uptime: 583.52 sec
 Load Avg: 1.71 1.19 0.55
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (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 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/Gabs.jl/Gabs.jl

Job Properties

  • Time of benchmarks:
  • Target: 14 Dec 2024 - 10:58
  • Baseline: 14 Dec 2024 - 11:00
  • Package commits:
  • Target: 10ea95
  • Baseline: b78da6
  • Julia commits:
  • Target: 4976d0
  • Baseline: 4976d0
  • 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
["operations", "channel product", "10"] 0.50 (5%) ✅ 1.00 (1%)
["operations", "channel product", "100"] 1.42 (5%) ❌ 1.00 (1%)
["operations", "channel product", "50"] 3.56 (5%) ❌ 1.00 (1%)
["operations", "partial trace", "10"] 0.89 (5%) ✅ 1.00 (1%)
["operations", "partial trace", "2"] 0.91 (5%) ✅ 1.00 (1%)
["operations", "tensor product", "10"] 0.90 (5%) ✅ 1.00 (1%)
["operations", "tensor product", "100"] 0.94 (5%) ✅ 1.00 (1%)
["operations", "tensor product", "200"] 1.09 (5%) ❌ 1.00 (1%)
["operations", "unitary product", "200"] 0.94 (5%) ✅ 1.00 (1%)

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Target

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2445 MHz 745 s 0 s 407 s 3412 s 0 s
 #2 2588 MHz 766 s 0 s 372 s 3419 s 0 s
 #3 3243 MHz 958 s 0 s 330 s 3269 s 0 s
 #4 2445 MHz 710 s 0 s 295 s 3555 s 0 s
 Memory: 15.606491088867188 GB (14108.0 MB free)
 Uptime: 458.63 sec
 Load Avg: 1.88 1.04 0.44
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3240 MHz 922 s 0 s 568 s 4031 s 0 s
 #2 3243 MHz 962 s 0 s 545 s 4007 s 0 s
 #3 2445 MHz 1279 s 0 s 458 s 3778 s 0 s
 #4 2445 MHz 1025 s 0 s 422 s 4072 s 0 s
 Memory: 15.606491088867188 GB (14034.38671875 MB free)
 Uptime: 554.64 sec
 Load Avg: 1.76 1.21 0.56
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 14 Dec 2024 - 10:58
  • Package commit: 10ea95
  • Julia commit: 4976d0
  • 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
["operations", "channel product", "10"] 2.840 μs (5%) 10.19 KiB (1%) 5
["operations", "channel product", "100"] 748.453 μs (5%) 941.17 KiB (1%) 8
["operations", "channel product", "2"] 476.709 ns (5%) 768 bytes (1%) 5
["operations", "channel product", "200"] 3.305 ms (5%) 3.67 MiB (1%) 8
["operations", "channel product", "50"] 321.623 μs (5%) 236.27 KiB (1%) 8
["operations", "partial trace", "10"] 303.674 ns (5%) 2.89 KiB (1%) 2
["operations", "partial trace", "100"] 12.654 μs (5%) 308.12 KiB (1%) 3
["operations", "partial trace", "2"] 68.132 ns (5%) 176 bytes (1%) 2
["operations", "partial trace", "200"] 65.603 μs (5%) 1.21 MiB (1%) 3
["operations", "partial trace", "50"] 3.533 μs (5%) 75.98 KiB (1%) 3
["operations", "tensor product", "10"] 1.162 μs (5%) 13.02 KiB (1%) 2
["operations", "tensor product", "100"] 125.596 μs (5%) 1.22 MiB (1%) 3
["operations", "tensor product", "2"] 122.218 ns (5%) 704 bytes (1%) 2
["operations", "tensor product", "200"] 770.224 μs (5%) 4.89 MiB (1%) 3
["operations", "tensor product", "50"] 20.058 μs (5%) 314.31 KiB (1%) 3
["operations", "unitary product", "10"] 2.503 μs (5%) 6.94 KiB (1%) 4
["operations", "unitary product", "100"] 719.959 μs (5%) 628.62 KiB (1%) 6
["operations", "unitary product", "2"] 421.543 ns (5%) 576 bytes (1%) 4
["operations", "unitary product", "200"] 3.235 ms (5%) 2.45 MiB (1%) 6
["operations", "unitary product", "50"] 321.703 μs (5%) 158.09 KiB (1%) 6

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2445 MHz 745 s 0 s 407 s 3412 s 0 s
 #2 2588 MHz 766 s 0 s 372 s 3419 s 0 s
 #3 3243 MHz 958 s 0 s 330 s 3269 s 0 s
 #4 2445 MHz 710 s 0 s 295 s 3555 s 0 s
 Memory: 15.606491088867188 GB (14108.0 MB free)
 Uptime: 458.63 sec
 Load Avg: 1.88 1.04 0.44
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 14 Dec 2024 - 11:0
  • Package commit: b78da6
  • Julia commit: 4976d0
  • 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
["operations", "channel product", "10"] 5.713 μs (5%) 10.19 KiB (1%) 5
["operations", "channel product", "100"] 528.220 μs (5%) 941.17 KiB (1%) 8
["operations", "channel product", "2"] 486.469 ns (5%) 768 bytes (1%) 5
["operations", "channel product", "200"] 3.309 ms (5%) 3.67 MiB (1%) 8
["operations", "channel product", "50"] 90.429 μs (5%) 236.27 KiB (1%) 8
["operations", "partial trace", "10"] 340.559 ns (5%) 2.89 KiB (1%) 2
["operations", "partial trace", "100"] 13.165 μs (5%) 308.12 KiB (1%) 3
["operations", "partial trace", "2"] 74.838 ns (5%) 176 bytes (1%) 2
["operations", "partial trace", "200"] 66.585 μs (5%) 1.21 MiB (1%) 3
["operations", "partial trace", "50"] 3.378 μs (5%) 75.98 KiB (1%) 3
["operations", "tensor product", "10"] 1.289 μs (5%) 13.02 KiB (1%) 2
["operations", "tensor product", "100"] 133.761 μs (5%) 1.22 MiB (1%) 3
["operations", "tensor product", "2"] 120.103 ns (5%) 704 bytes (1%) 2
["operations", "tensor product", "200"] 707.336 μs (5%) 4.89 MiB (1%) 3
["operations", "tensor product", "50"] 20.448 μs (5%) 314.31 KiB (1%) 3
["operations", "unitary product", "10"] 2.490 μs (5%) 6.94 KiB (1%) 4
["operations", "unitary product", "100"] 718.095 μs (5%) 628.62 KiB (1%) 6
["operations", "unitary product", "2"] 418.070 ns (5%) 576 bytes (1%) 4
["operations", "unitary product", "200"] 3.437 ms (5%) 2.45 MiB (1%) 6
["operations", "unitary product", "50"] 312.776 μs (5%) 158.09 KiB (1%) 6

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3240 MHz 922 s 0 s 568 s 4031 s 0 s
 #2 3243 MHz 962 s 0 s 545 s 4007 s 0 s
 #3 2445 MHz 1279 s 0 s 458 s 3778 s 0 s
 #4 2445 MHz 1025 s 0 s 422 s 4072 s 0 s
 Memory: 15.606491088867188 GB (14034.38671875 MB free)
 Uptime: 554.64 sec
 Load Avg: 1.76 1.21 0.56
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (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/Gabs.jl/Gabs.jl

Job Properties

  • Time of benchmarks:
  • Target: 14 Dec 2024 - 11:43
  • Baseline: 14 Dec 2024 - 11:44
  • Package commits:
  • Target: 648e15
  • Baseline: b78da6
  • Julia commits:
  • Target: 4976d0
  • Baseline: 4976d0
  • 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
["operations", "channel product", "10"] 0.55 (5%) ✅ 1.00 (1%)
["operations", "channel product", "50"] 3.89 (5%) ❌ 1.00 (1%)
["operations", "partial trace", "100"] 1.56 (5%) ❌ 1.00 (1%)
["operations", "partial trace", "2"] 0.89 (5%) ✅ 1.00 (1%)
["operations", "partial trace", "200"] 1.81 (5%) ❌ 1.00 (1%)
["operations", "partial trace", "50"] 0.88 (5%) ✅ 1.00 (1%)
["operations", "tensor product", "200"] 1.14 (5%) ❌ 1.00 (1%)
["operations", "tensor product", "50"] 0.91 (5%) ✅ 1.00 (1%)

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Target

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2445 MHz 820 s 0 s 324 s 3385 s 0 s
 #2 2595 MHz 939 s 0 s 351 s 3244 s 0 s
 #3 3242 MHz 618 s 0 s 226 s 3652 s 0 s
 #4 2445 MHz 800 s 0 s 494 s 3224 s 0 s
 Memory: 15.606491088867188 GB (14112.33203125 MB free)
 Uptime: 455.6 sec
 Load Avg: 1.82 1.05 0.45
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2562 MHz 1050 s 0 s 417 s 4008 s 0 s
 #2 2445 MHz 1319 s 0 s 498 s 3664 s 0 s
 #3 2445 MHz 834 s 0 s 353 s 4257 s 0 s
 #4 3242 MHz 978 s 0 s 708 s 3780 s 0 s
 Memory: 15.606491088867188 GB (14047.72265625 MB free)
 Uptime: 550.5 sec
 Load Avg: 1.75 1.21 0.57
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 14 Dec 2024 - 11:43
  • Package commit: 648e15
  • Julia commit: 4976d0
  • 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
["operations", "channel product", "10"] 2.899 μs (5%) 10.19 KiB (1%) 5
["operations", "channel product", "100"] 762.772 μs (5%) 941.17 KiB (1%) 8
["operations", "channel product", "2"] 478.687 ns (5%) 768 bytes (1%) 5
["operations", "channel product", "200"] 3.290 ms (5%) 3.67 MiB (1%) 8
["operations", "channel product", "50"] 333.462 μs (5%) 236.27 KiB (1%) 8
["operations", "partial trace", "10"] 303.025 ns (5%) 2.89 KiB (1%) 2
["operations", "partial trace", "100"] 16.431 μs (5%) 308.12 KiB (1%) 3
["operations", "partial trace", "2"] 67.292 ns (5%) 176 bytes (1%) 2
["operations", "partial trace", "200"] 65.582 μs (5%) 1.21 MiB (1%) 3
["operations", "partial trace", "50"] 2.974 μs (5%) 75.98 KiB (1%) 3
["operations", "tensor product", "10"] 1.092 μs (5%) 13.02 KiB (1%) 2
["operations", "tensor product", "100"] 114.494 μs (5%) 1.22 MiB (1%) 3
["operations", "tensor product", "2"] 119.023 ns (5%) 704 bytes (1%) 2
["operations", "tensor product", "200"] 760.799 μs (5%) 4.89 MiB (1%) 3
["operations", "tensor product", "50"] 19.005 μs (5%) 314.31 KiB (1%) 3
["operations", "unitary product", "10"] 2.505 μs (5%) 6.94 KiB (1%) 4
["operations", "unitary product", "100"] 713.270 μs (5%) 628.62 KiB (1%) 6
["operations", "unitary product", "2"] 430.146 ns (5%) 576 bytes (1%) 4
["operations", "unitary product", "200"] 3.432 ms (5%) 2.45 MiB (1%) 6
["operations", "unitary product", "50"] 323.614 μs (5%) 158.09 KiB (1%) 6

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2445 MHz 820 s 0 s 324 s 3385 s 0 s
 #2 2595 MHz 939 s 0 s 351 s 3244 s 0 s
 #3 3242 MHz 618 s 0 s 226 s 3652 s 0 s
 #4 2445 MHz 800 s 0 s 494 s 3224 s 0 s
 Memory: 15.606491088867188 GB (14112.33203125 MB free)
 Uptime: 455.6 sec
 Load Avg: 1.82 1.05 0.45
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 14 Dec 2024 - 11:44
  • Package commit: b78da6
  • Julia commit: 4976d0
  • 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
["operations", "channel product", "10"] 5.294 μs (5%) 10.19 KiB (1%) 5
["operations", "channel product", "100"] 755.799 μs (5%) 941.17 KiB (1%) 8
["operations", "channel product", "2"] 499.138 ns (5%) 768 bytes (1%) 5
["operations", "channel product", "200"] 3.310 ms (5%) 3.67 MiB (1%) 8
["operations", "channel product", "50"] 85.620 μs (5%) 236.27 KiB (1%) 8
["operations", "partial trace", "10"] 311.428 ns (5%) 2.89 KiB (1%) 2
["operations", "partial trace", "100"] 10.540 μs (5%) 308.12 KiB (1%) 3
["operations", "partial trace", "2"] 75.724 ns (5%) 176 bytes (1%) 2
["operations", "partial trace", "200"] 36.298 μs (5%) 1.21 MiB (1%) 3
["operations", "partial trace", "50"] 3.368 μs (5%) 75.98 KiB (1%) 3
["operations", "tensor product", "10"] 1.135 μs (5%) 13.02 KiB (1%) 2
["operations", "tensor product", "100"] 113.562 μs (5%) 1.22 MiB (1%) 3
["operations", "tensor product", "2"] 118.361 ns (5%) 704 bytes (1%) 2
["operations", "tensor product", "200"] 665.371 μs (5%) 4.89 MiB (1%) 3
["operations", "tensor product", "50"] 20.959 μs (5%) 314.31 KiB (1%) 3
["operations", "unitary product", "10"] 2.472 μs (5%) 6.94 KiB (1%) 4
["operations", "unitary product", "100"] 704.104 μs (5%) 628.62 KiB (1%) 6
["operations", "unitary product", "2"] 410.111 ns (5%) 576 bytes (1%) 4
["operations", "unitary product", "200"] 3.375 ms (5%) 2.45 MiB (1%) 6
["operations", "unitary product", "50"] 323.584 μs (5%) 158.09 KiB (1%) 6

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2562 MHz 1050 s 0 s 417 s 4008 s 0 s
 #2 2445 MHz 1319 s 0 s 498 s 3664 s 0 s
 #3 2445 MHz 834 s 0 s 353 s 4257 s 0 s
 #4 3242 MHz 978 s 0 s 708 s 3780 s 0 s
 Memory: 15.606491088867188 GB (14047.72265625 MB free)
 Uptime: 550.5 sec
 Load Avg: 1.75 1.21 0.57
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (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 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/Gabs.jl/Gabs.jl

Job Properties

  • Time of benchmarks:
  • Target: 14 Dec 2024 - 11:48
  • Baseline: 14 Dec 2024 - 11:49
  • Package commits:
  • Target: c199a9
  • Baseline: b78da6
  • Julia commits:
  • Target: 4976d0
  • Baseline: 4976d0
  • 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
["operations", "channel product", "10"] 0.57 (5%) ✅ 1.00 (1%)
["operations", "channel product", "50"] 0.26 (5%) ✅ 1.00 (1%)
["operations", "partial trace", "100"] 0.74 (5%) ✅ 1.00 (1%)
["operations", "partial trace", "200"] 1.19 (5%) ❌ 1.00 (1%)
["operations", "partial trace", "50"] 0.73 (5%) ✅ 1.00 (1%)
["operations", "tensor product", "100"] 0.94 (5%) ✅ 1.00 (1%)
["operations", "tensor product", "2"] 1.08 (5%) ❌ 1.00 (1%)
["operations", "tensor product", "50"] 0.76 (5%) ✅ 1.00 (1%)
["operations", "unitary product", "100"] 0.65 (5%) ✅ 1.00 (1%)
["operations", "unitary product", "200"] 0.92 (5%) ✅ 1.00 (1%)
["operations", "unitary product", "50"] 0.24 (5%) ✅ 1.00 (1%)

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Target

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3243 MHz 763 s 0 s 307 s 2838 s 0 s
 #2 2929 MHz 820 s 0 s 272 s 2830 s 0 s
 #3 2912 MHz 1018 s 0 s 180 s 2710 s 0 s
 #4 3031 MHz 1069 s 0 s 218 s 2632 s 0 s
 Memory: 15.606491088867188 GB (13947.37890625 MB free)
 Uptime: 393.96 sec
 Load Avg: 1.75 1.02 0.43
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3243 MHz 929 s 0 s 480 s 3451 s 0 s
 #2 3239 MHz 1011 s 0 s 442 s 3421 s 0 s
 #3 2725 MHz 1332 s 0 s 313 s 3215 s 0 s
 #4 2445 MHz 1406 s 0 s 324 s 3141 s 0 s
 Memory: 15.606491088867188 GB (14013.5703125 MB free)
 Uptime: 489.38 sec
 Load Avg: 1.73 1.19 0.55
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 14 Dec 2024 - 11:48
  • Package commit: c199a9
  • Julia commit: 4976d0
  • 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
["operations", "channel product", "10"] 2.959 μs (5%) 10.19 KiB (1%) 5
["operations", "channel product", "100"] 512.906 μs (5%) 941.17 KiB (1%) 8
["operations", "channel product", "2"] 460.500 ns (5%) 768 bytes (1%) 5
["operations", "channel product", "200"] 3.332 ms (5%) 3.67 MiB (1%) 8
["operations", "channel product", "50"] 84.288 μs (5%) 236.27 KiB (1%) 8
["operations", "partial trace", "10"] 323.759 ns (5%) 2.89 KiB (1%) 2
["operations", "partial trace", "100"] 10.991 μs (5%) 308.12 KiB (1%) 3
["operations", "partial trace", "2"] 67.632 ns (5%) 176 bytes (1%) 2
["operations", "partial trace", "200"] 61.684 μs (5%) 1.21 MiB (1%) 3
["operations", "partial trace", "50"] 2.863 μs (5%) 75.98 KiB (1%) 3
["operations", "tensor product", "10"] 1.235 μs (5%) 13.02 KiB (1%) 2
["operations", "tensor product", "100"] 101.369 μs (5%) 1.22 MiB (1%) 3
["operations", "tensor product", "2"] 124.330 ns (5%) 704 bytes (1%) 2
["operations", "tensor product", "200"] 688.244 μs (5%) 4.89 MiB (1%) 3
["operations", "tensor product", "50"] 19.456 μs (5%) 314.31 KiB (1%) 3
["operations", "unitary product", "10"] 2.519 μs (5%) 6.94 KiB (1%) 4
["operations", "unitary product", "100"] 470.809 μs (5%) 628.62 KiB (1%) 6
["operations", "unitary product", "2"] 405.910 ns (5%) 576 bytes (1%) 4
["operations", "unitary product", "200"] 3.171 ms (5%) 2.45 MiB (1%) 6
["operations", "unitary product", "50"] 76.813 μs (5%) 158.09 KiB (1%) 6

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ["operations", "tensor product"]
  • ["operations", "unitary product"]

Julia versioninfo

Julia Version 1.10.7
Commit 4976d05258e (2024-11-26 15:57 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.5 LTS
 uname: Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3243 MHz 763 s 0 s 307 s 2838 s 0 s
 #2 2929 MHz 820 s 0 s 272 s 2830 s 0 s
 #3 2912 MHz 1018 s 0 s 180 s 2710 s 0 s
 #4 3031 MHz 1069 s 0 s 218 s 2632 s 0 s
 Memory: 15.606491088867188 GB (13947.37890625 MB free)
 Uptime: 393.96 sec
 Load Avg: 1.75 1.02 0.43
 WORD_SIZE: 64
 LIBM: libopenlibm
 LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 14 Dec 2024 - 11:49
  • Package commit: b78da6
  • Julia commit: 4976d0
  • 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
["operations", "channel product", "10"] 5.215 μs (5%) 10.19 KiB (1%) 5
["operations", "channel product", "100"] 519.339 μs (5%) 941.17 KiB (1%) 8
["operations", "channel product", "2"] 483.403 ns (5%) 768 bytes (1%) 5
["operations", "channel product", "200"] 3.304 ms (5%) 3.67 MiB (1%) 8
["operations", "channel product", "50"] 323.954 μs (5%) 236.27 KiB (1%) 8
["operations", "partial trace", "10"] 311.149 ns (5%) 2.89 KiB (1%) 2
["operations", "partial trace", "100"] 14.757 μs (5%) 308.12 KiB (1%) 3
["operations", "partial trace", "2"] 69.783 ns (5%) 176 bytes (1%) 2
["operations", "partial trace", "200"] 51.696 μs (5%) 1.21 MiB (1%) 3
["operations", "partial trace", "50"] 3.920 μs (5%) 75.98 KiB (1%) 3
["operations", "tensor product", "10"] 1.190 μs (5%) 13.02 KiB (1%) 2
["operations", "tensor product", "100"] 107.991 μs (5%) 1.22 MiB (1%) 3
["operations", "tensor product", "2"] 115.198 ns (5%) 704 bytes (1%) 2
["operations", "tensor product", "200"] 718.791 μs (5%) 4.89 MiB (1%) 3
["operations", "tensor product", "50"] 25.708 μs (5%) 314.31 KiB (1%) 3
["operations", "unitary product", "10"] 2.454 μs (5%) 6.94 KiB (1%) 4
["operations", "unitary product", "100"] 721.496 μs (5%) 628.62 KiB (1%) 6
["operations", "unitary product", "2"] 415.725 ns (5%) 576 bytes (1%) 4
["operations", "unitary product", "200"] 3.432 ms (5%) 2.45 MiB (1%) 6
["operations", "unitary product", "50"] 315.088 μs (5%) 158.09 KiB (1%) 6

Benchmark Group List

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

  • ["operations", "channel product"]
  • ["operations", "partial trace"]
  • ...[Comment body truncated]

Copy link

codecov bot commented Dec 14, 2024

Codecov Report

Attention: Patch coverage is 99.13793% with 9 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/states.jl 98.18% 6 Missing ⚠️
src/channels.jl 99.48% 1 Missing ⚠️
src/types.jl 96.42% 1 Missing ⚠️
src/unitaries.jl 99.72% 1 Missing ⚠️
Files with missing lines Coverage Δ
src/Gabs.jl 100.00% <ø> (ø)
src/measurements.jl 100.00% <100.00%> (ø)
src/randoms.jl 100.00% <100.00%> (ø)
src/symplectic.jl 100.00% <100.00%> (ø)
src/wigner.jl 100.00% <100.00%> (ø)
src/channels.jl 99.04% <99.48%> (-0.10%) ⬇️
src/types.jl 98.55% <96.42%> (+1.49%) ⬆️
src/unitaries.jl 99.47% <99.72%> (+5.28%) ⬆️
src/states.jl 97.65% <98.18%> (+3.95%) ⬆️

@apkille apkille marked this pull request as ready for review December 14, 2024 12:07
@apkille apkille merged commit 36acb0f into main Dec 14, 2024
15 checks passed
@apkille apkille deleted the symp branch December 14, 2024 12:53
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