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

Speed up viterbi #93

Merged
merged 8 commits into from
Feb 24, 2024
Merged

Speed up viterbi #93

merged 8 commits into from
Feb 24, 2024

Conversation

gdalle
Copy link
Owner

@gdalle gdalle commented Feb 24, 2024

This PR improves viterbi by precomputing log-probabilities and abstracting away the max-plus matrix-vector product

Version

  • Bump to v0.5.0

Breaking

  • Only dispatch stuff(hmm, control) on stuff(hmm) when isnothing(control) (much safer)
  • Force both transition_matrix and obs_distributions to accept a control argument when control_seq is not trivial

Non-breaking

  • Add log_initialization and log_transition_matrix methods with fallbacks to AbstractHMM
  • Add loginit and logtrans fields to HMM
  • Extract the core of viterbi into argmaxplus_transmul!
  • Add special case of argmaxplus_transmul! for sparse matrices (huge performance boost)
  • Remove tolerance for Viterbi incoherence vis a vis HMMBase
  • Put non-symmetric transition matrices in tests to spot transpose errors
  • Precompile joint_logdensityof correctly

@gdalle gdalle added the run benchmark Benchmarks are run by CI label Feb 24, 2024
Copy link

codecov bot commented Feb 24, 2024

Codecov Report

Attention: Patch coverage is 94.62366% with 5 lines in your changes are missing coverage. Please review.

Project coverage is 93.40%. Comparing base (5ad5d81) to head (4bf59ed).

Files Patch % Lines
src/utils/valid.jl 55.55% 4 Missing ⚠️
src/types/abstract_hmm.jl 92.30% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #93      +/-   ##
==========================================
+ Coverage   92.87%   93.40%   +0.52%     
==========================================
  Files          18       18              
  Lines         449      500      +51     
==========================================
+ Hits          417      467      +50     
- Misses         32       33       +1     

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

Copy link

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 24 Feb 2024 - 19:36
    • Baseline: 24 Feb 2024 - 19:37
  • Package commits:
    • Target: 0a864c
    • Baseline: 5ad5d8
  • Julia commits:
    • Target: 7790d6
    • Baseline: 7790d6
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: OPENBLAS_NUM_THREADS => 1 JULIA_NUM_THREADS => auto
    • Baseline: OPENBLAS_NUM_THREADS => 1 JULIA_NUM_THREADS => auto

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
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.26 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.18 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.70 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.06 (5%) ❌ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.95 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "viterbi"] 0.74 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.15 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "viterbi"] 1.33 (5%) ❌ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.42 (5%) ✅ 1.00 (1%)

Benchmark Group List

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

  • ["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]

Julia versioninfo

Target

Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20: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.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  3243 MHz        794 s          0 s         88 s       1988 s          0 s
       #2  2445 MHz       1028 s          0 s         85 s       1766 s          0 s
       #3  2575 MHz        833 s          0 s         90 s       1937 s          0 s
       #4  2961 MHz        919 s          0 s         91 s       1861 s          0 s
  Memory: 15.60690689086914 GB (13831.12109375 MB free)
  Uptime: 289.99 sec
  Load Avg:  2.4  1.15  0.46
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 4 default, 0 interactive, 2 GC (on 4 virtual cores)

Baseline

Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20: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.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  3243 MHz       1057 s          0 s         98 s       2205 s          0 s
       #2  3267 MHz       1284 s          0 s         95 s       1991 s          0 s
       #3  3043 MHz       1105 s          0 s        100 s       2146 s          0 s
       #4  2876 MHz       1179 s          0 s        100 s       2084 s          0 s
  Memory: 15.60690689086914 GB (14134.25 MB free)
  Uptime: 339.14 sec
  Load Avg:  2.13  1.26  0.54
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 4 default, 0 interactive, 2 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 24 Feb 2024 - 19:36
  • Package commit: 0a864c
  • Julia commit: 7790d6
  • Julia command flags: None
  • Environment variables: OPENBLAS_NUM_THREADS => 1 JULIA_NUM_THREADS => auto

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
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.029 ms (5%) 5.41 MiB (1%) 2068
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 318.238 μs (5%) 518.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 416.634 μs (5%) 1.26 MiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 421.874 μs (5%) 768.62 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.982 ms (5%) 18.37 MiB (1%) 2068
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 556.877 μs (5%) 1018.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 737.587 μs (5%) 2.48 MiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 1.088 ms (5%) 1.48 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 392.949 μs (5%) 725.77 KiB (1%) 2068
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 139.442 μs (5%) 143.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 212.459 μs (5%) 347.28 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 111.360 μs (5%) 206.12 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.099 ms (5%) 2.42 MiB (1%) 10117
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 659.581 μs (5%) 1.24 MiB (1%) 8028
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 738.600 μs (5%) 1.44 MiB (1%) 8036
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 627.691 μs (5%) 1.30 MiB (1%) 8030
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "baum_welch"] 557.818 μs (5%) 728.61 KiB (1%) 2093
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "forward"] 176.291 μs (5%) 143.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "forward_backward"] 253.898 μs (5%) 347.28 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "viterbi"] 146.906 μs (5%) 206.12 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 6.397 ms (5%) 67.61 MiB (1%) 4071
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 1.145 ms (5%) 1.97 MiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 1.650 ms (5%) 4.95 MiB (1%) 36
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 3.594 ms (5%) 2.95 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "baum_welch"] 4.357 ms (5%) 15.73 MiB (1%) 16043
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "forward"] 991.254 μs (5%) 2.06 MiB (1%) 2007
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "forward_backward"] 1.261 ms (5%) 5.16 MiB (1%) 3998
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "viterbi"] 27.619 ms (5%) 2.95 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 530.899 μs (5%) 1.75 MiB (1%) 2068
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 201.179 μs (5%) 268.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 281.990 μs (5%) 660.16 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 199.154 μs (5%) 393.62 KiB (1%) 29

