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

Excited states #269

Open
wants to merge 9 commits into
base: develop
Choose a base branch
from
Open

Excited states #269

wants to merge 9 commits into from

Conversation

jamie-tay
Copy link
Collaborator

Added a new method for the advance function that takes multiple states and orthogonalises them. The orthogonalisation_interval parameter of the GramSchmidt SpectralStrategy determines how often the states are orthogonalised.

Copy link
Contributor

github-actions bot commented Jul 5, 2024

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
  • Target: 5 Jul 2024 - 09:10
  • Baseline: 5 Jul 2024 - 09:20
  • Package commits:
  • Target: 8b011c
  • Baseline: d61188
  • Julia commits:
  • Target: 48d4fd
  • Baseline: 48d4fd
  • 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

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Target

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1022-azure #23~22.04.1-Ubuntu SMP Thu May 9 17:59:24 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3247 MHz 2282 s 0 s 162 s 6631 s 0 s
 #2 3242 MHz 3546 s 0 s 170 s 5359 s 0 s
 #3 2879 MHz 2196 s 0 s 174 s 6713 s 0 s
 #4 2620 MHz 1723 s 0 s 186 s 7167 s 0 s
 Memory: 15.606491088867188 GB (13101.9453125 MB free)
 Uptime: 911.81 sec
 Load Avg: 1.0 1.02 0.75
 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.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1022-azure #23~22.04.1-Ubuntu SMP Thu May 9 17:59:24 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2973 MHz 3618 s 0 s 204 s 11388 s 0 s
 #2 2958 MHz 4313 s 0 s 230 s 10667 s 0 s
 #3 3243 MHz 4049 s 0 s 216 s 10957 s 0 s
 #4 3280 MHz 3920 s 0 s 229 s 11065 s 0 s
 Memory: 15.606491088867188 GB (13158.4140625 MB free)
 Uptime: 1526.46 sec
 Load Avg: 1.0 1.0 0.91
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmark: 5 Jul 2024 - 9:10
  • Package commit: 8b011c
  • Julia commit: 48d4fd
  • 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
["Rimu", "Exact", "Diagonalization", "2D Hubbard"] 1.845 s (5%) 4.457 ms 93.71 MiB (1%) 23742
["Rimu", "Exact", "Diagonalization", "Bose-Hubbard in momentum space"] 17.360 s (5%) 16.875 ms 367.02 MiB (1%) 2037976
["Rimu", "Exact", "Multiplication", "Momentum space"] 809.516 ms (5%) 10.92 MiB (1%) 253
["Rimu", "Exact", "Multiplication", "Transcorrelated"] 2.822 s (5%) 1.88 MiB (1%) 257
["Rimu", "FCIQMC", "(10, 20) Mom space with projected energy and initiator"] 26.638 s (5%) 6.167 ms 59.71 MiB (1%) 1900214
["Rimu", "FCIQMC", "(4+1, 11) 2C Mom space with G2Correlators"] 25.274 s (5%) 6.216 ms 32.06 MiB (1%) 824143
["Rimu", "FCIQMC", "(50, 50) Real space"] 21.981 s (5%) 29.24 MiB (1%) 131904

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1022-azure #23~22.04.1-Ubuntu SMP Thu May 9 17:59:24 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3247 MHz 2282 s 0 s 162 s 6631 s 0 s
 #2 3242 MHz 3546 s 0 s 170 s 5359 s 0 s
 #3 2879 MHz 2196 s 0 s 174 s 6713 s 0 s
 #4 2620 MHz 1723 s 0 s 186 s 7167 s 0 s
 Memory: 15.606491088867188 GB (13101.9453125 MB free)
 Uptime: 911.81 sec
 Load Avg: 1.0 1.02 0.75
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmark: 5 Jul 2024 - 9:20
  • Package commit: d61188
  • Julia commit: 48d4fd
  • 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
