IntegralEquations / HMatrices.jl

A Julia library for hierarchical matrices
MIT License
39 stars 3 forks source link

Directly store `Partition` inside `HMatrix` #42

Closed maltezfaria closed 11 months ago

maltezfaria commented 11 months ago

Fixes #41

codecov[bot] commented 11 months ago

Codecov Report

Merging #42 (5bd5d93) into main (e25173e) will increase coverage by 0.14%. The diff coverage is 63.21%.

@@            Coverage Diff             @@
##             main      #42      +/-   ##
==========================================
+ Coverage   71.61%   71.75%   +0.14%     
==========================================
  Files          15       14       -1     
  Lines        1730     1728       -2     
==========================================
+ Hits         1239     1240       +1     
+ Misses        491      488       -3     
Files Coverage Δ
src/HMatrices.jl 100.00% <ø> (ø)
src/multiplication.jl 76.20% <100.00%> (-0.19%) :arrow_down:
src/utils.jl 70.31% <76.19%> (+2.87%) :arrow_up:
src/hmatrix.jl 64.22% <48.83%> (-2.33%) :arrow_down:
github-actions[bot] commented 11 months ago
Benchmark result # Judge result # Benchmark Report for */home/lfaria/runner-hmatrices/_work/HMatrices.jl/HMatrices.jl* ## Job Properties * Time of benchmarks: - Target: 28 Oct 2023 - 17:59 - Baseline: 28 Oct 2023 - 18:01 * Package commits: - Target: 7d6a48 - Baseline: e25173 * Julia commits: - Target: bed2cd - Baseline: bed2cd * Julia command flags: - Target: `-O3` - Baseline: `-O3` * Environment variables: - Target: `OPENBLAS_NUM_THREADS => 1` `JULIA_NUM_THREADS => 8` - Baseline: `OPENBLAS_NUM_THREADS => 1` `JULIA_NUM_THREADS => 8` ## Results A ratio greater than `1.0` denotes a possible regression (marked with :x:), while a ratio less than `1.0` denotes a possible improvement (marked with :white_check_mark:). 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 | |-------------------------------------------------------------------|------------------------------|------------------------------| | `["Compressors", "ACA(0.0, 9223372036854775807, 1.0e-6)"]` | 0.72 (5%) :white_check_mark: | 1.00 (1%) | | `["Laplace", "LU threads=false"]` | 1.24 (5%) :x: | 1.00 (1%) | | `["Laplace", "LU threads=true"]` | 1.28 (5%) :x: | 1.00 (1%) | | `["Laplace", "assemble threads=false"]` | 1.08 (5%) :x: | 1.00 (1%) | | `["Laplace", "assemble threads=true"]` | 1.15 (5%) :x: | 1.00 (1%) | | `["Laplace", "gemv threads=false"]` | 0.56 (5%) :white_check_mark: | 1.00 (1%) | | `["Laplace", "gemv threads=true"]` | 0.11 (5%) :white_check_mark: | 0.19 (1%) :white_check_mark: | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["Compressors"]` - `["Laplace"]` ## Julia versioninfo ### Target ``` Julia Version 1.9.3 Commit bed2cd540a1 (2023-08-24 14:43 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 20.04.6 LTS uname: Linux 5.15.0-86-generic #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 x86_64 x86_64 CPU: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz: speed user nice sys idle irq #1-40 2200 MHz 962353 s 1271 s 195471 s 423456282 s 0 s Memory: 31.013160705566406 GB (22322.68359375 MB free) Uptime: 1.06177484e6 sec Load Avg: 1.67 1.31 0.75 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512) Threads: 8 on 40 virtual cores ``` ### Baseline ``` Julia Version 1.9.3 Commit bed2cd540a1 (2023-08-24 14:43 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 20.04.6 LTS uname: Linux 5.15.0-86-generic #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 x86_64 x86_64 CPU: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz: speed user nice sys idle irq #1-40 2200 MHz 964177 s 1271 s 195567 s 423510921 s 0 s Memory: 31.013160705566406 GB (24677.2265625 MB free) Uptime: 1.06191628e6 sec Load Avg: 1.12 1.22 0.8 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512) Threads: 8 on 40 virtual cores ``` --- # Target result # Benchmark Report for */home/lfaria/runner-hmatrices/_work/HMatrices.jl/HMatrices.jl* ## Job Properties * Time of benchmark: 28 Oct 2023 - 17:59 * Package commit: 7d6a48 * Julia commit: bed2cd * Julia command flags: `-O3` * Environment variables: `OPENBLAS_NUM_THREADS => 1` `JULIA_NUM_THREADS => 8` ## 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 | |-------------------------------------------------------------------|----------------:|-----------:|----------------:|------------:| | `["Compressors", "ACA(0.0, 9223372036854775807, 1.0e-6)"]` | 72.690 ms (5%) | | 107.21 MiB (1%) | 65 | | `["Compressors", "PartialACA(0.0, 9223372036854775807, 1.0e-6)"]` | 1.566 ms (5%) | | 450.84 KiB (1%) | 45 | | `["Compressors", "TSVD(0.0, 9223372036854775807, 1.0e-6)"]` | 642.231 ms (5%) | | 46.04 MiB (1%) | 16 | | `["Laplace", "LU threads=false"]` | 42.480 s (5%) | 1.135 s | 12.33 GiB (1%) | 2253291 | | `["Laplace", "LU threads=true"]` | 33.778 s (5%) | 1.450 s | 12.33 GiB (1%) | 2256544 | | `["Laplace", "assemble threads=false"]` | 7.648 s (5%) | 191.940 ms | 1.82 GiB (1%) | 133735 | | `["Laplace", "assemble threads=true"]` | 1.121 s (5%) | | 1.82 GiB (1%) | 143980 | | `["Laplace", "gemv threads=false"]` | 228.390 ms (5%) | | 1.43 MiB (1%) | 2236 | | `["Laplace", "gemv threads=true"]` | 95.721 ms (5%) | | 15.04 MiB (1%) | 636448 | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["Compressors"]` - `["Laplace"]` ## Julia versioninfo ``` Julia Version 1.9.3 Commit bed2cd540a1 (2023-08-24 14:43 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 20.04.6 LTS uname: Linux 5.15.0-86-generic #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 x86_64 x86_64 CPU: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz: speed user nice sys idle irq #1-40 2200 MHz 962353 s 1271 s 195471 s 423456282 s 0 s Memory: 31.013160705566406 GB (22322.68359375 MB free) Uptime: 1.06177484e6 sec Load Avg: 1.67 1.31 0.75 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512) Threads: 8 on 40 virtual cores ``` --- # Baseline result # Benchmark Report for */home/lfaria/runner-hmatrices/_work/HMatrices.jl/HMatrices.jl* ## Job Properties * Time of benchmark: 28 Oct 2023 - 18:1 * Package commit: e25173 * Julia commit: bed2cd * Julia command flags: `-O3` * Environment variables: `OPENBLAS_NUM_THREADS => 1` `JULIA_NUM_THREADS => 8` ## 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 | |-------------------------------------------------------------------|----------------:|-----------:|----------------:|------------:| | `["Compressors", "ACA(0.0, 9223372036854775807, 1.0e-6)"]` | 101.344 ms (5%) | 1.499 ms | 107.21 MiB (1%) | 65 | | `["Compressors", "PartialACA(0.0, 9223372036854775807, 1.0e-6)"]` | 1.500 ms (5%) | | 450.84 KiB (1%) | 45 | | `["Compressors", "TSVD(0.0, 9223372036854775807, 1.0e-6)"]` | 638.935 ms (5%) | 864.515 μs | 46.04 MiB (1%) | 16 | | `["Laplace", "LU threads=false"]` | 34.266 s (5%) | 155.014 ms | 12.33 GiB (1%) | 2253291 | | `["Laplace", "LU threads=true"]` | 26.354 s (5%) | 254.796 ms | 12.33 GiB (1%) | 2336680 | | `["Laplace", "assemble threads=false"]` | 7.104 s (5%) | 51.537 ms | 1.82 GiB (1%) | 133735 | | `["Laplace", "assemble threads=true"]` | 971.067 ms (5%) | | 1.82 GiB (1%) | 143979 | | `["Laplace", "gemv threads=false"]` | 409.341 ms (5%) | | 1.43 MiB (1%) | 2236 | | `["Laplace", "gemv threads=true"]` | 898.150 ms (5%) | | 78.39 MiB (1%) | 1582684 | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["Compressors"]` - `["Laplace"]` ## Julia versioninfo ``` Julia Version 1.9.3 Commit bed2cd540a1 (2023-08-24 14:43 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 20.04.6 LTS uname: Linux 5.15.0-86-generic #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 x86_64 x86_64 CPU: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz: speed user nice sys idle irq #1-40 2200 MHz 964177 s 1271 s 195567 s 423510921 s 0 s Memory: 31.013160705566406 GB (24677.2265625 MB free) Uptime: 1.06191628e6 sec Load Avg: 1.12 1.22 0.8 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512) Threads: 8 on 40 virtual cores ``` --- # Runtime information | Runtime Info | | |:--|:--| | BLAS #threads | 20 | | `BLAS.vendor()` | `lbt` | | `Sys.CPU_THREADS` | 40 | `lscpu` output: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian Address sizes: 46 bits physical, 48 bits virtual CPU(s): 40 On-line CPU(s) list: 0-39 Thread(s) per core: 2 Core(s) per socket: 10 Socket(s): 2 NUMA node(s): 2 Vendor ID: GenuineIntel CPU family: 6 Model: 85 Model name: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz Stepping: 4 CPU MHz: 2200.000 CPU max MHz: 3000,0000 CPU min MHz: 800,0000 BogoMIPS: 4400.00 Virtualization: VT-x L1d cache: 640 KiB L1i cache: 640 KiB L2 cache: 20 MiB L3 cache: 27,5 MiB NUMA node0 CPU(s): 0-9,20-29 NUMA node1 CPU(s): 10-19,30-39 Vulnerability Gather data sampling: Mitigation; Microcode Vulnerability Itlb multihit: KVM: Mitigation: VMX disabled Vulnerability L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable Vulnerability Mds: Mitigation; Clear CPU buffers; SMT vulnerable Vulnerability Meltdown: Mitigation; PTI Vulnerability Mmio stale data: Mitigation; Clear CPU buffers; SMT vulnerable Vulnerability Retbleed: Mitigation; IBRS Vulnerability Spec rstack overflow: Not affected Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Vulnerability Spectre v2: Mitigation; IBRS, IBPB conditional, STIBP conditional, RSB filling, PBRSB-eIBRS Not affected Vulnerability Srbds: Not affected Vulnerability Tsx async abort: Mitigation; Clear CPU buffers; SMT vulnerable Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single pti intel_ppin ssbd mba ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req pku ospke md_clear flush_l1d arch_capabilities | Cpu Property | Value | |:------------------ |:---------------------------------------------------------- | | Brand | Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz | | Vendor | :Intel | | Architecture | :Skylake | | Model | Family: 0x06, Model: 0x55, Stepping: 0x04, Type: 0x00 | | Cores | 10 physical cores, 20 logical cores (on executing CPU) | | | Hyperthreading hardware capability detected | | Clock Frequencies | 2200 / 3000 MHz (base/max), 100 MHz bus | | Data Cache | Level 1:3 : (32, 1024, 14080) kbytes | | | 64 byte cache line size | | Address Size | 48 bits virtual, 46 bits physical | | SIMD | 512 bit = 64 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) revision 4 | | | Available hardware counters per logical core: | | | 3 fixed-function counters of 48 bit width | | | 4 general-purpose counters of 48 bit width | | Hypervisor | No |
github-actions[bot] commented 11 months ago
Benchmark result # Judge result # Benchmark Report for */home/lfaria/runner-hmatrices/_work/HMatrices.jl/HMatrices.jl* ## Job Properties * Time of benchmarks: - Target: 28 Oct 2023 - 18:21 - Baseline: 28 Oct 2023 - 18:24 * Package commits: - Target: 84b55d - Baseline: e25173 * Julia commits: - Target: bed2cd - Baseline: bed2cd * Julia command flags: - Target: `-O3` - Baseline: `-O3` * Environment variables: - Target: `OPENBLAS_NUM_THREADS => 1` `JULIA_NUM_THREADS => 8` - Baseline: `OPENBLAS_NUM_THREADS => 1` `JULIA_NUM_THREADS => 8` ## Results A ratio greater than `1.0` denotes a possible regression (marked with :x:), while a ratio less than `1.0` denotes a possible improvement (marked with :white_check_mark:). 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 | |-------------------------------------------------------------------|------------------------------|------------------------------| | `["Compressors", "ACA(0.0, 9223372036854775807, 1.0e-6)"]` | 0.64 (5%) :white_check_mark: | 0.93 (1%) :white_check_mark: | | `["Compressors", "PartialACA(0.0, 9223372036854775807, 1.0e-6)"]` | 1.07 (5%) :x: | 1.06 (1%) :x: | | `["Laplace", "LU threads=true"]` | 1.08 (5%) :x: | 1.00 (1%) | | `["Laplace", "assemble threads=false"]` | 0.93 (5%) :white_check_mark: | 1.00 (1%) | | `["Laplace", "gemv threads=false"]` | 0.84 (5%) :white_check_mark: | 1.00 (1%) | | `["Laplace", "gemv threads=true"]` | 0.09 (5%) :white_check_mark: | 0.19 (1%) :white_check_mark: | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["Compressors"]` - `["Laplace"]` ## Julia versioninfo ### Target ``` Julia Version 1.9.3 Commit bed2cd540a1 (2023-08-24 14:43 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 20.04.6 LTS uname: Linux 5.15.0-86-generic #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 x86_64 x86_64 CPU: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz: speed user nice sys idle irq #1-40 2200 MHz 972132 s 1271 s 196483 s 423976116 s 0 s Memory: 31.013160705566406 GB (21844.0546875 MB free) Uptime: 1.06310186e6 sec Load Avg: 1.79 1.31 0.88 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512) Threads: 8 on 40 virtual cores ``` ### Baseline ``` Julia Version 1.9.3 Commit bed2cd540a1 (2023-08-24 14:43 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 20.04.6 LTS uname: Linux 5.15.0-86-generic #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 x86_64 x86_64 CPU: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz: speed user nice sys idle irq #1-40 2200 MHz 973964 s 1271 s 196581 s 424031287 s 0 s Memory: 31.013160705566406 GB (24618.375 MB free) Uptime: 1.06324468e6 sec Load Avg: 1.3 1.32 0.95 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512) Threads: 8 on 40 virtual cores ``` --- # Target result # Benchmark Report for */home/lfaria/runner-hmatrices/_work/HMatrices.jl/HMatrices.jl* ## Job Properties * Time of benchmark: 28 Oct 2023 - 18:21 * Package commit: 84b55d * Julia commit: bed2cd * Julia command flags: `-O3` * Environment variables: `OPENBLAS_NUM_THREADS => 1` `JULIA_NUM_THREADS => 8` ## 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 | |-------------------------------------------------------------------|----------------:|-----------:|----------------:|------------:| | `["Compressors", "ACA(0.0, 9223372036854775807, 1.0e-6)"]` | 70.763 ms (5%) | | 107.21 MiB (1%) | 65 | | `["Compressors", "PartialACA(0.0, 9223372036854775807, 1.0e-6)"]` | 1.864 ms (5%) | | 545.34 KiB (1%) | 51 | | `["Compressors", "TSVD(0.0, 9223372036854775807, 1.0e-6)"]` | 640.019 ms (5%) | | 46.04 MiB (1%) | 16 | | `["Laplace", "LU threads=false"]` | 34.032 s (5%) | 335.869 ms | 12.33 GiB (1%) | 2253291 | | `["Laplace", "LU threads=true"]` | 29.478 s (5%) | 430.692 ms | 12.33 GiB (1%) | 2256565 | | `["Laplace", "assemble threads=false"]` | 6.590 s (5%) | 93.293 ms | 1.82 GiB (1%) | 133735 | | `["Laplace", "assemble threads=true"]` | 1.003 s (5%) | | 1.82 GiB (1%) | 143980 | | `["Laplace", "gemv threads=false"]` | 161.077 ms (5%) | | 1.43 MiB (1%) | 2236 | | `["Laplace", "gemv threads=true"]` | 83.049 ms (5%) | | 15.04 MiB (1%) | 636448 | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["Compressors"]` - `["Laplace"]` ## Julia versioninfo ``` Julia Version 1.9.3 Commit bed2cd540a1 (2023-08-24 14:43 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 20.04.6 LTS uname: Linux 5.15.0-86-generic #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 x86_64 x86_64 CPU: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz: speed user nice sys idle irq #1-40 2200 MHz 972132 s 1271 s 196483 s 423976116 s 0 s Memory: 31.013160705566406 GB (21844.0546875 MB free) Uptime: 1.06310186e6 sec Load Avg: 1.79 1.31 0.88 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512) Threads: 8 on 40 virtual cores ``` --- # Baseline result # Benchmark Report for */home/lfaria/runner-hmatrices/_work/HMatrices.jl/HMatrices.jl* ## Job Properties * Time of benchmark: 28 Oct 2023 - 18:24 * Package commit: e25173 * Julia commit: bed2cd * Julia command flags: `-O3` * Environment variables: `OPENBLAS_NUM_THREADS => 1` `JULIA_NUM_THREADS => 8` ## 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 | |-------------------------------------------------------------------|----------------:|-----------:|----------------:|------------:| | `["Compressors", "ACA(0.0, 9223372036854775807, 1.0e-6)"]` | 110.993 ms (5%) | 1.444 ms | 114.87 MiB (1%) | 69 | | `["Compressors", "PartialACA(0.0, 9223372036854775807, 1.0e-6)"]` | 1.740 ms (5%) | | 513.84 KiB (1%) | 49 | | `["Compressors", "TSVD(0.0, 9223372036854775807, 1.0e-6)"]` | 641.014 ms (5%) | 833.716 μs | 46.04 MiB (1%) | 16 | | `["Laplace", "LU threads=false"]` | 35.090 s (5%) | 149.932 ms | 12.33 GiB (1%) | 2253291 | | `["Laplace", "LU threads=true"]` | 27.174 s (5%) | 268.024 ms | 12.33 GiB (1%) | 2336675 | | `["Laplace", "assemble threads=false"]` | 7.073 s (5%) | 41.884 ms | 1.82 GiB (1%) | 133735 | | `["Laplace", "assemble threads=true"]` | 972.683 ms (5%) | | 1.82 GiB (1%) | 143980 | | `["Laplace", "gemv threads=false"]` | 191.802 ms (5%) | 30.708 ms | 1.43 MiB (1%) | 2236 | | `["Laplace", "gemv threads=true"]` | 898.622 ms (5%) | | 78.39 MiB (1%) | 1582684 | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["Compressors"]` - `["Laplace"]` ## Julia versioninfo ``` Julia Version 1.9.3 Commit bed2cd540a1 (2023-08-24 14:43 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 20.04.6 LTS uname: Linux 5.15.0-86-generic #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 x86_64 x86_64 CPU: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz: speed user nice sys idle irq #1-40 2200 MHz 973964 s 1271 s 196581 s 424031287 s 0 s Memory: 31.013160705566406 GB (24618.375 MB free) Uptime: 1.06324468e6 sec Load Avg: 1.3 1.32 0.95 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512) Threads: 8 on 40 virtual cores ``` --- # Runtime information | Runtime Info | | |:--|:--| | BLAS #threads | 20 | | `BLAS.vendor()` | `lbt` | | `Sys.CPU_THREADS` | 40 | `lscpu` output: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian Address sizes: 46 bits physical, 48 bits virtual CPU(s): 40 On-line CPU(s) list: 0-39 Thread(s) per core: 2 Core(s) per socket: 10 Socket(s): 2 NUMA node(s): 2 Vendor ID: GenuineIntel CPU family: 6 Model: 85 Model name: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz Stepping: 4 CPU MHz: 2200.000 CPU max MHz: 3000,0000 CPU min MHz: 800,0000 BogoMIPS: 4400.00 Virtualization: VT-x L1d cache: 640 KiB L1i cache: 640 KiB L2 cache: 20 MiB L3 cache: 27,5 MiB NUMA node0 CPU(s): 0-9,20-29 NUMA node1 CPU(s): 10-19,30-39 Vulnerability Gather data sampling: Mitigation; Microcode Vulnerability Itlb multihit: KVM: Mitigation: VMX disabled Vulnerability L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable Vulnerability Mds: Mitigation; Clear CPU buffers; SMT vulnerable Vulnerability Meltdown: Mitigation; PTI Vulnerability Mmio stale data: Mitigation; Clear CPU buffers; SMT vulnerable Vulnerability Retbleed: Mitigation; IBRS Vulnerability Spec rstack overflow: Not affected Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Vulnerability Spectre v2: Mitigation; IBRS, IBPB conditional, STIBP conditional, RSB filling, PBRSB-eIBRS Not affected Vulnerability Srbds: Not affected Vulnerability Tsx async abort: Mitigation; Clear CPU buffers; SMT vulnerable Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single pti intel_ppin ssbd mba ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req pku ospke md_clear flush_l1d arch_capabilities | Cpu Property | Value | |:------------------ |:---------------------------------------------------------- | | Brand | Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz | | Vendor | :Intel | | Architecture | :Skylake | | Model | Family: 0x06, Model: 0x55, Stepping: 0x04, Type: 0x00 | | Cores | 10 physical cores, 20 logical cores (on executing CPU) | | | Hyperthreading hardware capability detected | | Clock Frequencies | 2200 / 3000 MHz (base/max), 100 MHz bus | | Data Cache | Level 1:3 : (32, 1024, 14080) kbytes | | | 64 byte cache line size | | Address Size | 48 bits virtual, 46 bits physical | | SIMD | 512 bit = 64 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) revision 4 | | | Available hardware counters per logical core: | | | 3 fixed-function counters of 48 bit width | | | 4 general-purpose counters of 48 bit width | | Hypervisor | No |
github-actions[bot] commented 11 months ago
Benchmark result # Judge result # Benchmark Report for */home/lfaria/runner-hmatrices/_work/HMatrices.jl/HMatrices.jl* ## Job Properties * Time of benchmarks: - Target: 28 Oct 2023 - 18:38 - Baseline: 28 Oct 2023 - 18:40 * Package commits: - Target: 0a2465 - Baseline: e25173 * Julia commits: - Target: bed2cd - Baseline: bed2cd * Julia command flags: - Target: `-O3` - Baseline: `-O3` * Environment variables: - Target: `OPENBLAS_NUM_THREADS => 1` `JULIA_NUM_THREADS => 8` - Baseline: `OPENBLAS_NUM_THREADS => 1` `JULIA_NUM_THREADS => 8` ## Results A ratio greater than `1.0` denotes a possible regression (marked with :x:), while a ratio less than `1.0` denotes a possible improvement (marked with :white_check_mark:). 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 | |-------------------------------------------------------------------|------------------------------|------------------------------| | `["Compressors", "ACA(0.0, 9223372036854775807, 1.0e-6)"]` | 0.64 (5%) :white_check_mark: | 1.00 (1%) | | `["Compressors", "PartialACA(0.0, 9223372036854775807, 1.0e-6)"]` | 1.22 (5%) :x: | 1.15 (1%) :x: | | `["Laplace", "assemble threads=false"]` | 0.93 (5%) :white_check_mark: | 1.00 (1%) | | `["Laplace", "gemv threads=false"]` | 0.72 (5%) :white_check_mark: | 1.00 (1%) | | `["Laplace", "gemv threads=true"]` | 0.08 (5%) :white_check_mark: | 0.19 (1%) :white_check_mark: | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["Compressors"]` - `["Laplace"]` ## Julia versioninfo ### Target ``` Julia Version 1.9.3 Commit bed2cd540a1 (2023-08-24 14:43 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 20.04.6 LTS uname: Linux 5.15.0-86-generic #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 x86_64 x86_64 CPU: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz: speed user nice sys idle irq #1-40 2200 MHz 982154 s 1271 s 197468 s 424364483 s 0 s Memory: 31.013160705566406 GB (21597.546875 MB free) Uptime: 1.06410071e6 sec Load Avg: 2.37 1.52 1.16 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512) Threads: 8 on 40 virtual cores ``` ### Baseline ``` Julia Version 1.9.3 Commit bed2cd540a1 (2023-08-24 14:43 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 20.04.6 LTS uname: Linux 5.15.0-86-generic #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 x86_64 x86_64 CPU: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz: speed user nice sys idle irq #1-40 2200 MHz 984165 s 1271 s 197589 s 424421285 s 0 s Memory: 31.013160705566406 GB (22194.84375 MB free) Uptime: 1.06424811e6 sec Load Avg: 1.56 1.43 1.18 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512) Threads: 8 on 40 virtual cores ``` --- # Target result # Benchmark Report for */home/lfaria/runner-hmatrices/_work/HMatrices.jl/HMatrices.jl* ## Job Properties * Time of benchmark: 28 Oct 2023 - 18:38 * Package commit: 0a2465 * Julia commit: bed2cd * Julia command flags: `-O3` * Environment variables: `OPENBLAS_NUM_THREADS => 1` `JULIA_NUM_THREADS => 8` ## 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 | |-------------------------------------------------------------------|----------------:|-----------:|----------------:|------------:| | `["Compressors", "ACA(0.0, 9223372036854775807, 1.0e-6)"]` | 70.584 ms (5%) | | 107.21 MiB (1%) | 65 | | `["Compressors", "PartialACA(0.0, 9223372036854775807, 1.0e-6)"]` | 1.672 ms (5%) | | 482.34 KiB (1%) | 47 | | `["Compressors", "TSVD(0.0, 9223372036854775807, 1.0e-6)"]` | 637.411 ms (5%) | | 46.04 MiB (1%) | 16 | | `["Laplace", "LU threads=false"]` | 35.299 s (5%) | 465.827 ms | 12.33 GiB (1%) | 2253291 | | `["Laplace", "LU threads=true"]` | 28.060 s (5%) | 362.026 ms | 12.33 GiB (1%) | 2256565 | | `["Laplace", "assemble threads=false"]` | 6.625 s (5%) | 40.013 ms | 1.82 GiB (1%) | 133735 | | `["Laplace", "assemble threads=true"]` | 952.310 ms (5%) | | 1.82 GiB (1%) | 143978 | | `["Laplace", "gemv threads=false"]` | 170.068 ms (5%) | | 1.43 MiB (1%) | 2236 | | `["Laplace", "gemv threads=true"]` | 77.427 ms (5%) | | 15.04 MiB (1%) | 636451 | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["Compressors"]` - `["Laplace"]` ## Julia versioninfo ``` Julia Version 1.9.3 Commit bed2cd540a1 (2023-08-24 14:43 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 20.04.6 LTS uname: Linux 5.15.0-86-generic #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 x86_64 x86_64 CPU: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz: speed user nice sys idle irq #1-40 2200 MHz 982154 s 1271 s 197468 s 424364483 s 0 s Memory: 31.013160705566406 GB (21597.546875 MB free) Uptime: 1.06410071e6 sec Load Avg: 2.37 1.52 1.16 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512) Threads: 8 on 40 virtual cores ``` --- # Baseline result # Benchmark Report for */home/lfaria/runner-hmatrices/_work/HMatrices.jl/HMatrices.jl* ## Job Properties * Time of benchmark: 28 Oct 2023 - 18:40 * Package commit: e25173 * Julia commit: bed2cd * Julia command flags: `-O3` * Environment variables: `OPENBLAS_NUM_THREADS => 1` `JULIA_NUM_THREADS => 8` ## 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 | |-------------------------------------------------------------------|----------------:|-----------:|----------------:|------------:| | `["Compressors", "ACA(0.0, 9223372036854775807, 1.0e-6)"]` | 109.745 ms (5%) | 1.468 ms | 107.21 MiB (1%) | 65 | | `["Compressors", "PartialACA(0.0, 9223372036854775807, 1.0e-6)"]` | 1.370 ms (5%) | | 419.34 KiB (1%) | 43 | | `["Compressors", "TSVD(0.0, 9223372036854775807, 1.0e-6)"]` | 647.519 ms (5%) | 847.327 μs | 46.04 MiB (1%) | 16 | | `["Laplace", "LU threads=false"]` | 35.091 s (5%) | 191.016 ms | 12.33 GiB (1%) | 2253291 | | `["Laplace", "LU threads=true"]` | 26.884 s (5%) | 307.664 ms | 12.33 GiB (1%) | 2336684 | | `["Laplace", "assemble threads=false"]` | 7.104 s (5%) | 64.566 ms | 1.82 GiB (1%) | 133735 | | `["Laplace", "assemble threads=true"]` | 978.973 ms (5%) | | 1.82 GiB (1%) | 143978 | | `["Laplace", "gemv threads=false"]` | 236.941 ms (5%) | | 1.43 MiB (1%) | 2236 | | `["Laplace", "gemv threads=true"]` | 915.868 ms (5%) | | 78.39 MiB (1%) | 1582681 | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["Compressors"]` - `["Laplace"]` ## Julia versioninfo ``` Julia Version 1.9.3 Commit bed2cd540a1 (2023-08-24 14:43 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 20.04.6 LTS uname: Linux 5.15.0-86-generic #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 x86_64 x86_64 CPU: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz: speed user nice sys idle irq #1-40 2200 MHz 984165 s 1271 s 197589 s 424421285 s 0 s Memory: 31.013160705566406 GB (22194.84375 MB free) Uptime: 1.06424811e6 sec Load Avg: 1.56 1.43 1.18 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512) Threads: 8 on 40 virtual cores ``` --- # Runtime information | Runtime Info | | |:--|:--| | BLAS #threads | 20 | | `BLAS.vendor()` | `lbt` | | `Sys.CPU_THREADS` | 40 | `lscpu` output: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian Address sizes: 46 bits physical, 48 bits virtual CPU(s): 40 On-line CPU(s) list: 0-39 Thread(s) per core: 2 Core(s) per socket: 10 Socket(s): 2 NUMA node(s): 2 Vendor ID: GenuineIntel CPU family: 6 Model: 85 Model name: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz Stepping: 4 CPU MHz: 2200.000 CPU max MHz: 3000,0000 CPU min MHz: 800,0000 BogoMIPS: 4400.00 Virtualization: VT-x L1d cache: 640 KiB L1i cache: 640 KiB L2 cache: 20 MiB L3 cache: 27,5 MiB NUMA node0 CPU(s): 0-9,20-29 NUMA node1 CPU(s): 10-19,30-39 Vulnerability Gather data sampling: Mitigation; Microcode Vulnerability Itlb multihit: KVM: Mitigation: VMX disabled Vulnerability L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable Vulnerability Mds: Mitigation; Clear CPU buffers; SMT vulnerable Vulnerability Meltdown: Mitigation; PTI Vulnerability Mmio stale data: Mitigation; Clear CPU buffers; SMT vulnerable Vulnerability Retbleed: Mitigation; IBRS Vulnerability Spec rstack overflow: Not affected Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Vulnerability Spectre v2: Mitigation; IBRS, IBPB conditional, STIBP conditional, RSB filling, PBRSB-eIBRS Not affected Vulnerability Srbds: Not affected Vulnerability Tsx async abort: Mitigation; Clear CPU buffers; SMT vulnerable Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single pti intel_ppin ssbd mba ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req pku ospke md_clear flush_l1d arch_capabilities | Cpu Property | Value | |:------------------ |:---------------------------------------------------------- | | Brand | Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz | | Vendor | :Intel | | Architecture | :Skylake | | Model | Family: 0x06, Model: 0x55, Stepping: 0x04, Type: 0x00 | | Cores | 10 physical cores, 20 logical cores (on executing CPU) | | | Hyperthreading hardware capability detected | | Clock Frequencies | 2200 / 3000 MHz (base/max), 100 MHz bus | | Data Cache | Level 1:3 : (32, 1024, 14080) kbytes | | | 64 byte cache line size | | Address Size | 48 bits virtual, 46 bits physical | | SIMD | 512 bit = 64 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) revision 4 | | | Available hardware counters per logical core: | | | 3 fixed-function counters of 48 bit width | | | 4 general-purpose counters of 48 bit width | | Hypervisor | No |