Benchmark Group List

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

  • ["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]

Julia versioninfo

Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20: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.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  3243 MHz        794 s          0 s         88 s       1988 s          0 s
       #2  2445 MHz       1028 s          0 s         85 s       1766 s          0 s
       #3  2575 MHz        833 s          0 s         90 s       1937 s          0 s
       #4  2961 MHz        919 s          0 s         91 s       1861 s          0 s
  Memory: 15.60690689086914 GB (13831.12109375 MB free)
  Uptime: 289.99 sec
  Load Avg:  2.4  1.15  0.46
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 4 default, 0 interactive, 2 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 24 Feb 2024 - 19:37
  • Package commit: 5ad5d8
  • Julia commit: 7790d6
  • Julia command flags: None
  • Environment variables: OPENBLAS_NUM_THREADS => 1 JULIA_NUM_THREADS => auto

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
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.027 ms (5%) 5.41 MiB (1%) 2066
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 317.938 μs (5%) 518.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 413.327 μs (5%) 1.26 MiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 1.654 ms (5%) 768.56 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.968 ms (5%) 18.36 MiB (1%) 2066
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 560.554 μs (5%) 1018.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 740.292 μs (5%) 2.48 MiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 6.191 ms (5%) 1.48 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 384.333 μs (5%) 725.38 KiB (1%) 2066
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 138.701 μs (5%) 143.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 210.767 μs (5%) 347.22 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 158.679 μs (5%) 206.06 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.039 ms (5%) 2.42 MiB (1%) 10115
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 660.022 μs (5%) 1.24 MiB (1%) 8028
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 730.584 μs (5%) 1.44 MiB (1%) 8036
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 664.179 μs (5%) 1.30 MiB (1%) 8030
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "baum_welch"] 553.020 μs (5%) 727.66 KiB (1%) 2090
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "forward"] 176.482 μs (5%) 143.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "forward_backward"] 248.788 μs (5%) 347.22 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "viterbi"] 198.724 μs (5%) 206.06 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 6.358 ms (5%) 67.57 MiB (1%) 4068
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 1.149 ms (5%) 1.97 MiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 1.652 ms (5%) 4.95 MiB (1%) 36
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 23.841 ms (5%) 2.95 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "baum_welch"] 4.216 ms (5%) 15.67 MiB (1%) 16034
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "forward"] 992.187 μs (5%) 2.06 MiB (1%) 2007
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "forward_backward"] 1.287 ms (5%) 5.16 MiB (1%) 3998
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "viterbi"] 20.788 ms (5%) 2.95 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 529.906 μs (5%) 1.75 MiB (1%) 2066
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 199.214 μs (5%) 268.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 279.476 μs (5%) 660.09 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 477.978 μs (5%) 393.56 KiB (1%) 29