["Rimu", "Exact", "Diagonalization", "2D Hubbard"] 1.857 s (5%) 1.172 ms 93.71 MiB (1%) 23742
["Rimu", "Exact", "Diagonalization", "Bose-Hubbard in momentum space"] 17.203 s (5%) 16.768 ms 367.02 MiB (1%) 2037976
["Rimu", "Exact", "Multiplication", "Momentum space"] 812.932 ms (5%) 10.92 MiB (1%) 253
["Rimu", "Exact", "Multiplication", "Transcorrelated"] 2.774 s (5%) 1.88 MiB (1%) 257
["Rimu", "FCIQMC", "(10, 20) Mom space with projected energy and initiator"] 26.887 s (5%) 59.71 MiB (1%) 1900184
["Rimu", "FCIQMC", "(4+1, 11) 2C Mom space with G2Correlators"] 25.157 s (5%) 32.03 MiB (1%) 824121
["Rimu", "FCIQMC", "(50, 50) Real space"] 22.094 s (5%) 29.24 MiB (1%) 131919

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1022-azure #23~22.04.1-Ubuntu SMP Thu May 9 17:59:24 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2973 MHz 3618 s 0 s 204 s 11388 s 0 s
 #2 2958 MHz 4313 s 0 s 230 s 10667 s 0 s
 #3 3243 MHz 4049 s 0 s 216 s 10957 s 0 s
 #4 3280 MHz 3920 s 0 s 229 s 11065 s 0 s
 Memory: 15.606491088867188 GB (13158.4140625 MB free)
 Uptime: 1526.46 sec
 Load Avg: 1.0 1.0 0.91
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmarks:
  • Target: 9 Jul 2024 - 10:12
  • Baseline: 9 Jul 2024 - 10:22
  • Package commits:
  • Target: a6473f
  • Baseline: d61188
  • Julia commits:
  • Target: 48d4fd
  • Baseline: 48d4fd
  • 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

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Target

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1023-azure #24~22.04.1-Ubuntu SMP Wed Jun 12 19:55:26 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2669 MHz 2588 s 0 s 166 s 7295 s 0 s
 #2 2599 MHz 3045 s 0 s 170 s 6834 s 0 s
 #3 2445 MHz 2503 s 0 s 176 s 7365 s 0 s
 #4 3242 MHz 1777 s 0 s 201 s 8059 s 0 s
 Memory: 15.606491088867188 GB (13149.171875 MB free)
 Uptime: 1009.23 sec
 Load Avg: 1.0 1.04 0.78
 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.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1023-azure #24~22.04.1-Ubuntu SMP Wed Jun 12 19:55:26 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3244 MHz 4354 s 0 s 210 s 11648 s 0 s
 #2 3242 MHz 4181 s 0 s 221 s 11808 s 0 s
 #3 3069 MHz 4056 s 0 s 228 s 11922 s 0 s
 #4 3011 MHz 3499 s 0 s 255 s 12447 s 0 s
 Memory: 15.606491088867188 GB (13013.328125 MB free)
 Uptime: 1626.45 sec
 Load Avg: 1.08 1.04 0.93
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmark: 9 Jul 2024 - 10:12
  • Package commit: a6473f
  • Julia commit: 48d4fd
  • 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
["Rimu", "Exact", "Diagonalization", "2D Hubbard"] 1.846 s (5%) 1.187 ms 93.71 MiB (1%) 23742
["Rimu", "Exact", "Diagonalization", "Bose-Hubbard in momentum space"] 17.297 s (5%) 18.350 ms 367.02 MiB (1%) 2037976
["Rimu", "Exact", "Multiplication", "Momentum space"] 818.245 ms (5%) 10.92 MiB (1%) 253
["Rimu", "Exact", "Multiplication", "Transcorrelated"] 2.800 s (5%) 1.88 MiB (1%) 257
["Rimu", "FCIQMC", "(10, 20) Mom space with projected energy and initiator"] 26.488 s (5%) 5.584 ms 59.71 MiB (1%) 1900245
["Rimu", "FCIQMC", "(4+1, 11) 2C Mom space with G2Correlators"] 25.522 s (5%) 32.06 MiB (1%) 824134
["Rimu", "FCIQMC", "(50, 50) Real space"] 22.562 s (5%) 11.418 ms 29.24 MiB (1%) 131922

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1023-azure #24~22.04.1-Ubuntu SMP Wed Jun 12 19:55:26 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2669 MHz 2588 s 0 s 166 s 7295 s 0 s
 #2 2599 MHz 3045 s 0 s 170 s 6834 s 0 s
 #3 2445 MHz 2503 s 0 s 176 s 7365 s 0 s
 #4 3242 MHz 1777 s 0 s 201 s 8059 s 0 s
 Memory: 15.606491088867188 GB (13149.171875 MB free)
 Uptime: 1009.23 sec
 Load Avg: 1.0 1.04 0.78
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmark: 9 Jul 2024 - 10:22
  • Package commit: d61188
  • Julia commit: 48d4fd
  • 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