Benchmark Group List

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

  • ["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]

Julia versioninfo

Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20: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.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  3243 MHz       1057 s          0 s         98 s       2205 s          0 s
       #2  3267 MHz       1284 s          0 s         95 s       1991 s          0 s
       #3  3043 MHz       1105 s          0 s        100 s       2146 s          0 s
       #4  2876 MHz       1179 s          0 s        100 s       2084 s          0 s
  Memory: 15.60690689086914 GB (14134.25 MB free)
  Uptime: 339.14 sec
  Load Avg:  2.13  1.26  0.54
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 4 default, 0 interactive, 2 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: Mitigation; 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
Vulnerability Srbds:                Not affected
Vulnerability Tsx async abort:      Not affected
Cpu Property Value
Brand AMD EPYC 7763 64-Core Processor
Vendor :AMD
Architecture :Unknown
Model Family: 0xaf, Model: 0x01, Stepping: 0x01, Type: 0x00
Cores 16 physical cores, 16 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 512, 32768) kbytes
64 byte cache line size
Address Size 48 bits virtual, 48 bits physical
SIMD 256 bit = 32 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC runs at constant rate (invariant from clock frequency)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

Copy link

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 24 Feb 2024 - 19:48
    • Baseline: 24 Feb 2024 - 19:49
  • Package commits:
    • Target: 31d548
    • Baseline: 5ad5d8
  • Julia commits:
    • Target: 7790d6
    • Baseline: 7790d6
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: OPENBLAS_NUM_THREADS => 1 JULIA_NUM_THREADS => auto
    • Baseline: OPENBLAS_NUM_THREADS => 1 JULIA_NUM_THREADS => auto

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
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.26 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.20 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.66 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 0.80 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.90 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "viterbi"] 0.71 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.16 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "viterbi"] 0.05 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.39 (5%) ✅ 1.00 (1%)

Benchmark Group List

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

  • ["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]

Julia versioninfo

Target

Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20: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.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  2445 MHz        878 s          0 s         93 s       2000 s          0 s
       #2  3241 MHz        786 s          0 s         79 s       2102 s          0 s
       #3  2445 MHz        870 s          0 s         88 s       2001 s          0 s
       #4  2594 MHz        857 s          0 s         92 s       2014 s          0 s
  Memory: 15.60690689086914 GB (13856.84375 MB free)
  Uptime: 299.13 sec
  Load Avg:  2.12  0.99  0.38
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 4 default, 0 interactive, 2 GC (on 4 virtual cores)

Baseline

Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20: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.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  3240 MHz       1105 s          0 s        101 s       2244 s          0 s
       #2  3241 MHz       1096 s          0 s         90 s       2261 s          0 s
       #3  2445 MHz       1151 s          0 s         95 s       2193 s          0 s
       #4  2702 MHz       1082 s          0 s         98 s       2263 s          0 s
  Memory: 15.60690689086914 GB (13778.53125 MB free)
  Uptime: 347.17 sec
  Load Avg:  2.11  1.14  0.46
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 4 default, 0 interactive, 2 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 24 Feb 2024 - 19:48
  • Package commit: 31d548
  • Julia commit: 7790d6
  • Julia command flags: None
  • Environment variables: OPENBLAS_NUM_THREADS => 1 JULIA_NUM_THREADS => auto

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
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.031 ms (5%) 5.41 MiB (1%) 2068
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 316.873 μs (5%) 518.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 414.987 μs (5%) 1.26 MiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 425.496 μs (5%) 768.62 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.968 ms (5%) 18.37 MiB (1%) 2068
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 559.456 μs (5%) 1018.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 732.701 μs (5%) 2.48 MiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 1.211 ms (5%) 1.48 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 384.690 μs (5%) 725.77 KiB (1%) 2068
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 138.569 μs (5%) 143.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 209.943 μs (5%) 347.28 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 105.447 μs (5%) 206.12 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 928.577 μs (5%) 2.42 MiB (1%) 10117
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 528.038 μs (5%) 1.24 MiB (1%) 8028
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 584.634 μs (5%) 1.44 MiB (1%) 8036
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 475.770 μs (5%) 1.30 MiB (1%) 8030
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "baum_welch"] 545.892 μs (5%) 728.61 KiB (1%) 2093
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "forward"] 174.416 μs (5%) 143.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "forward_backward"] 246.742 μs (5%) 347.28 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "viterbi"] 142.116 μs (5%) 206.12 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 6.502 ms (5%) 67.61 MiB (1%) 4071
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 1.151 ms (5%) 1.97 MiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 1.649 ms (5%) 4.95 MiB (1%) 36
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 3.766 ms (5%) 2.95 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "baum_welch"] 4.024 ms (5%) 15.67 MiB (1%) 16039
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "forward"] 983.340 μs (5%) 2.06 MiB (1%) 2007
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "forward_backward"] 1.248 ms (5%) 5.16 MiB (1%) 3998
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "viterbi"] 1.024 ms (5%) 2.95 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 518.370 μs (5%) 1.75 MiB (1%) 2068
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 198.061 μs (5%) 268.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 277.199 μs (5%) 660.16 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 186.439 μs (5%) 393.62 KiB (1%) 29

Benchmark Group List

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

  • ["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]

Julia versioninfo

Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20: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.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  2445 MHz        878 s          0 s         93 s       2000 s          0 s
       #2  3241 MHz        786 s          0 s         79 s       2102 s          0 s
       #3  2445 MHz        870 s          0 s         88 s       2001 s          0 s
       #4  2594 MHz        857 s          0 s         92 s       2014 s          0 s
  Memory: 15.60690689086914 GB (13856.84375 MB free)
  Uptime: 299.13 sec
  Load Avg:  2.12  0.99  0.38
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 4 default, 0 interactive, 2 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 24 Feb 2024 - 19:49
  • Package commit: 5ad5d8
  • Julia commit: 7790d6
  • Julia command flags: None
  • Environment variables: OPENBLAS_NUM_THREADS => 1 JULIA_NUM_THREADS => auto

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
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.028 ms (5%) 5.41 MiB (1%) 2066
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 315.972 μs (5%) 518.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 412.362 μs (5%) 1.26 MiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 1.652 ms (5%) 768.56 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.965 ms (5%) 18.36 MiB (1%) 2066
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 557.343 μs (5%) 1018.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 737.069 μs (5%) 2.48 MiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 6.199 ms (5%) 1.48 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 390.781 μs (5%) 725.38 KiB (1%) 2066
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 137.216 μs (5%) 143.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 209.942 μs (5%) 347.22 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 159.168 μs (5%) 206.06 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 943.678 μs (5%) 2.42 MiB (1%) 10115
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 662.311 μs (5%) 1.24 MiB (1%) 8028
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 588.935 μs (5%) 1.44 MiB (1%) 8036
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 528.611 μs (5%) 1.30 MiB (1%) 8030
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "baum_welch"] 554.187 μs (5%) 727.66 KiB (1%) 2090
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "forward"] 174.586 μs (5%) 143.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "forward_backward"] 247.814 μs (5%) 347.22 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "viterbi"] 199.152 μs (5%) 206.06 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 6.458 ms (5%) 67.57 MiB (1%) 4068
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 1.135 ms (5%) 1.97 MiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 1.631 ms (5%) 4.95 MiB (1%) 36
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 23.879 ms (5%) 2.95 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "baum_welch"] 4.050 ms (5%) 15.67 MiB (1%) 16034
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "forward"] 971.191 μs (5%) 2.06 MiB (1%) 2007
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "forward_backward"] 1.250 ms (5%) 5.16 MiB (1%) 3998
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "viterbi"] 21.890 ms (5%) 2.95 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 516.929 μs (5%) 1.75 MiB (1%) 2066
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 195.046 μs (5%) 268.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 276.438 μs (5%) 660.09 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 478.437 μs (5%) 393.56 KiB (1%) 29