["Rimu", "Exact", "Diagonalization", "2D Hubbard"] 1.861 s (5%) 1.057 ms 93.71 MiB (1%) 23742
["Rimu", "Exact", "Diagonalization", "Bose-Hubbard in momentum space"] 17.511 s (5%) 16.263 ms 367.02 MiB (1%) 2037976
["Rimu", "Exact", "Multiplication", "Momentum space"] 817.946 ms (5%) 10.92 MiB (1%) 253
["Rimu", "Exact", "Multiplication", "Transcorrelated"] 2.822 s (5%) 1.88 MiB (1%) 257
["Rimu", "FCIQMC", "(10, 20) Mom space with projected energy and initiator"] 26.866 s (5%) 15.467 ms 59.71 MiB (1%) 1900158
["Rimu", "FCIQMC", "(4+1, 11) 2C Mom space with G2Correlators"] 25.597 s (5%) 32.03 MiB (1%) 824139
["Rimu", "FCIQMC", "(50, 50) Real space"] 21.999 s (5%) 12.922 ms 29.24 MiB (1%) 131917

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1023-azure #24~22.04.1-Ubuntu SMP Wed Jun 12 19:55:26 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3244 MHz 4354 s 0 s 210 s 11648 s 0 s
 #2 3242 MHz 4181 s 0 s 221 s 11808 s 0 s
 #3 3069 MHz 4056 s 0 s 228 s 11922 s 0 s
 #4 3011 MHz 3499 s 0 s 255 s 12447 s 0 s
 Memory: 15.606491088867188 GB (13013.328125 MB free)
 Uptime: 1626.45 sec
 Load Avg: 1.08 1.04 0.93
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmarks:
  • Target: 10 Jul 2024 - 04:34
  • Baseline: 10 Jul 2024 - 04:44
  • Package commits:
  • Target: dc7fb4
  • Baseline: 26e125
  • Julia commits:
  • Target: 48d4fd
  • Baseline: 48d4fd
  • 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

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Target

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1022-azure #23~22.04.1-Ubuntu SMP Thu May 9 17:59:24 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3250 MHz 1417 s 0 s 103 s 6185 s 0 s
 #2 3242 MHz 2089 s 0 s 89 s 5534 s 0 s
 #3 2445 MHz 1140 s 0 s 123 s 6427 s 0 s
 #4 2856 MHz 1967 s 0 s 87 s 5649 s 0 s
 Memory: 15.606491088867188 GB (13350.515625 MB free)
 Uptime: 774.16 sec
 Load Avg: 1.0 0.91 0.54
 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.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1022-azure #23~22.04.1-Ubuntu SMP Thu May 9 17:59:24 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3241 MHz 3173 s 0 s 149 s 10488 s 0 s
 #2 3243 MHz 3582 s 0 s 132 s 10105 s 0 s
 #3 2594 MHz 2251 s 0 s 176 s 11369 s 0 s
 #4 2445 MHz 3733 s 0 s 132 s 9944 s 0 s
 Memory: 15.606491088867188 GB (13262.875 MB free)
 Uptime: 1385.71 sec
 Load Avg: 1.0 1.0 0.79
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmark: 10 Jul 2024 - 4:34
  • Package commit: dc7fb4
  • Julia commit: 48d4fd
  • 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
["Rimu", "Exact", "Diagonalization", "2D Hubbard"] 1.853 s (5%) 2.122 ms 93.71 MiB (1%) 23742
["Rimu", "Exact", "Diagonalization", "Bose-Hubbard in momentum space"] 17.623 s (5%) 245.619 ms 367.02 MiB (1%) 2037976
["Rimu", "Exact", "Multiplication", "Momentum space"] 810.018 ms (5%) 10.92 MiB (1%) 253
["Rimu", "Exact", "Multiplication", "Transcorrelated"] 2.789 s (5%) 1.88 MiB (1%) 257
["Rimu", "FCIQMC", "(10, 20) Mom space with projected energy and initiator"] 26.612 s (5%) 56.38 MiB (1%) 1781738
["Rimu", "FCIQMC", "(4+1, 11) 2C Mom space with G2Correlators"] 25.665 s (5%) 30.43 MiB (1%) 770144
["Rimu", "FCIQMC", "(50, 50) Real space"] 21.943 s (5%) 28.83 MiB (1%) 117989

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1022-azure #23~22.04.1-Ubuntu SMP Thu May 9 17:59:24 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3250 MHz 1417 s 0 s 103 s 6185 s 0 s
 #2 3242 MHz 2089 s 0 s 89 s 5534 s 0 s
 #3 2445 MHz 1140 s 0 s 123 s 6427 s 0 s
 #4 2856 MHz 1967 s 0 s 87 s 5649 s 0 s
 Memory: 15.606491088867188 GB (13350.515625 MB free)
 Uptime: 774.16 sec
 Load Avg: 1.0 0.91 0.54
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmark: 10 Jul 2024 - 4:44
  • Package commit: 26e125
  • Julia commit: 48d4fd
  • 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
["Rimu", "Exact", "Diagonalization", "2D Hubbard"] 1.858 s (5%) 1.091 ms 93.71 MiB (1%) 23742
["Rimu", "Exact", "Diagonalization", "Bose-Hubbard in momentum space"] 17.689 s (5%) 241.611 ms 367.02 MiB (1%) 2037976
["Rimu", "Exact", "Multiplication", "Momentum space"] 815.378 ms (5%) 10.92 MiB (1%) 253
["Rimu", "Exact", "Multiplication", "Transcorrelated"] 2.815 s (5%) 1.88 MiB (1%) 257
["Rimu", "FCIQMC", "(10, 20) Mom space with projected energy and initiator"] 26.707 s (5%) 56.38 MiB (1%) 1781857
["Rimu", "FCIQMC", "(4+1, 11) 2C Mom space with G2Correlators"] 24.996 s (5%) 30.43 MiB (1%) 770161
["Rimu", "FCIQMC", "(50, 50) Real space"] 21.829 s (5%) 17.952 ms 28.83 MiB (1%) 117985

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1022-azure #23~22.04.1-Ubuntu SMP Thu May 9 17:59:24 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3241 MHz 3173 s 0 s 149 s 10488 s 0 s
 #2 3243 MHz 3582 s 0 s 132 s 10105 s 0 s
 #3 2594 MHz 2251 s 0 s 176 s 11369 s 0 s
 #4 2445 MHz 3733 s 0 s 132 s 9944 s 0 s
 Memory: 15.606491088867188 GB (13262.875 MB free)
 Uptime: 1385.71 sec
 Load Avg: 1.0 1.0 0.79
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmarks:
  • Target: 18 Jul 2024 - 01:25
  • Baseline: 18 Jul 2024 - 01:36
  • Package commits:
  • Target: 118a15
  • Baseline: 5a6880
  • Julia commits:
  • Target: 48d4fd
  • Baseline: 48d4fd
  • 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

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Target

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1023-azure #24~22.04.1-Ubuntu SMP Wed Jun 12 19:55:26 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3163 MHz 1915 s 0 s 171 s 6322 s 0 s
 #2 2591 MHz 3406 s 0 s 145 s 4855 s 0 s
 #3 3275 MHz 2521 s 0 s 185 s 5696 s 0 s
 #4 3242 MHz 1850 s 0 s 191 s 6366 s 0 s
 Memory: 15.606491088867188 GB (13334.4375 MB free)
 Uptime: 845.33 sec
 Load Avg: 1.04 1.04 0.75
 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.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1023-azure #24~22.04.1-Ubuntu SMP Wed Jun 12 19:55:26 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3243 MHz 3834 s 0 s 211 s 10489 s 0 s
 #2 2445 MHz 5667 s 0 s 189 s 8677 s 0 s
 #3 2611 MHz 3187 s 0 s 248 s 11090 s 0 s
 #4 2679 MHz 3144 s 0 s 244 s 11144 s 0 s
 Memory: 15.606491088867188 GB (13114.953125 MB free)
 Uptime: 1458.8 sec
 Load Avg: 1.0 1.01 0.91
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmark: 18 Jul 2024 - 1:25
  • Package commit: 118a15
  • Julia commit: 48d4fd
  • 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
["Rimu", "Exact", "Diagonalization", "2D Hubbard"] 1.880 s (5%) 2.028 ms 93.71 MiB (1%) 23742
["Rimu", "Exact", "Diagonalization", "Bose-Hubbard in momentum space"] 17.426 s (5%) 16.350 ms 367.02 MiB (1%) 2037976
["Rimu", "Exact", "Multiplication", "Momentum space"] 814.734 ms (5%) 10.92 MiB (1%) 253
["Rimu", "Exact", "Multiplication", "Transcorrelated"] 2.780 s (5%) 1.88 MiB (1%) 257
["Rimu", "FCIQMC", "(10, 20) Mom space with projected energy and initiator"] 26.496 s (5%) 5.793 ms 56.38 MiB (1%) 1781912
["Rimu", "FCIQMC", "(4+1, 11) 2C Mom space with G2Correlators"] 24.762 s (5%) 30.50 MiB (1%) 770187
["Rimu", "FCIQMC", "(50, 50) Real space"] 22.063 s (5%) 2.631 ms 28.83 MiB (1%) 117993

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1023-azure #24~22.04.1-Ubuntu SMP Wed Jun 12 19:55:26 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3163 MHz 1915 s 0 s 171 s 6322 s 0 s
 #2 2591 MHz 3406 s 0 s 145 s 4855 s 0 s
 #3 3275 MHz 2521 s 0 s 185 s 5696 s 0 s
 #4 3242 MHz 1850 s 0 s 191 s 6366 s 0 s
 Memory: 15.606491088867188 GB (13334.4375 MB free)
 Uptime: 845.33 sec
 Load Avg: 1.04 1.04 0.75
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmark: 18 Jul 2024 - 1:36
  • Package commit: 5a6880
  • Julia commit: 48d4fd
  • 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
["Rimu", "Exact", "Diagonalization", "2D Hubbard"] 1.861 s (5%) 2.224 ms 93.71 MiB (1%) 23742
["Rimu", "Exact", "Diagonalization", "Bose-Hubbard in momentum space"] 17.712 s (5%) 245.357 ms 367.02 MiB (1%) 2037976
["Rimu", "Exact", "Multiplication", "Momentum space"] 819.221 ms (5%) 10.92 MiB (1%) 253
["Rimu", "Exact", "Multiplication", "Transcorrelated"] 2.790 s (5%) 1.88 MiB (1%) 257
["Rimu", "FCIQMC", "(10, 20) Mom space with projected energy and initiator"] 26.877 s (5%) 5.608 ms 56.38 MiB (1%) 1781747
["Rimu", "FCIQMC", "(4+1, 11) 2C Mom space with G2Correlators"] 25.186 s (5%) 15.735 ms 30.40 MiB (1%) 770168
["Rimu", "FCIQMC", "(50, 50) Real space"] 21.932 s (5%) 6.743 ms 28.83 MiB (1%) 118000

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-1023-azure #24~22.04.1-Ubuntu SMP Wed Jun 12 19:55:26 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3243 MHz 3834 s 0 s 211 s 10489 s 0 s
 #2 2445 MHz 5667 s 0 s 189 s 8677 s 0 s
 #3 2611 MHz 3187 s 0 s 248 s 11090 s 0 s
 #4 2679 MHz 3144 s 0 s 244 s 11144 s 0 s
 Memory: 15.606491088867188 GB (13114.953125 MB free)
 Uptime: 1458.8 sec
 Load Avg: 1.0 1.01 0.91
 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.84
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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmarks:
  • Target: 8 Aug 2024 - 00:20
  • Baseline: 8 Aug 2024 - 00:31
  • Package commits:
  • Target: b217dd
  • Baseline: cdf1a6
  • Julia commits:
  • Target: 48d4fd
  • Baseline: 48d4fd
  • 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

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Target

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-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 3174 MHz 1882 s 0 s 178 s 6297 s 0 s
 #2 3244 MHz 2187 s 0 s 181 s 5988 s 0 s
 #3 2583 MHz 2643 s 0 s 168 s 5547 s 0 s
 #4 2594 MHz 3030 s 0 s 163 s 5162 s 0 s
 Memory: 15.606491088867188 GB (13022.34765625 MB free)
 Uptime: 839.92 sec
 Load Avg: 1.0 1.05 0.8
 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.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-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 3504 s 0 s 217 s 10752 s 0 s
 #2 2445 MHz 3195 s 0 s 222 s 11055 s 0 s
 #3 2677 MHz 4330 s 0 s 214 s 9933 s 0 s
 #4 2445 MHz 4846 s 0 s 206 s 9422 s 0 s
 Memory: 15.606491088867188 GB (13276.484375 MB free)
 Uptime: 1452.62 sec
 Load Avg: 1.01 1.02 0.92
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmark: 8 Aug 2024 - 0:20
  • Package commit: b217dd
  • Julia commit: 48d4fd
  • 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
["Rimu", "Exact", "Diagonalization", "2D Hubbard"] 1.869 s (5%) 1.134 ms 93.71 MiB (1%) 23742
["Rimu", "Exact", "Diagonalization", "Bose-Hubbard in momentum space"] 17.507 s (5%) 261.570 ms 367.02 MiB (1%) 2037976
["Rimu", "Exact", "Multiplication", "Momentum space"] 811.330 ms (5%) 10.92 MiB (1%) 253
["Rimu", "Exact", "Multiplication", "Transcorrelated"] 2.786 s (5%) 1.88 MiB (1%) 257
["Rimu", "FCIQMC", "(10, 20) Mom space with projected energy and initiator"] 26.385 s (5%) 11.339 ms 56.38 MiB (1%) 1781831
["Rimu", "FCIQMC", "(4+1, 11) 2C Mom space with G2Correlators"] 25.275 s (5%) 30.43 MiB (1%) 770141
["Rimu", "FCIQMC", "(50, 50) Real space"] 22.165 s (5%) 28.83 MiB (1%) 118009

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-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 3174 MHz 1882 s 0 s 178 s 6297 s 0 s
 #2 3244 MHz 2187 s 0 s 181 s 5988 s 0 s
 #3 2583 MHz 2643 s 0 s 168 s 5547 s 0 s
 #4 2594 MHz 3030 s 0 s 163 s 5162 s 0 s
 Memory: 15.606491088867188 GB (13022.34765625 MB free)
 Uptime: 839.92 sec
 Load Avg: 1.0 1.05 0.8
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmark: 8 Aug 2024 - 0:31
  • Package commit: cdf1a6
  • Julia commit: 48d4fd
  • 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
["Rimu", "Exact", "Diagonalization", "2D Hubbard"] 1.879 s (5%) 2.296 ms 93.71 MiB (1%) 23742
["Rimu", "Exact", "Diagonalization", "Bose-Hubbard in momentum space"] 17.716 s (5%) 254.990 ms 367.02 MiB (1%) 2037976
["Rimu", "Exact", "Multiplication", "Momentum space"] 812.816 ms (5%) 10.92 MiB (1%) 253
["Rimu", "Exact", "Multiplication", "Transcorrelated"] 2.780 s (5%) 1.88 MiB (1%) 257
["Rimu", "FCIQMC", "(10, 20) Mom space with projected energy and initiator"] 26.544 s (5%) 15.202 ms 56.38 MiB (1%) 1781817
["Rimu", "FCIQMC", "(4+1, 11) 2C Mom space with G2Correlators"] 25.298 s (5%) 30.40 MiB (1%) 770167
["Rimu", "FCIQMC", "(50, 50) Real space"] 22.071 s (5%) 20.457 ms 28.83 MiB (1%) 117987

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-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 3504 s 0 s 217 s 10752 s 0 s
 #2 2445 MHz 3195 s 0 s 222 s 11055 s 0 s
 #3 2677 MHz 4330 s 0 s 214 s 9933 s 0 s
 #4 2445 MHz 4846 s 0 s 206 s 9422 s 0 s
 Memory: 15.606491088867188 GB (13276.484375 MB free)
 Uptime: 1452.62 sec
 Load Avg: 1.01 1.02 0.92
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmarks:
  • Target: 8 Aug 2024 - 00:56
  • Baseline: 8 Aug 2024 - 01:06
  • Package commits:
  • Target: c64e1b
  • Baseline: cdf1a6
  • Julia commits:
  • Target: 48d4fd
  • Baseline: 48d4fd
  • 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

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Target

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-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 2578 MHz 2165 s 0 s 80 s 6650 s 0 s
 #2 2534 MHz 2376 s 0 s 106 s 6411 s 0 s
 #3 3243 MHz 1381 s 0 s 117 s 7384 s 0 s
 #4 2445 MHz 756 s 0 s 117 s 8023 s 0 s
 Memory: 15.606487274169922 GB (13325.91796875 MB free)
 Uptime: 893.35 sec
 Load Avg: 1.02 0.94 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)

Baseline

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-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 2594 MHz 3926 s 0 s 130 s 10960 s 0 s
 #2 2445 MHz 3134 s 0 s 161 s 11718 s 0 s
 #3 3242 MHz 3341 s 0 s 153 s 11510 s 0 s
 #4 3244 MHz 2416 s 0 s 164 s 12439 s 0 s
 Memory: 15.606487274169922 GB (13063.81640625 MB free)
 Uptime: 1506.48 sec
 Load Avg: 1.06 1.04 0.82
 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/Rimu.jl/Rimu.jl

Job Properties

  • Time of benchmark: 8 Aug 2024 - 0:56
  • Package commit: c64e1b
  • Julia commit: 48d4fd
  • 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
["Rimu", "Exact", "Diagonalization", "2D Hubbard"] 1.855 s (5%) 2.117 ms 93.71 MiB (1%) 23742
["Rimu", "Exact", "Diagonalization", "Bose-Hubbard in momentum space"] 17.545 s (5%) 252.388 ms 367.02 MiB (1%) 2037976
["Rimu", "Exact", "Multiplication", "Momentum space"] 808.673 ms (5%) 10.92 MiB (1%) 253
["Rimu", "Exact", "Multiplication", "Transcorrelated"] 2.788 s (5%) 1.88 MiB (1%) 257
["Rimu", "FCIQMC", "(10, 20) Mom space with projected energy and initiator"] 26.539 s (5%) 12.606 ms 56.38 MiB (1%) 1781811
["Rimu", "FCIQMC", "(4+1, 11) 2C Mom space with G2Correlators"] 25.336 s (5%) 23.886 ms 30.43 MiB (1%) 770162
["Rimu", "FCIQMC", "(50, 50) Real space"] 22.117 s (5%) 28.83 MiB (1%) 117995

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-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 2578 MHz 2165 s 0 s 80 s 6650 s 0 s
 #2 2534 MHz 2376 s 0 s 106 s 6411 s 0 s
 #3 3243 MHz 1381 s 0 s 117 s 7384 s 0 s
 #4 2445 MHz 756 s 0 s 117 s 8023 s 0 s
 Memory: 15.606487274169922 GB (13325.91796875 MB free)
 Uptime: 893.35 sec
 Load Avg: 1.02 0.94 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)

Baseline result

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

Job Properties

  • Time of benchmark: 8 Aug 2024 - 1:6
  • Package commit: cdf1a6
  • Julia commit: 48d4fd
  • 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
["Rimu", "Exact", "Diagonalization", "2D Hubbard"] 1.844 s (5%) 1.046 ms 93.71 MiB (1%) 23742
["Rimu", "Exact", "Diagonalization", "Bose-Hubbard in momentum space"] 17.786 s (5%) 257.486 ms 367.02 MiB (1%) 2037976
["Rimu", "Exact", "Multiplication", "Momentum space"] 816.666 ms (5%) 10.92 MiB (1%) 253
["Rimu", "Exact", "Multiplication", "Transcorrelated"] 2.801 s (5%) 1.88 MiB (1%) 257
["Rimu", "FCIQMC", "(10, 20) Mom space with projected energy and initiator"] 26.549 s (5%) 56.38 MiB (1%) 1781773
["Rimu", "FCIQMC", "(4+1, 11) 2C Mom space with G2Correlators"] 25.506 s (5%) 30.40 MiB (1%) 770164
["Rimu", "FCIQMC", "(50, 50) Real space"] 21.923 s (5%) 28.83 MiB (1%) 117982

Benchmark Group List

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

  • ["Rimu", "Exact", "Diagonalization"]
  • ["Rimu", "Exact", "Multiplication"]
  • ["Rimu", "FCIQMC"]

Julia versioninfo

Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.4 LTS
 uname: Linux 6.5.0-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 2594 MHz 3926 s 0 s 130 s 10960 s 0 s
 #2 2445 MHz 3134 s 0 s 161 s 11718 s 0 s
 #3 3242 MHz 3341 s 0 s 153 s 11510 s 0 s
 #4 3244 MHz 2416 s 0 s 164 s 12439 s 0 s
 Memory: 15.606487274169922 GB (13063.81640625 MB free)
 Uptime: 1506.48 sec
 Load Avg: 1.06 1.04 0.82
 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 v...[Comment body truncated]

Copy link
Owner

@joachimbrand joachimbrand left a comment

Choose a reason for hiding this comment

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

Thanks for the nice PR!

I like the idea of orthogonalising the state before the spawning step. It makes life easier for the norm control machinery. It does mean, however, that we cannot rely on the instantaneous states being exactly orthogonal.

It would be great to have this work smoothly with ProjectorMonteCarloProblem and init! to create an appropriate set of starting vectors. I think currently the number of permissible spectral states is still hardcoded to be one (see line 39 of "pmc_simulation.jl").

It would further be good to make it easy to pass suitable initial state. It would also be super convenient to have suitable initial state generated automatically if no starting vectors (or an insufficient number of them) are provided.

A possible strategy is the following: Say only a single address is available (e.g. from starting_address(ham). Generate further addresses with offdiagonals until you have at least num_spectral_states of them and then sort them by the value of diagonal_element. Set as starting vectors vectors with one of these addresses each. This should work well for diagonally dominated Hamiltonians.

src/strategies_and_params/spectralstrategy.jl Outdated Show resolved Hide resolved
src/strategies_and_params/spectralstrategy.jl Outdated Show resolved Hide resolved
src/strategies_and_params/spectralstrategy.jl Outdated Show resolved Hide resolved
src/fciqmc.jl Outdated Show resolved Hide resolved
src/fciqmc.jl Outdated Show resolved Hide resolved
src/fciqmc.jl Outdated Show resolved Hide resolved
Copy link
Collaborator

@mtsch mtsch left a comment

Choose a reason for hiding this comment

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

Very nice!

src/fciqmc.jl Outdated Show resolved Hide resolved
@jamie-tay
Copy link
Collaborator Author

Thanks for the nice PR!

I like the idea of orthogonalising the state before the spawning step. It makes life easier for the norm control machinery. It does mean, however, that we cannot rely on the instantaneous states being exactly orthogonal.

It would be great to have this work smoothly with ProjectorMonteCarloProblem and init! to create an appropriate set of starting vectors. I think currently the number of permissible spectral states is still hardcoded to be one (see line 39 of "pmc_simulation.jl").

It would further be good to make it easy to pass suitable initial state. It would also be super convenient to have suitable initial state generated automatically if no starting vectors (or an insufficient number of them) are provided.

A possible strategy is the following: Say only a single address is available (e.g. from starting_address(ham). Generate further addresses with offdiagonals until you have at least num_spectral_states of them and then sort them by the value of diagonal_element. Set as starting vectors vectors with one of these addresses each. This should work well for diagonally dominated Hamiltonians.

Yes it would be good to be able to automatically generate starting vectors, thanks, I'll look into doing that.

Rewrite orthogonalization of vectors, make orthogonalization_interval a keyword argument, fix spelling

Co-authored-by: Joachim Brand <j.brand@massey.ac.nz>
Co-authored-by: mtsch <matijacufar@gmail.com>
@coveralls
Copy link

coveralls commented Jul 9, 2024

Pull Request Test Coverage Report for Build 10866553544

Details

  • 41 of 47 (87.23%) changed or added relevant lines in 3 files are covered.
  • 1 unchanged line in 1 file lost coverage.
  • Overall coverage decreased (-0.02%) to 94.816%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/pmc_simulation.jl 20 26 76.92%
Files with Coverage Reduction New Missed Lines %
src/BitStringAddresses/sortedparticlelist.jl 1 89.03%
Totals Coverage Status
Change from base Build 9875864670: -0.02%
Covered Lines: 6877
Relevant Lines: 7253

💛 - Coveralls

Copy link
Collaborator

@mtsch mtsch left a comment

Choose a reason for hiding this comment

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

Looks great! The next step would be to add some tests. It doesn't have to be anything complicated, just something that makes sure the code works correctly. I suggest something like setting up a small Hamiltonian (maybe HubbardReal1D(BoseFS(1,1,1,1,1))), solving it with FCIQMC with the style set to IsDeterministic(), then comparing the resulting energies and vectors with the result that comes out of solveing an ExactDiagonalizationProblem.

If you run into issues getting this to work feel free to ask here or on Zulip!

@jamie-tay jamie-tay marked this pull request as ready for review August 29, 2024 23:33
Comment on lines +39 to +51
basis = build_basis(ham; cutoff=diagonal_element(ham, starting_address(ham)) + 5)
basis = sort!(basis; by=x -> diagonal_element(ham, x))[1:2*n_spectral]
trunc = BasisSetRepresentation(ham, basis; filter=Returns(false), sizelim=Inf)
vecs = eigvecs(Matrix(trunc))
if threading
eigs = [PDVec(zip(basis, 10*vecs[:,i]); style, initiator) for i in 1:n_spectral]
else
if initiator == NonInitiator()
eigs = [DVec(zip(basis, 10*vecs[:,i]); style) for i in 1:n_spectral]
else
eigs = [InitiatorDVec(zip(basis,10*vecs[:,i]);style,initiator) for i in 1:n_spectral]
end
end
Copy link
Collaborator

Choose a reason for hiding this comment

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

I like this idea a lot, but we should be careful. It's possible to setup a Hamiltonian that's huge, but still has all diagonal elements below diagonal_element(ham, starting_address(ham)) + 5. Running this on it will not work.

Copy link
Owner

Choose a reason for hiding this comment

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

As discussed, I have the same concern. I would suggest to not use an energy cutoff, but instead implement a new option for build_basis where you specify a lower bound, e.g. called mininum_size, that allows build_basis to stop generating new addresses once the mininum_size has been reached.

This will require modifying the code of build_basis, but should be fairly easy to implement.

Copy link
Owner

@joachimbrand joachimbrand left a comment

Choose a reason for hiding this comment

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

Very nice PR! I've found two issues:

  • The new functionality is not yet well documented. I suggest documenting the option of passing a spectral_strategy in the docstring of ProjectorMonteCarloProblem, and adding a reference to GramSchmidt in the docstring of SpectralStrategy. I'm not completely sure whether the latter should be exported. The used would not need to use it directly in most cases, but I'd like to properly document the available options (which currently is only GramSchmidt.
  • I've checked that this works nicely when generating excited state with a single replica. However, combining replicas with excited states throws an error:
julia> h = HubbardReal1D(near_uniform(BoseFS{10,10}))
HubbardReal1D(fs"|1 1 1 1 1 1 1 1 1 1⟩"; u=1.0, t=1.0)

julia> spectral_strategy = GramSchmidt(3)
GramSchmidt(3; orthogonalization_interval=1)

julia> p = ProjectorMonteCarloProblem(h; spectral_strategy, replica_strategy=AllOverlaps(2), last_step=2_000)
ProjectorMonteCarloProblem with 2 replica(s) and 3 spectral state(s):
  Algorithm: FCIQMC(DoubleLogUpdate{Int64}(1000, 0.08, 0.0016), ConstantTimeStep())
  Hamiltonian: HubbardReal1D(fs"|1 1 1 1 1 1 1 1 1 1⟩"; u=1.0, t=1.0)
  Style: IsDynamicSemistochastic{Float64,ThresholdCompression,DynamicSemistochastic}()
  Initiator: NonInitiator()
  Threading: false
  Simulation Plan: SimulationPlan(starting_step=0, last_step=2000, walltime=Inf)
  Replica Strategy: AllOverlaps{2, 0, Tuple{}, true}(())
  Reporting Strategy: ReportDFAndInfo
  reporting_interval: Int64 1
  info_interval: Int64 100
  io: Base.TTY
  writeinfo: Bool false
  Post Step Strategy: ()
  Spectral Strategy: GramSchmidt(3; orthogonalization_interval=1)
  Maxlength: 2100
  Metadata: OrderedCollections.LittleDict("display_name" => "PMCSimulation")
  Random Seed: 1943348664599472552

julia> sim = solve(p)
ERROR: ArgumentError: Collection has multiple elements, must contain exactly 1 element
Stacktrace:
  [1] only
    @ ./iterators.jl:1527 [inlined]
  [2] #34
    @ ~/git/code/Rimu/src/strategies_and_params/replicastrategy.jl:136 [inlined]
  [3] ntuple
    @ ./ntuple.jl:49 [inlined]
  [4] replica_stats(rs::AllOverlaps{…}, spectral_states::Tuple{…})
    @ Rimu ~/git/code/Rimu/src/strategies_and_params/replicastrategy.jl:136
  [5] step!(sm::Rimu.PMCSimulation)
    @ Rimu ~/git/code/Rimu/src/pmc_simulation.jl:283
  [6] macro expansion
    @ ~/git/code/Rimu/src/pmc_simulation.jl:428 [inlined]
  [7] macro expansion
    @ ~/.julia/packages/ProgressLogging/6KXlp/src/ProgressLogging.jl:328 [inlined]
  [8] 
    @ Rimu ~/git/code/Rimu/src/pmc_simulation.jl:422
  [9] solve!
    @ ~/git/code/Rimu/src/pmc_simulation.jl:337 [inlined]
 [10] solve(args::ProjectorMonteCarloProblem{2, 3})
    @ CommonSolve ~/.julia/packages/CommonSolve/JfpfI/src/CommonSolve.jl:23
 [11] top-level scope
    @ REPL[77]:1
Some type information was truncated. Use `show(err)` to see complete types.

julia> 

src/fciqmc.jl Outdated Show resolved Hide resolved
jamie-tay and others added 2 commits September 15, 2024 11:34
Co-authored-by: Joachim Brand <joachim.brand@gmail.com>
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.

4 participants