Benchmark Group List

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

  • ["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]

Julia versioninfo

Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20: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.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  3240 MHz       1105 s          0 s        101 s       2244 s          0 s
       #2  3241 MHz       1096 s          0 s         90 s       2261 s          0 s
       #3  2445 MHz       1151 s          0 s         95 s       2193 s          0 s
       #4  2702 MHz       1082 s          0 s         98 s       2263 s          0 s
  Memory: 15.60690689086914 GB (13778.53125 MB free)
  Uptime: 347.17 sec
  Load Avg:  2.11  1.14  0.46
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 4 default, 0 interactive, 2 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: Mitigation; 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
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

@gdalle gdalle removed the run benchmark Benchmarks are run by CI label Feb 24, 2024
Copy link

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 24 Feb 2024 - 19:59
    • Baseline: 24 Feb 2024 - 20:00
  • Package commits:
    • Target: bdc248
    • Baseline: 5ad5d8
  • Julia commits:
    • Target: 7790d6
    • Baseline: 7790d6
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: OPENBLAS_NUM_THREADS => 1 JULIA_NUM_THREADS => auto
    • Baseline: OPENBLAS_NUM_THREADS => 1 JULIA_NUM_THREADS => auto

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
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.25 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.19 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.65 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 0.76 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.71 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "viterbi"] 0.71 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.15 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "viterbi"] 0.05 (5%) ✅ 1.00 (1%)
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 0.39 (5%) ✅ 1.00 (1%)

Benchmark Group List

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

  • ["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]

Julia versioninfo

Target

Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20: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.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  2445 MHz        736 s          0 s         88 s       3486 s          0 s
       #2  2445 MHz        930 s          0 s         89 s       3287 s          0 s
       #3  3243 MHz        827 s          0 s         93 s       3375 s          0 s
       #4  3248 MHz        960 s          0 s         91 s       3256 s          0 s
  Memory: 15.60690689086914 GB (13741.19140625 MB free)
  Uptime: 433.97 sec
  Load Avg:  2.42  1.11  0.44
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 4 default, 0 interactive, 2 GC (on 4 virtual cores)

Baseline

Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20: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.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  2445 MHz        989 s          0 s         96 s       3712 s          0 s
       #2  2445 MHz       1177 s          0 s         96 s       3519 s          0 s
       #3  3242 MHz       1115 s          0 s        105 s       3563 s          0 s
       #4  3268 MHz       1220 s          0 s        100 s       3473 s          0 s
  Memory: 15.60690689086914 GB (14198.328125 MB free)
  Uptime: 482.74 sec
  Load Avg:  2.61  1.33  0.56
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 4 default, 0 interactive, 2 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 24 Feb 2024 - 19:59
  • Package commit: bdc248
  • Julia commit: 7790d6
  • Julia command flags: None
  • Environment variables: OPENBLAS_NUM_THREADS => 1 JULIA_NUM_THREADS => auto

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
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.032 ms (5%) 5.41 MiB (1%) 2068
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 316.102 μs (5%) 518.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 414.395 μs (5%) 1.26 MiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 414.605 μs (5%) 768.62 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.983 ms (5%) 18.37 MiB (1%) 2068
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 556.021 μs (5%) 1018.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 733.012 μs (5%) 2.48 MiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 1.178 ms (5%) 1.48 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 391.192 μs (5%) 725.77 KiB (1%) 2068
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 138.860 μs (5%) 143.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 211.937 μs (5%) 347.28 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 103.574 μs (5%) 206.12 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 924.228 μs (5%) 2.42 MiB (1%) 10117
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 505.075 μs (5%) 1.24 MiB (1%) 8028
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 722.752 μs (5%) 1.44 MiB (1%) 8036
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 471.401 μs (5%) 1.30 MiB (1%) 8030
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "baum_welch"] 550.680 μs (5%) 728.61 KiB (1%) 2093
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "forward"] 174.406 μs (5%) 143.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "forward_backward"] 249.587 μs (5%) 347.28 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "viterbi"] 140.593 μs (5%) 206.12 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 6.547 ms (5%) 67.61 MiB (1%) 4071
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 1.146 ms (5%) 1.97 MiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 1.651 ms (5%) 4.95 MiB (1%) 36
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 3.673 ms (5%) 2.95 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "baum_welch"] 4.041 ms (5%) 15.67 MiB (1%) 16039
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "forward"] 980.946 μs (5%) 2.06 MiB (1%) 2007
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "forward_backward"] 1.237 ms (5%) 5.16 MiB (1%) 3998
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "viterbi"] 1.020 ms (5%) 2.95 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 524.530 μs (5%) 1.75 MiB (1%) 2068
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 198.010 μs (5%) 268.52 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 278.170 μs (5%) 660.16 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 185.297 μs (5%) 393.62 KiB (1%) 29

Benchmark Group List

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

  • ["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]

Julia versioninfo

Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20: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.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  2445 MHz        736 s          0 s         88 s       3486 s          0 s
       #2  2445 MHz        930 s          0 s         89 s       3287 s          0 s
       #3  3243 MHz        827 s          0 s         93 s       3375 s          0 s
       #4  3248 MHz        960 s          0 s         91 s       3256 s          0 s
  Memory: 15.60690689086914 GB (13741.19140625 MB free)
  Uptime: 433.97 sec
  Load Avg:  2.42  1.11  0.44
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 4 default, 0 interactive, 2 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 24 Feb 2024 - 20:0
  • Package commit: 5ad5d8
  • Julia commit: 7790d6
  • Julia command flags: None
  • Environment variables: OPENBLAS_NUM_THREADS => 1 JULIA_NUM_THREADS => auto

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
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.032 ms (5%) 5.41 MiB (1%) 2066
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 318.005 μs (5%) 518.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 414.576 μs (5%) 1.26 MiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 1.655 ms (5%) 768.56 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 1.973 ms (5%) 18.36 MiB (1%) 2066
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 559.766 μs (5%) 1018.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 735.605 μs (5%) 2.48 MiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 6.195 ms (5%) 1.48 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 393.015 μs (5%) 725.38 KiB (1%) 2066
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 138.819 μs (5%) 143.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 210.584 μs (5%) 347.22 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 159.278 μs (5%) 206.06 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 950.257 μs (5%) 2.42 MiB (1%) 10115
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 660.635 μs (5%) 1.24 MiB (1%) 8028
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 734.342 μs (5%) 1.44 MiB (1%) 8036
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 667.288 μs (5%) 1.30 MiB (1%) 8030
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "baum_welch"] 552.312 μs (5%) 727.66 KiB (1%) 2090
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "forward"] 173.744 μs (5%) 143.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "forward_backward"] 250.208 μs (5%) 347.22 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1", "viterbi"] 198.260 μs (5%) 206.06 KiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 6.452 ms (5%) 67.57 MiB (1%) 4068
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 1.158 ms (5%) 1.97 MiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 1.663 ms (5%) 4.95 MiB (1%) 36
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 23.914 ms (5%) 2.95 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "baum_welch"] 3.960 ms (5%) 15.67 MiB (1%) 16034
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "forward"] 973.751 μs (5%) 2.06 MiB (1%) 2007
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "forward_backward"] 1.265 ms (5%) 5.16 MiB (1%) 3998
["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0", "viterbi"] 21.836 ms (5%) 2.95 MiB (1%) 29
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "baum_welch"] 527.246 μs (5%) 1.75 MiB (1%) 2066
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward"] 197.730 μs (5%) 268.45 KiB (1%) 27
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "forward_backward"] 275.375 μs (5%) 660.09 KiB (1%) 35
["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0", "viterbi"] 478.536 μs (5%) 393.56 KiB (1%) 29

Benchmark Group List

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

  • ["HiddenMarkovModels.jl", "nb_states 16 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 32 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 4 obs_dim 10 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 1"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 64 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 1 custom_dist 0"]
  • ["HiddenMarkovModels.jl", "nb_states 8 obs_dim 1 seq_length 100 nb_seqs 20 bw_iter 1 sparse 0 custom_dist 0"]

Julia versioninfo

Julia Version 1.10.1
Commit 7790d6f0641 (2024-02-13 20: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.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  2445 MHz        989 s          0 s         96 s       3712 s          0 s
       #2  2445 MHz       1177 s          0 s         96 s       3519 s          0 s
       #3  3242 MHz       1115 s          0 s        105 s       3563 s          0 s
       #4  3268 MHz       1220 s          0 s        100 s       3473 s          0 s
  Memory: 15.60690689086914 GB (14198.328125 MB free)
  Uptime: 482.74 sec
  Load Avg:  2.61  1.33  0.56
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 4 default, 0 interactive, 2 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: Mitigation; 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
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

@gdalle gdalle merged commit 2f975b6 into main Feb 24, 2024
5 checks passed
@gdalle gdalle deleted the viterbi branch February 24, 2024 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant