Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add utilities that don't return the value #27

Merged
merged 13 commits into from
Mar 8, 2024
Merged

Add utilities that don't return the value #27

merged 13 commits into from
Mar 8, 2024

Conversation

gdalle
Copy link
Member

@gdalle gdalle commented Mar 8, 2024

Core

  • Add new functions:
    • pullback!, pullback
    • pushforward!, pushforward
    • derivative
    • multiderivative!, multiderivative
    • gradient!, gradient
    • jacobian!, jacobian
  • Implement them based on the value_... counterparts (no fancy stuff for now)

Benchmarks

  • Restructure the benchmarks to make them more modular
  • Add the new functions to the benchmarks
  • Add utilities to export results as DataFrames and CSV files

Tests

  • Add the new functions to the tests
  • Avoid unqualified imports in backend test files cause now there are name conflicts

Base automatically changed from gd/specialcases to main March 8, 2024 11:54
@codecov-commenter
Copy link

codecov-commenter commented Mar 8, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 90.61%. Comparing base (47e26ec) to head (60919db).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #27      +/-   ##
==========================================
+ Coverage   89.96%   90.61%   +0.64%     
==========================================
  Files          19       19              
  Lines         319      341      +22     
==========================================
+ Hits          287      309      +22     
  Misses         32       32              

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

Copy link
Contributor

github-actions bot commented Mar 8, 2024

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 8 Mar 2024 - 12:15
    • Baseline: 8 Mar 2024 - 12:17
  • Package commits:
    • Target: a706b6
    • Baseline: 47e26e
  • Julia commits:
    • Target: bd47ec
    • Baseline: bd47ec
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: None
    • Baseline: None

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less
than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results
that indicate possible regressions or improvements - are shown below (thus, an empty table means that all
benchmark results remained invariant between builds).

ID time ratio memory ratio
["value_and_derivative", (1, 1), "EnzymeForwardBackend{fallback}()"] 1.17 (5%) ❌ 1.00 (1%)
["value_and_derivative", (1, 1), "EnzymeReverseBackend{custom}()"] 1.26 (5%) ❌ 1.00 (1%)
["value_and_derivative", (1, 1), "EnzymeReverseBackend{fallback}()"] 1.14 (5%) ❌ 1.00 (1%)
["value_and_derivative", (1, 1), "FiniteDiffBackend{custom,Val{:central}}()"] 1.36 (5%) ❌ 1.00 (1%)
["value_and_derivative", (1, 1), "ForwardDiffBackend{fallback}()"] 1.61 (5%) ❌ 1.00 (1%)
["value_and_derivative", (1, 1), "PolyesterForwardDiffBackend{custom,4}()"] 1.58 (5%) ❌ 1.00 (1%)
["value_and_gradient!", (10, 1), "EnzymeForwardBackend{custom}()"] 1.09 (5%) ❌ 1.00 (1%)
["value_and_gradient!", (10, 1), "EnzymeReverseBackend{custom}()"] 1.13 (5%) ❌ 1.00 (1%)
["value_and_gradient!", (10, 1), "EnzymeReverseBackend{fallback}()"] 1.30 (5%) ❌ 1.00 (1%)
["value_and_gradient!", (10, 1), "FiniteDiffBackend{custom,Val{:central}}()"] 1.29 (5%) ❌ 1.00 (1%)
["value_and_gradient!", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.11 (5%) ❌ 1.00 (1%)
["value_and_gradient!", (10, 1), "ForwardDiffBackend{custom}()"] 0.93 (5%) ✅ 1.00 (1%)
["value_and_gradient!", (10, 1), "ReverseDiffBackend{custom}()"] 1.06 (5%) ❌ 1.00 (1%)
["value_and_gradient!", (10, 1), "ReverseDiffBackend{fallback}()"] 1.12 (5%) ❌ 1.00 (1%)
["value_and_gradient!", (10, 1), "ZygoteBackend{fallback}()"] 1.21 (5%) ❌ 1.03 (1%) ❌
["value_and_gradient", (10, 1), "EnzymeReverseBackend{custom}()"] 1.13 (5%) ❌ 1.00 (1%)
["value_and_gradient", (10, 1), "EnzymeReverseBackend{fallback}()"] 1.06 (5%) ❌ 1.00 (1%)
["value_and_gradient", (10, 1), "FiniteDiffBackend{custom,Val{:central}}()"] 1.11 (5%) ❌ 1.00 (1%)
["value_and_gradient", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.15 (5%) ❌ 1.00 (1%)
["value_and_gradient", (10, 1), "ForwardDiffBackend{custom}()"] 1.16 (5%) ❌ 1.00 (1%)
["value_and_gradient", (10, 1), "ForwardDiffBackend{fallback}()"] 1.10 (5%) ❌ 1.00 (1%)
["value_and_gradient", (10, 1), "ReverseDiffBackend{custom}()"] 1.07 (5%) ❌ 1.00 (1%)
["value_and_gradient", (10, 1), "ReverseDiffBackend{fallback}()"] 1.11 (5%) ❌ 1.00 (1%)
["value_and_gradient", (10, 1), "ZygoteBackend{custom}()"] 1.05 (5%) ❌ 1.00 (1%)
["value_and_gradient", (10, 1), "ZygoteBackend{fallback}()"] 0.41 (5%) ✅ 1.03 (1%) ❌
["value_and_jacobian!", (10, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 1.08 (5%) ❌ 1.00 (1%)
["value_and_jacobian!", (10, 10), "ForwardDiffBackend{custom}()"] 0.45 (5%) ✅ 1.00 (1%)
["value_and_jacobian!", (10, 10), "PolyesterForwardDiffBackend{custom,4}()"] 0.85 (5%) ✅ 1.00 (1%)
["value_and_jacobian!", (10, 10), "ReverseDiffBackend{custom}()"] 1.07 (5%) ❌ 1.00 (1%)
["value_and_jacobian!", (10, 10), "ReverseDiffBackend{fallback}()"] 1.08 (5%) ❌ 1.00 (1%)
["value_and_jacobian!", (10, 10), "ZygoteBackend{custom}()"] 0.41 (5%) ✅ 1.00 (1%)
["value_and_jacobian!", (10, 10), "ZygoteBackend{fallback}()"] 1.10 (5%) ❌ 1.00 (1%)
["value_and_jacobian", (10, 10), "EnzymeForwardBackend{custom}()"] 0.54 (5%) ✅ 1.00 (1%)
["value_and_jacobian", (10, 10), "ForwardDiffBackend{custom}()"] 0.85 (5%) ✅ 1.00 (1%)
["value_and_jacobian", (10, 10), "ForwardDiffBackend{fallback}()"] 1.08 (5%) ❌ 1.00 (1%)
["value_and_multiderivative!", (1, 10), "EnzymeForwardBackend{custom}()"] 1.06 (5%) ❌ 1.00 (1%)
["value_and_multiderivative!", (1, 10), "EnzymeForwardBackend{fallback}()"] 1.10 (5%) ❌ 1.00 (1%)
["value_and_multiderivative!", (1, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 1.06 (5%) ❌ 1.00 (1%)
["value_and_multiderivative!", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.06 (5%) ❌ 1.00 (1%)
["value_and_multiderivative!", (1, 10), "ForwardDiffBackend{custom}()"] 1.09 (5%) ❌ 1.00 (1%)
["value_and_multiderivative!", (1, 10), "PolyesterForwardDiffBackend{custom,4}()"] 1.05 (5%) ❌ 1.00 (1%)
["value_and_multiderivative", (1, 10), "EnzymeForwardBackend{custom}()"] 1.05 (5%) ❌ 1.00 (1%)
["value_and_multiderivative", (1, 10), "EnzymeForwardBackend{fallback}()"] 1.09 (5%) ❌ 1.00 (1%)
["value_and_multiderivative", (1, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 1.06 (5%) ❌ 1.00 (1%)
["value_and_multiderivative", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.12 (5%) ❌ 1.00 (1%)
["value_and_multiderivative", (1, 10), "ForwardDiffBackend{custom}()"] 1.06 (5%) ❌ 1.00 (1%)
["value_and_multiderivative", (1, 10), "ForwardDiffBackend{fallback}()"] 0.93 (5%) ✅ 1.00 (1%)
["value_and_multiderivative", (1, 10), "PolyesterForwardDiffBackend{custom,4}()"] 1.08 (5%) ❌ 1.00 (1%)
["value_and_multiderivative", (1, 10), "ZygoteBackend{custom}()"] 1.07 (5%) ❌ 1.00 (1%)
["value_and_multiderivative", (1, 10), "ZygoteBackend{fallback}()"] 1.07 (5%) ❌ 1.00 (1%)
["value_and_pullback!", (1, 10), "ZygoteBackend{fallback}()"] 1.07 (5%) ❌ 1.00 (1%)
["value_and_pullback!", (10, 1), "EnzymeReverseBackend{fallback}()"] 1.11 (5%) ❌ 1.00 (1%)
["value_and_pullback!", (10, 1), "ReverseDiffBackend{fallback}()"] 1.06 (5%) ❌ 1.00 (1%)
["value_and_pullback!", (10, 1), "ZygoteBackend{fallback}()"] 1.20 (5%) ❌ 1.00 (1%)
["value_and_pullback!", (10, 10), "ReverseDiffBackend{fallback}()"] 1.08 (5%) ❌ 1.00 (1%)
["value_and_pullback!", (10, 10), "ZygoteBackend{fallback}()"] 0.94 (5%) ✅ 1.00 (1%)
["value_and_pullback", (1, 1), "EnzymeReverseBackend{fallback}()"] 1.27 (5%) ❌ 1.00 (1%)
["value_and_pullback", (1, 10), "ZygoteBackend{fallback}()"] 1.07 (5%) ❌ 1.00 (1%)
["value_and_pullback", (10, 1), "ZygoteBackend{fallback}()"] 1.19 (5%) ❌ 1.00 (1%)
["value_and_pullback", (10, 10), "ReverseDiffBackend{fallback}()"] 1.09 (5%) ❌ 1.00 (1%)
["value_and_pullback", (10, 10), "ZygoteBackend{fallback}()"] 0.94 (5%) ✅ 1.00 (1%)
["value_and_pushforward!", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.08 (5%) ❌ 1.00 (1%)
["value_and_pushforward!", (10, 1), "EnzymeForwardBackend{fallback}()"] 1.28 (5%) ❌ 1.00 (1%)
["value_and_pushforward!", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.13 (5%) ❌ 1.00 (1%)
["value_and_pushforward", (1, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 0.47 (5%) ✅ 0.00 (1%) ✅
["value_and_pushforward", (1, 1), "ForwardDiffBackend{fallback}()"] 1.62 (5%) ❌ 1.00 (1%)
["value_and_pushforward", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.08 (5%) ❌ 1.00 (1%)
["value_and_pushforward", (1, 10), "ForwardDiffBackend{fallback}()"] 1.09 (5%) ❌ 1.00 (1%)
["value_and_pushforward", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.08 (5%) ❌ 1.00 (1%)
["value_and_pushforward", (10, 10), "EnzymeForwardBackend{fallback}()"] 0.78 (5%) ✅ 1.00 (1%)

Benchmark Group List

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

  • ["value_and_derivative", (1, 1)]
  • ["value_and_gradient!", (10, 1)]
  • ["value_and_gradient", (10, 1)]
  • ["value_and_jacobian!", (10, 10)]
  • ["value_and_jacobian", (10, 10)]
  • ["value_and_multiderivative!", (1, 10)]
  • ["value_and_multiderivative", (1, 10)]
  • ["value_and_pullback!", (1, 10)]
  • ["value_and_pullback!", (10, 1)]
  • ["value_and_pullback!", (10, 10)]
  • ["value_and_pullback", (1, 1)]
  • ["value_and_pullback", (1, 10)]
  • ["value_and_pullback", (10, 1)]
  • ["value_and_pullback", (10, 10)]
  • ["value_and_pushforward!", (1, 10)]
  • ["value_and_pushforward!", (10, 1)]
  • ["value_and_pushforward!", (10, 10)]
  • ["value_and_pushforward", (1, 1)]
  • ["value_and_pushforward", (1, 10)]
  • ["value_and_pushforward", (10, 1)]
  • ["value_and_pushforward", (10, 10)]

Julia versioninfo

Target

Julia Version 1.10.2
Commit bd47eca2c8a (2024-03-01 10:14 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.4 LTS
  uname: Linux 6.5.0-1015-azure #15~22.04.1-Ubuntu SMP Tue Feb 13 01:15:12 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  3243 MHz       2776 s          0 s        172 s       4760 s          0 s
       #2  3247 MHz       3621 s          0 s        146 s       3942 s          0 s
       #3  2445 MHz       2984 s          0 s        171 s       4544 s          0 s
       #4  2445 MHz       2346 s          0 s        168 s       5192 s          0 s
  Memory: 15.606491088867188 GB (13988.625 MB free)
  Uptime: 774.57 sec
  Load Avg:  1.0  1.25  1.0
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.10.2
Commit bd47eca2c8a (2024-03-01 10:14 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.4 LTS
  uname: Linux 6.5.0-1015-azure #15~22.04.1-Ubuntu SMP Tue Feb 13 01:15:12 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  3244 MHz       2825 s          0 s        189 s       6167 s          0 s
       #2  2445 MHz       3649 s          0 s        156 s       5377 s          0 s
       #3  2833 MHz       3528 s          0 s        183 s       5462 s          0 s
       #4  2551 MHz       3194 s          0 s        183 s       5804 s          0 s
  Memory: 15.606491088867188 GB (13958.5546875 MB free)
  Uptime: 922.29 sec
  Load Avg:  1.0  1.16  1.0
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 8 Mar 2024 - 12:15
  • Package commit: a706b6
  • Julia commit: bd47ec
  • Julia command flags: None
  • Environment variables: None

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["derivative", (1, 1), "EnzymeForwardBackend{custom}()"] 25.640 ns (5%)
["derivative", (1, 1), "EnzymeForwardBackend{fallback}()"] 29.331 ns (5%)
["derivative", (1, 1), "EnzymeReverseBackend{custom}()"] 32.404 ns (5%)
["derivative", (1, 1), "EnzymeReverseBackend{fallback}()"] 29.010 ns (5%)
["derivative", (1, 1), "FiniteDiffBackend{custom,Val{:central}}()"] 37.055 ns (5%)
["derivative", (1, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 22.472 ns (5%)
["derivative", (1, 1), "ForwardDiffBackend{custom}()"] 7.080 ns (5%)
["derivative", (1, 1), "ForwardDiffBackend{fallback}()"] 11.432 ns (5%)
["derivative", (1, 1), "PolyesterForwardDiffBackend{custom,4}()"] 11.432 ns (5%)
["derivative", (1, 1), "ZygoteBackend{custom}()"] 3.942 μs (5%) 1.16 KiB (1%) 41
["derivative", (1, 1), "ZygoteBackend{fallback}()"] 3.951 μs (5%) 1.16 KiB (1%) 41
["gradient!", (10, 1), "EnzymeForwardBackend{custom}()"] 891.469 ns (5%) 1.41 KiB (1%) 10
["gradient!", (10, 1), "EnzymeForwardBackend{fallback}()"] 833.188 ns (5%) 1.41 KiB (1%) 10
["gradient!", (10, 1), "EnzymeReverseBackend{custom}()"] 107.470 ns (5%)
["gradient!", (10, 1), "EnzymeReverseBackend{fallback}()"] 113.192 ns (5%)
["gradient!", (10, 1), "FiniteDiffBackend{custom,Val{:central}}()"] 534.211 ns (5%) 144 bytes (1%) 1
["gradient!", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.565 μs (5%) 2.81 KiB (1%) 20
["gradient!", (10, 1), "ForwardDiffBackend{custom}()"] 635.226 ns (5%) 1.84 KiB (1%) 4
["gradient!", (10, 1), "ForwardDiffBackend{fallback}()"] 820.769 ns (5%) 2.19 KiB (1%) 10
["gradient!", (10, 1), "PolyesterForwardDiffBackend{custom,4}()"] 278.326 ns (5%) 512 bytes (1%) 2
["gradient!", (10, 1), "ReverseDiffBackend{custom}()"] 507.289 ns (5%) 1.22 KiB (1%) 18
["gradient!", (10, 1), "ReverseDiffBackend{fallback}()"] 540.164 ns (5%) 1.25 KiB (1%) 19
["gradient!", (10, 1), "ZygoteBackend{custom}()"] 184.230 ns (5%) 576 bytes (1%) 6
["gradient!", (10, 1), "ZygoteBackend{fallback}()"] 4.806 μs (5%) 1.39 KiB (1%) 38
["gradient", (10, 1), "EnzymeForwardBackend{custom}()"] 917.676 ns (5%) 1.55 KiB (1%) 11
["gradient", (10, 1), "EnzymeForwardBackend{fallback}()"] 862.770 ns (5%) 1.55 KiB (1%) 11
["gradient", (10, 1), "EnzymeReverseBackend{custom}()"] 137.372 ns (5%) 144 bytes (1%) 1
["gradient", (10, 1), "EnzymeReverseBackend{fallback}()"] 138.913 ns (5%) 144 bytes (1%) 1
["gradient", (10, 1), "FiniteDiffBackend{custom,Val{:central}}()"] 1.365 μs (5%) 400 bytes (1%) 6
["gradient", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.611 μs (5%) 2.95 KiB (1%) 21
["gradient", (10, 1), "ForwardDiffBackend{custom}()"] 647.939 ns (5%) 1.98 KiB (1%) 5
["gradient", (10, 1), "ForwardDiffBackend{fallback}()"] 859.583 ns (5%) 2.33 KiB (1%) 11
["gradient", (10, 1), "PolyesterForwardDiffBackend{custom,4}()"] 310.927 ns (5%) 656 bytes (1%) 3
["gradient", (10, 1), "ReverseDiffBackend{custom}()"] 528.854 ns (5%) 1.36 KiB (1%) 19
["gradient", (10, 1), "ReverseDiffBackend{fallback}()"] 566.441 ns (5%) 1.39 KiB (1%) 20
["gradient", (10, 1), "ZygoteBackend{custom}()"] 173.040 ns (5%) 576 bytes (1%) 6
["gradient", (10, 1), "ZygoteBackend{fallback}()"] 4.849 μs (5%) 1.53 KiB (1%) 39
["jacobian!", (10, 10), "EnzymeForwardBackend{custom}()"] 5.851 μs (5%) 7.31 KiB (1%) 52
["jacobian!", (10, 10), "EnzymeForwardBackend{fallback}()"] 5.741 μs (5%) 7.31 KiB (1%) 52
["jacobian!", (10, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 11.291 μs (5%) 19.34 KiB (1%) 202
["jacobian!", (10, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 10.099 μs (5%) 14.81 KiB (1%) 122
["jacobian!", (10, 10), "ForwardDiffBackend{custom}()"] 1.378 μs (5%) 4.09 KiB (1%) 8
["jacobian!", (10, 10), "ForwardDiffBackend{fallback}()"] 3.959 μs (5%) 8.25 KiB (1%) 42
["jacobian!", (10, 10), "PolyesterForwardDiffBackend{custom,4}()"] 1.810 μs (5%) 3.67 KiB (1%) 9
["jacobian!", (10, 10), "ReverseDiffBackend{custom}()"] 12.804 μs (5%) 6.95 KiB (1%) 91
["jacobian!", (10, 10), "ReverseDiffBackend{fallback}()"] 129.102 μs (5%) 77.47 KiB (1%) 922
["jacobian!", (10, 10), "ZygoteBackend{custom}()"] 123.762 μs (5%) 42.03 KiB (1%) 951
["jacobian!", (10, 10), "ZygoteBackend{fallback}()"] 50.365 μs (5%) 29.03 KiB (1%) 462
["jacobian", (10, 10), "EnzymeForwardBackend{custom}()"] 3.550 μs (5%) 9.89 KiB (1%) 47
["jacobian", (10, 10), "EnzymeForwardBackend{fallback}()"] 5.970 μs (5%) 8.47 KiB (1%) 55
["jacobian", (10, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 9.978 μs (5%) 19.33 KiB (1%) 201
["jacobian", (10, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 10.419 μs (5%) 15.97 KiB (1%) 125
["jacobian", (10, 10), "ForwardDiffBackend{custom}()"] 1.455 μs (5%) 4.97 KiB (1%) 9
["jacobian", (10, 10), "ForwardDiffBackend{fallback}()"] 4.124 μs (5%) 9.41 KiB (1%) 45
["jacobian", (10, 10), "PolyesterForwardDiffBackend{custom,4}()"] 1.767 μs (5%) 4.83 KiB (1%) 12
["jacobian", (10, 10), "ReverseDiffBackend{custom}()"] 13.045 μs (5%) 7.83 KiB (1%) 92
["jacobian", (10, 10), "ReverseDiffBackend{fallback}()"] 131.938 μs (5%) 78.62 KiB (1%) 925
["jacobian", (10, 10), "ZygoteBackend{custom}()"] 122.830 μs (5%) 42.02 KiB (1%) 950
["jacobian", (10, 10), "ZygoteBackend{fallback}()"] 51.636 μs (5%) 30.19 KiB (1%) 465
["multiderivative!", (1, 10), "EnzymeForwardBackend{custom}()"] 356.592 ns (5%) 288 bytes (1%) 2
["multiderivative!", (1, 10), "EnzymeForwardBackend{fallback}()"] 375.483 ns (5%) 288 bytes (1%) 2
["multiderivative!", (1, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 615.063 ns (5%) 768 bytes (1%) 7
["multiderivative!", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 625.327 ns (5%) 768 bytes (1%) 7
["multiderivative!", (1, 10), "ForwardDiffBackend{custom}()"] 263.226 ns (5%) 368 bytes (1%) 2
["multiderivative!", (1, 10), "ForwardDiffBackend{fallback}()"] 165.736 ns (5%) 368 bytes (1%) 2
["multiderivative!", (1, 10), "PolyesterForwardDiffBackend{custom,4}()"] 174.208 ns (5%) 368 bytes (1%) 2
["multiderivative!", (1, 10), "ZygoteBackend{custom}()"] 48.461 μs (5%) 19.98 KiB (1%) 481
["multiderivative!", (1, 10), "ZygoteBackend{fallback}()"] 48.441 μs (5%) 19.98 KiB (1%) 481
["multiderivative", (1, 10), "EnzymeForwardBackend{custom}()"] 504.603 ns (5%) 576 bytes (1%) 4
["multiderivative", (1, 10), "EnzymeForwardBackend{fallback}()"] 521.656 ns (5%) 576 bytes (1%) 4
["multiderivative", (1, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 1.289 μs (5%) 1.12 KiB (1%) 13
["multiderivative", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 777.147 ns (5%) 1.03 KiB (1%) 9
["multiderivative", (1, 10), "ForwardDiffBackend{custom}()"] 285.017 ns (5%) 512 bytes (1%) 3
["multiderivative", (1, 10), "ForwardDiffBackend{fallback}()"] 305.457 ns (5%) 656 bytes (1%) 4
["multiderivative", (1, 10), "PolyesterForwardDiffBackend{custom,4}()"] 363.300 ns (5%) 656 bytes (1%) 4
["multiderivative", (1, 10), "ZygoteBackend{custom}()"] 48.722 μs (5%) 20.27 KiB (1%) 483
["multiderivative", (1, 10), "ZygoteBackend{fallback}()"] 48.812 μs (5%) 20.27 KiB (1%) 483
["pullback!", (1, 1), "EnzymeReverseBackend{fallback}()"] 33.022 ns (5%)
["pullback!", (1, 1), "ZygoteBackend{fallback}()"] 3.950 μs (5%) 1.16 KiB (1%) 41
["pullback!", (1, 10), "ZygoteBackend{fallback}()"] 4.819 μs (5%) 1.89 KiB (1%) 46
["pullback!", (10, 1), "EnzymeReverseBackend{fallback}()"] 91.786 ns (5%)
["pullback!", (10, 1), "ReverseDiffBackend{fallback}()"] 523.005 ns (5%) 1.25 KiB (1%) 19
["pullback!", (10, 1), "ZygoteBackend{fallback}()"] 4.800 μs (5%) 1.39 KiB (1%) 38
["pullback!", (10, 10), "ReverseDiffBackend{fallback}()"] 12.715 μs (5%) 7.72 KiB (1%) 92
["pullback!", (10, 10), "ZygoteBackend{fallback}()"] 4.839 μs (5%) 2.66 KiB (1%) 42
["pullback", (1, 1), "EnzymeReverseBackend{fallback}()"] 33.022 ns (5%)
["pullback", (1, 1), "ZygoteBackend{fallback}()"] 3.842 μs (5%) 1.08 KiB (1%) 37
["pullback", (1, 10), "ZygoteBackend{fallback}()"] 4.738 μs (5%) 1.83 KiB (1%) 43
["pullback", (10, 1), "EnzymeReverseBackend{fallback}()"] 117.753 ns (5%) 144 bytes (1%) 1
["pullback", (10, 1), "ReverseDiffBackend{fallback}()"] 546.418 ns (5%) 1.39 KiB (1%) 20
["pullback", (10, 1), "ZygoteBackend{fallback}()"] 4.723 μs (5%) 1.34 KiB (1%) 36
["pullback", (10, 10), "ReverseDiffBackend{fallback}()"] 13.345 μs (5%) 7.86 KiB (1%) 93
["pullback", (10, 10), "ZygoteBackend{fallback}()"] 4.786 μs (5%) 2.62 KiB (1%) 41
["pushforward!", (1, 1), "EnzymeForwardBackend{fallback}()"] 24.695 ns (5%)
["pushforward!", (1, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 22.422 ns (5%)
["pushforward!", (1, 1), "ForwardDiffBackend{fallback}()"] 11.533 ns (5%)
["pushforward!", (1, 10), "EnzymeForwardBackend{fallback}()"] 348.505 ns (5%) 288 bytes (1%) 2
["pushforward!", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 635.982 ns (5%) 768 bytes (1%) 7
["pushforward!", (1, 10), "ForwardDiffBackend{fallback}()"] 176.667 ns (5%) 368 bytes (1%) 2
["pushforward!", (10, 1), "EnzymeForwardBackend{fallback}()"] 49.342 ns (5%)
["pushforward!", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 159.827 ns (5%) 288 bytes (1%) 2
["pushforward!", (10, 1), "ForwardDiffBackend{fallback}()"] 81.651 ns (5%) 224 bytes (1%) 1
["pushforward!", (10, 10), "EnzymeForwardBackend{fallback}()"] 528.726 ns (5%) 576 bytes (1%) 4
["pushforward!", (10, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 978.125 ns (5%) 1.45 KiB (1%) 12
["pushforward!", (10, 10), "ForwardDiffBackend{fallback}()"] 361.056 ns (5%) 816 bytes (1%) 4
["pushforward", (1, 1), "EnzymeForwardBackend{fallback}()"] 24.996 ns (5%)
["pushforward", (1, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 48.807 ns (5%) 80 bytes (1%) 3
["pushforward", (1, 1), "ForwardDiffBackend{fallback}()"] 11.533 ns (5%)
["pushforward", (1, 10), "EnzymeForwardBackend{fallback}()"] 479.622 ns (5%) 576 bytes (1%) 4
["pushforward", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 799.333 ns (5%) 1.03 KiB (1%) 9
["pushforward", (1, 10), "ForwardDiffBackend{fallback}()"] 328.301 ns (5%) 656 bytes (1%) 4
["pushforward", (10, 1), "EnzymeForwardBackend{fallback}()"] 59.235 ns (5%)
["pushforward", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 179.989 ns (5%) 288 bytes (1%) 2
["pushforward", (10, 1), "ForwardDiffBackend{fallback}()"] 86.722 ns (5%) 224 bytes (1%) 1
["pushforward", (10, 10), "EnzymeForwardBackend{fallback}()"] 768.603 ns (5%) 1008 bytes (1%) 7
["pushforward", (10, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.230 μs (5%) 1.88 KiB (1%) 15
["pushforward", (10, 10), "ForwardDiffBackend{fallback}()"] 626.733 ns (5%) 1.22 KiB (1%) 7
["value_and_derivative", (1, 1), "EnzymeForwardBackend{custom}()"] 26.693 ns (5%)
["value_and_derivative", (1, 1), "EnzymeForwardBackend{fallback}()"] 29.643 ns (5%)
["value_and_derivative", (1, 1), "EnzymeReverseBackend{custom}()"] 32.717 ns (5%)
["value_and_derivative", (1, 1), "EnzymeReverseBackend{fallback}()"] 29.633 ns (5%)
["value_and_derivative", (1, 1), "FiniteDiffBackend{custom,Val{:central}}()"] 41.703 ns (5%)
["value_and_derivative", (1, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 22.935 ns (5%)
["value_and_derivative", (1, 1), "ForwardDiffBackend{custom}()"] 11.624 ns (5%)
["value_and_derivative", (1, 1), "ForwardDiffBackend{fallback}()"] 11.945 ns (5%)
["value_and_derivative", (1, 1), "PolyesterForwardDiffBackend{custom,4}()"] 11.954 ns (5%)
["value_and_derivative", (1, 1), "ZygoteBackend{custom}()"] 3.939 μs (5%) 1.14 KiB (1%) 40
["value_and_derivative", (1, 1), "ZygoteBackend{fallback}()"] 3.940 μs (5%) 1.14 KiB (1%) 40
["value_and_gradient!", (10, 1), "EnzymeForwardBackend{custom}()"] 891.673 ns (5%) 1.41 KiB (1%) 10
["value_and_gradient!", (10, 1), "EnzymeForwardBackend{fallback}()"] 838.197 ns (5%) 1.41 KiB (1%) 10
["value_and_gradient!", (10, 1), "EnzymeReverseBackend{custom}()"] 104.853 ns (5%)
["value_and_gradient!", (10, 1), "EnzymeReverseBackend{fallback}()"] 119.659 ns (5%)
["value_and_gradient!", (10, 1), "FiniteDiffBackend{custom,Val{:central}}()"] 535.873 ns (5%) 144 bytes (1%) 1
["value_and_gradient!", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.586 μs (5%) 2.81 KiB (1%) 20
["value_and_gradient!", (10, 1), "ForwardDiffBackend{custom}()"] 645.672 ns (5%) 1.84 KiB (1%) 4
["value_and_gradient!", (10, 1), "ForwardDiffBackend{fallback}()"] 840.231 ns (5%) 2.19 KiB (1%) 10
["value_and_gradient!", (10, 1), "PolyesterForwardDiffBackend{custom,4}()"] 284.859 ns (5%) 512 bytes (1%) 2
["value_and_gradient!", (10, 1), "ReverseDiffBackend{custom}()"] 513.593 ns (5%) 1.22 KiB (1%) 18
["value_and_gradient!", (10, 1), "ReverseDiffBackend{fallback}()"] 537.136 ns (5%) 1.25 KiB (1%) 19
["value_and_gradient!", (10, 1), "ZygoteBackend{custom}()"] 186.018 ns (5%) 576 bytes (1%) 6
["value_and_gradient!", (10, 1), "ZygoteBackend{fallback}()"] 4.894 μs (5%) 1.44 KiB (1%) 40
["value_and_gradient", (10, 1), "EnzymeForwardBackend{custom}()"] 923.794 ns (5%) 1.55 KiB (1%) 11
["value_and_gradient", (10, 1), "EnzymeForwardBackend{fallback}()"] 869.440 ns (5%) 1.55 KiB (1%) 11
["value_and_gradient", (10, 1), "EnzymeReverseBackend{custom}()"] 135.604 ns (5%) 144 bytes (1%) 1
["value_and_gradient", (10, 1), "EnzymeReverseBackend{fallback}()"] 139.379 ns (5%) 144 bytes (1%) 1
["value_and_gradient", (10, 1), "FiniteDiffBackend{custom,Val{:central}}()"] 1.371 μs (5%) 400 bytes (1%) 6
["value_and_gradient", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.619 μs (5%) 2.95 KiB (1%) 21
["value_and_gradient", (10, 1), "ForwardDiffBackend{custom}()"] 718.013 ns (5%) 2.03 KiB (1%) 7
["value_and_gradient", (10, 1), "ForwardDiffBackend{fallback}()"] 854.159 ns (5%) 2.33 KiB (1%) 11
["value_and_gradient", (10, 1), "PolyesterForwardDiffBackend{custom,4}()"] 319.626 ns (5%) 656 bytes (1%) 3
["value_and_gradient", (10, 1), "ReverseDiffBackend{custom}()"] 547.728 ns (5%) 1.36 KiB (1%) 19
["value_and_gradient", (10, 1), "ReverseDiffBackend{fallback}()"] 571.661 ns (5%) 1.39 KiB (1%) 20
["value_and_gradient", (10, 1), "ZygoteBackend{custom}()"] 172.548 ns (5%) 576 bytes (1%) 6
["value_and_gradient", (10, 1), "ZygoteBackend{fallback}()"] 4.906 μs (5%) 1.58 KiB (1%) 41
["value_and_jacobian!", (10, 10), "EnzymeForwardBackend{custom}()"] 5.856 μs (5%) 7.31 KiB (1%) 52
["value_and_jacobian!", (10, 10), "EnzymeForwardBackend{fallback}()"] 5.736 μs (5%) 7.31 KiB (1%) 52
["value_and_jacobian!", (10, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 10.780 μs (5%) 19.34 KiB (1%) 202
["value_and_jacobian!", (10, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 10.089 μs (5%) 14.81 KiB (1%) 122
["value_and_jacobian!", (10, 10), "ForwardDiffBackend{custom}()"] 1.375 μs (5%) 4.09 KiB (1%) 8
["value_and_jacobian!", (10, 10), "ForwardDiffBackend{fallback}()"] 3.863 μs (5%) 8.25 KiB (1%) 42
["value_and_jacobian!", (10, 10), "PolyesterForwardDiffBackend{custom,4}()"] 1.545 μs (5%) 3.67 KiB (1%) 9
["value_and_jacobian!", (10, 10), "ReverseDiffBackend{custom}()"] 13.224 μs (5%) 6.95 KiB (1%) 91
["value_and_jacobian!", (10, 10), "ReverseDiffBackend{fallback}()"] 132.619 μs (5%) 77.47 KiB (1%) 922
["value_and_jacobian!", (10, 10), "ZygoteBackend{custom}()"] 123.331 μs (5%) 42.03 KiB (1%) 951
["value_and_jacobian!", (10, 10), "ZygoteBackend{fallback}()"] 52.669 μs (5%) 29.03 KiB (1%) 462
["value_and_jacobian", (10, 10), "EnzymeForwardBackend{custom}()"] 3.359 μs (5%) 9.89 KiB (1%) 47
["value_and_jacobian", (10, 10), "EnzymeForwardBackend{fallback}()"] 5.973 μs (5%) 8.47 KiB (1%) 55
["value_and_jacobian", (10, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 9.778 μs (5%) 19.36 KiB (1%) 202
["value_and_jacobian", (10, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 10.550 μs (5%) 15.97 KiB (1%) 125
["value_and_jacobian", (10, 10), "ForwardDiffBackend{custom}()"] 1.549 μs (5%) 5.00 KiB (1%) 10
["value_and_jacobian", (10, 10), "ForwardDiffBackend{fallback}()"] 4.420 μs (5%) 9.41 KiB (1%) 45
["value_and_jacobian", (10, 10), "PolyesterForwardDiffBackend{custom,4}()"] 1.996 μs (5%) 4.83 KiB (1%) 12
["value_and_jacobian", (10, 10), "ReverseDiffBackend{custom}()"] 13.165 μs (5%) 7.86 KiB (1%) 93
["value_and_jacobian", (10, 10), "ReverseDiffBackend{fallback}()"] 131.817 μs (5%) 78.62 KiB (1%) 925
["value_and_jacobian", (10, 10), "ZygoteBackend{custom}()"] 122.389 μs (5%) 42.05 KiB (1%) 951
["value_and_jacobian", (10, 10), "ZygoteBackend{fallback}()"] 51.216 μs (5%) 30.19 KiB (1%) 465
["value_and_multiderivative!", (1, 10), "EnzymeForwardBackend{custom}()"] 363.110 ns (5%) 288 bytes (1%) 2
["value_and_multiderivative!", (1, 10), "EnzymeForwardBackend{fallback}()"] 378.024 ns (5%) 288 bytes (1%) 2
["value_and_multiderivative!", (1, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 621.749 ns (5%) 768 bytes (1%) 7
["value_and_multiderivative!", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 633.351 ns (5%) 768 bytes (1%) 7
["value_and_multiderivative!", (1, 10), "ForwardDiffBackend{custom}()"] 263.970 ns (5%) 368 bytes (1%) 2
["value_and_multiderivative!", (1, 10), "ForwardDiffBackend{fallback}()"] 169.131 ns (5%) 368 bytes (1%) 2
["value_and_multiderivative!", (1, 10), "PolyesterForwardDiffBackend{custom,4}()"] 175.566 ns (5%) 368 bytes (1%) 2
["value_and_multiderivative!", (1, 10), "ZygoteBackend{custom}()"] 48.521 μs (5%) 19.98 KiB (1%) 481
["value_and_multiderivative!", (1, 10), "ZygoteBackend{fallback}()"] 48.400 μs (5%) 19.98 KiB (1%) 481
["value_and_multiderivative", (1, 10), "EnzymeForwardBackend{custom}()"] 498.974 ns (5%) 576 bytes (1%) 4
["value_and_multiderivative", (1, 10), "EnzymeForwardBackend{fallback}()"] 520.398 ns (5%) 576 bytes (1%) 4
["value_and_multiderivative", (1, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 1.284 μs (5%) 1.12 KiB (1%) 13
["value_and_multiderivative", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 809.667 ns (5%) 1.03 KiB (1%) 9
["value_and_multiderivative", (1, 10), "ForwardDiffBackend{custom}()"] 294.724 ns (5%) 512 bytes (1%) 3
["value_and_multiderivative", (1, 10), "ForwardDiffBackend{fallback}()"] 304.230 ns (5%) 656 bytes (1%) 4
["value_and_multiderivative", (1, 10), "PolyesterForwardDiffBackend{custom,4}()"] 326.826 ns (5%) 656 bytes (1%) 4
["value_and_multiderivative", (1, 10), "ZygoteBackend{custom}()"] 49.442 μs (5%) 20.27 KiB (1%) 483
["value_and_multiderivative", (1, 10), "ZygoteBackend{fallback}()"] 49.383 μs (5%) 20.27 KiB (1%) 483
["value_and_pullback!", (1, 1), "EnzymeReverseBackend{fallback}()"] 33.335 ns (5%)
["value_and_pullback!", (1, 1), "ZygoteBackend{fallback}()"] 3.930 μs (5%) 1.14 KiB (1%) 40
["value_and_pullback!", (1, 10), "ZygoteBackend{fallback}()"] 4.808 μs (5%) 1.88 KiB (1%) 45
["value_and_pullback!", (10, 1), "EnzymeReverseBackend{fallback}()"] 92.529 ns (5%)
["value_and_pullback!", (10, 1), "ReverseDiffBackend{fallback}()"] 518.104 ns (5%) 1.25 KiB (1%) 19
["value_and_pullback!", (10, 1), "ZygoteBackend{fallback}()"] 4.823 μs (5%) 1.39 KiB (1%) 38
["value_and_pullback!", (10, 10), "ReverseDiffBackend{fallback}()"] 13.295 μs (5%) 7.72 KiB (1%) 92
["value_and_pullback!", (10, 10), "ZygoteBackend{fallback}()"] 4.883 μs (5%) 2.66 KiB (1%) 42
["value_and_pullback", (1, 1), "EnzymeReverseBackend{fallback}()"] 33.335 ns (5%)
["value_and_pullback", (1, 1), "ZygoteBackend{fallback}()"] 3.902 μs (5%) 1.12 KiB (1%) 39
["value_and_pullback", (1, 10), "ZygoteBackend{fallback}()"] 4.783 μs (5%) 1.86 KiB (1%) 44
["value_and_pullback", (10, 1), "EnzymeReverseBackend{fallback}()"] 115.915 ns (5%) 144 bytes (1%) 1
["value_and_pullback", (10, 1), "ReverseDiffBackend{fallback}()"] 529.508 ns (5%) 1.39 KiB (1%) 20
["value_and_pullback", (10, 1), "ZygoteBackend{fallback}()"] 4.778 μs (5%) 1.39 KiB (1%) 38
["value_and_pullback", (10, 10), "ReverseDiffBackend{fallback}()"] 13.345 μs (5%) 7.86 KiB (1%) 93
["value_and_pullback", (10, 10), "ZygoteBackend{fallback}()"] 4.831 μs (5%) 2.66 KiB (1%) 42
["value_and_pushforward!", (1, 1), "EnzymeForwardBackend{fallback}()"] 25.016 ns (5%)
["value_and_pushforward!", (1, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 23.478 ns (5%)
["value_and_pushforward!", (1, 1), "ForwardDiffBackend{fallback}()"] 12.165 ns (5%)
["value_and_pushforward!", (1, 10), "EnzymeForwardBackend{fallback}()"] 350.654 ns (5%) 288 bytes (1%) 2
["value_and_pushforward!", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 643.827 ns (5%) 768 bytes (1%) 7
["value_and_pushforward!", (1, 10), "ForwardDiffBackend{fallback}()"] 178.428 ns (5%) 368 bytes (1%) 2
["value_and_pushforward!", (10, 1), "EnzymeForwardBackend{fallback}()"] 49.982 ns (5%)
["value_and_pushforward!", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 163.822 ns (5%) 288 bytes (1%) 2
["value_and_pushforward!", (10, 1), "ForwardDiffBackend{fallback}()"] 86.774 ns (5%) 224 bytes (1%) 1
["value_and_pushforward!", (10, 10), "EnzymeForwardBackend{fallback}()"] 532.942 ns (5%) 576 bytes (1%) 4
["value_and_pushforward!", (10, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 999.000 ns (5%) 1.45 KiB (1%) 12
["value_and_pushforward!", (10, 10), "ForwardDiffBackend{fallback}()"] 368.654 ns (5%) 816 bytes (1%) 4
["value_and_pushforward", (1, 1), "EnzymeForwardBackend{fallback}()"] 25.148 ns (5%)
["value_and_pushforward", (1, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 23.377 ns (5%)
["value_and_pushforward", (1, 1), "ForwardDiffBackend{fallback}()"] 12.054 ns (5%)
["value_and_pushforward", (1, 10), "EnzymeForwardBackend{fallback}()"] 484.241 ns (5%) 576 bytes (1%) 4
["value_and_pushforward", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 820.440 ns (5%) 1.03 KiB (1%) 9
["value_and_pushforward", (1, 10), "ForwardDiffBackend{fallback}()"] 328.513 ns (5%) 656 bytes (1%) 4
["value_and_pushforward", (10, 1), "EnzymeForwardBackend{fallback}()"] 59.225 ns (5%)
["value_and_pushforward", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 183.417 ns (5%) 288 bytes (1%) 2
["value_and_pushforward", (10, 1), "ForwardDiffBackend{fallback}()"] 90.960 ns (5%) 224 bytes (1%) 1
["value_and_pushforward", (10, 10), "EnzymeForwardBackend{fallback}()"] 761.165 ns (5%) 1008 bytes (1%) 7
["value_and_pushforward", (10, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.245 μs (5%) 1.88 KiB (1%) 15
["value_and_pushforward", (10, 10), "ForwardDiffBackend{fallback}()"] 610.698 ns (5%) 1.22 KiB (1%) 7

Benchmark Group List

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

  • ["derivative", (1, 1)]
  • ["gradient!", (10, 1)]
  • ["gradient", (10, 1)]
  • ["jacobian!", (10, 10)]
  • ["jacobian", (10, 10)]
  • ["multiderivative!", (1, 10)]
  • ["multiderivative", (1, 10)]
  • ["pullback!", (1, 1)]
  • ["pullback!", (1, 10)]
  • ["pullback!", (10, 1)]
  • ["pullback!", (10, 10)]
  • ["pullback", (1, 1)]
  • ["pullback", (1, 10)]
  • ["pullback", (10, 1)]
  • ["pullback", (10, 10)]
  • ["pushforward!", (1, 1)]
  • ["pushforward!", (1, 10)]
  • ["pushforward!", (10, 1)]
  • ["pushforward!", (10, 10)]
  • ["pushforward", (1, 1)]
  • ["pushforward", (1, 10)]
  • ["pushforward", (10, 1)]
  • ["pushforward", (10, 10)]
  • ["value_and_derivative", (1, 1)]
  • ["value_and_gradient!", (10, 1)]
  • ["value_and_gradient", (10, 1)]
  • ["value_and_jacobian!", (10, 10)]
  • ["value_and_jacobian", (10, 10)]
  • ["value_and_multiderivative!", (1, 10)]
  • ["value_and_multiderivative", (1, 10)]
  • ["value_and_pullback!", (1, 1)]
  • ["value_and_pullback!", (1, 10)]
  • ["value_and_pullback!", (10, 1)]
  • ["value_and_pullback!", (10, 10)]
  • ["value_and_pullback", (1, 1)]
  • ["value_and_pullback", (1, 10)]
  • ["value_and_pullback", (10, 1)]
  • ["value_and_pullback", (10, 10)]
  • ["value_and_pushforward!", (1, 1)]
  • ["value_and_pushforward!", (1, 10)]
  • ["value_and_pushforward!", (10, 1)]
  • ["value_and_pushforward!", (10, 10)]
  • ["value_and_pushforward", (1, 1)]
  • ["value_and_pushforward", (1, 10)]
  • ["value_and_pushforward", (10, 1)]
  • ["value_and_pushforward", (10, 10)]

Julia versioninfo

Julia Version 1.10.2
Commit bd47eca2c8a (2024-03-01 10:14 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.4 LTS
  uname: Linux 6.5.0-1015-azure #15~22.04.1-Ubuntu SMP Tue Feb 13 01:15:12 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  3243 MHz       2776 s          0 s        172 s       4760 s          0 s
       #2  3247 MHz       3621 s          0 s        146 s       3942 s          0 s
       #3  2445 MHz       2984 s          0 s        171 s       4544 s          0 s
       #4  2445 MHz       2346 s          0 s        168 s       5192 s          0 s
  Memory: 15.606491088867188 GB (13988.625 MB free)
  Uptime: 774.57 sec
  Load Avg:  1.0  1.25  1.0
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 8 Mar 2024 - 12:17
  • Package commit: 47e26e
  • Julia commit: bd47ec
  • Julia command flags: None
  • Environment variables: None

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["value_and_derivative", (1, 1), "EnzymeForwardBackend{custom}()"] 25.626 ns (5%)
["value_and_derivative", (1, 1), "EnzymeForwardBackend{fallback}()"] 25.334 ns (5%)
["value_and_derivative", (1, 1), "EnzymeReverseBackend{custom}()"] 25.934 ns (5%)
["value_and_derivative", (1, 1), "EnzymeReverseBackend{fallback}()"] 25.928 ns (5%)
["value_and_derivative", (1, 1), "FiniteDiffBackend{custom,Val{:central}}()"] 30.663 ns (5%)
["value_and_derivative", (1, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 22.814 ns (5%)
["value_and_derivative", (1, 1), "ForwardDiffBackend{custom}()"] 11.734 ns (5%)
["value_and_derivative", (1, 1), "ForwardDiffBackend{fallback}()"] 7.401 ns (5%)
["value_and_derivative", (1, 1), "PolyesterForwardDiffBackend{custom,4}()"] 7.572 ns (5%)
["value_and_derivative", (1, 1), "ZygoteBackend{custom}()"] 3.899 μs (5%) 1.14 KiB (1%) 40
["value_and_derivative", (1, 1), "ZygoteBackend{fallback}()"] 3.885 μs (5%) 1.14 KiB (1%) 40
["value_and_gradient!", (10, 1), "EnzymeForwardBackend{custom}()"] 820.306 ns (5%) 1.41 KiB (1%) 10
["value_and_gradient!", (10, 1), "EnzymeForwardBackend{fallback}()"] 826.479 ns (5%) 1.41 KiB (1%) 10
["value_and_gradient!", (10, 1), "EnzymeReverseBackend{custom}()"] 92.550 ns (5%)
["value_and_gradient!", (10, 1), "EnzymeReverseBackend{fallback}()"] 91.942 ns (5%)
["value_and_gradient!", (10, 1), "FiniteDiffBackend{custom,Val{:central}}()"] 416.757 ns (5%) 144 bytes (1%) 1
["value_and_gradient!", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.423 μs (5%) 2.81 KiB (1%) 20
["value_and_gradient!", (10, 1), "ForwardDiffBackend{custom}()"] 697.280 ns (5%) 1.84 KiB (1%) 4
["value_and_gradient!", (10, 1), "ForwardDiffBackend{fallback}()"] 864.221 ns (5%) 2.19 KiB (1%) 10
["value_and_gradient!", (10, 1), "PolyesterForwardDiffBackend{custom,4}()"] 274.844 ns (5%) 512 bytes (1%) 2
["value_and_gradient!", (10, 1), "ReverseDiffBackend{custom}()"] 482.608 ns (5%) 1.22 KiB (1%) 18
["value_and_gradient!", (10, 1), "ReverseDiffBackend{fallback}()"] 479.539 ns (5%) 1.25 KiB (1%) 19
["value_and_gradient!", (10, 1), "ZygoteBackend{custom}()"] 188.680 ns (5%) 576 bytes (1%) 6
["value_and_gradient!", (10, 1), "ZygoteBackend{fallback}()"] 4.030 μs (5%) 1.39 KiB (1%) 38
["value_and_gradient", (10, 1), "EnzymeForwardBackend{custom}()"] 959.765 ns (5%) 1.55 KiB (1%) 11
["value_and_gradient", (10, 1), "EnzymeForwardBackend{fallback}()"] 848.380 ns (5%) 1.55 KiB (1%) 11
["value_and_gradient", (10, 1), "EnzymeReverseBackend{custom}()"] 120.042 ns (5%) 144 bytes (1%) 1
["value_and_gradient", (10, 1), "EnzymeReverseBackend{fallback}()"] 131.617 ns (5%) 144 bytes (1%) 1
["value_and_gradient", (10, 1), "FiniteDiffBackend{custom,Val{:central}}()"] 1.237 μs (5%) 400 bytes (1%) 6
["value_and_gradient", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.413 μs (5%) 2.95 KiB (1%) 21
["value_and_gradient", (10, 1), "ForwardDiffBackend{custom}()"] 618.013 ns (5%) 2.03 KiB (1%) 7
["value_and_gradient", (10, 1), "ForwardDiffBackend{fallback}()"] 774.256 ns (5%) 2.33 KiB (1%) 11
["value_and_gradient", (10, 1), "PolyesterForwardDiffBackend{custom,4}()"] 331.280 ns (5%) 656 bytes (1%) 3
["value_and_gradient", (10, 1), "ReverseDiffBackend{custom}()"] 514.052 ns (5%) 1.36 KiB (1%) 19
["value_and_gradient", (10, 1), "ReverseDiffBackend{fallback}()"] 514.618 ns (5%) 1.39 KiB (1%) 20
["value_and_gradient", (10, 1), "ZygoteBackend{custom}()"] 164.094 ns (5%) 576 bytes (1%) 6
["value_and_gradient", (10, 1), "ZygoteBackend{fallback}()"] 11.964 μs (5%) 1.53 KiB (1%) 39
["value_and_jacobian!", (10, 10), "EnzymeForwardBackend{custom}()"] 5.777 μs (5%) 7.31 KiB (1%) 52
["value_and_jacobian!", (10, 10), "EnzymeForwardBackend{fallback}()"] 5.846 μs (5%) 7.31 KiB (1%) 52
["value_and_jacobian!", (10, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 9.999 μs (5%) 19.34 KiB (1%) 202
["value_and_jacobian!", (10, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 10.219 μs (5%) 14.81 KiB (1%) 122
["value_and_jacobian!", (10, 10), "ForwardDiffBackend{custom}()"] 3.057 μs (5%) 4.09 KiB (1%) 8
["value_and_jacobian!", (10, 10), "ForwardDiffBackend{fallback}()"] 4.005 μs (5%) 8.25 KiB (1%) 42
["value_and_jacobian!", (10, 10), "PolyesterForwardDiffBackend{custom,4}()"] 1.810 μs (5%) 3.67 KiB (1%) 9
["value_and_jacobian!", (10, 10), "ReverseDiffBackend{custom}()"] 12.343 μs (5%) 6.95 KiB (1%) 91
["value_and_jacobian!", (10, 10), "ReverseDiffBackend{fallback}()"] 123.181 μs (5%) 77.47 KiB (1%) 922
["value_and_jacobian!", (10, 10), "ZygoteBackend{custom}()"] 303.839 μs (5%) 42.03 KiB (1%) 951
["value_and_jacobian!", (10, 10), "ZygoteBackend{fallback}()"] 48.040 μs (5%) 29.03 KiB (1%) 462
["value_and_jacobian", (10, 10), "EnzymeForwardBackend{custom}()"] 6.274 μs (5%) 9.89 KiB (1%) 47
["value_and_jacobian", (10, 10), "EnzymeForwardBackend{fallback}()"] 6.098 μs (5%) 8.47 KiB (1%) 55
["value_and_jacobian", (10, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 9.959 μs (5%) 19.36 KiB (1%) 202
["value_and_jacobian", (10, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 10.390 μs (5%) 15.97 KiB (1%) 125
["value_and_jacobian", (10, 10), "ForwardDiffBackend{custom}()"] 1.817 μs (5%) 5.00 KiB (1%) 10
["value_and_jacobian", (10, 10), "ForwardDiffBackend{fallback}()"] 4.078 μs (5%) 9.41 KiB (1%) 45
["value_and_jacobian", (10, 10), "PolyesterForwardDiffBackend{custom,4}()"] 1.987 μs (5%) 4.83 KiB (1%) 12
["value_and_jacobian", (10, 10), "ReverseDiffBackend{custom}()"] 12.653 μs (5%) 7.86 KiB (1%) 93
["value_and_jacobian", (10, 10), "ReverseDiffBackend{fallback}()"] 126.397 μs (5%) 78.62 KiB (1%) 925
["value_and_jacobian", (10, 10), "ZygoteBackend{custom}()"] 126.727 μs (5%) 42.05 KiB (1%) 951
["value_and_jacobian", (10, 10), "ZygoteBackend{fallback}()"] 52.679 μs (5%) 30.19 KiB (1%) 465
["value_and_multiderivative!", (1, 10), "EnzymeForwardBackend{custom}()"] 341.881 ns (5%) 288 bytes (1%) 2
["value_and_multiderivative!", (1, 10), "EnzymeForwardBackend{fallback}()"] 342.541 ns (5%) 288 bytes (1%) 2
["value_and_multiderivative!", (1, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 587.942 ns (5%) 768 bytes (1%) 7
["value_and_multiderivative!", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 595.152 ns (5%) 768 bytes (1%) 7
["value_and_multiderivative!", (1, 10), "ForwardDiffBackend{custom}()"] 243.093 ns (5%) 368 bytes (1%) 2
["value_and_multiderivative!", (1, 10), "ForwardDiffBackend{fallback}()"] 165.774 ns (5%) 368 bytes (1%) 2
["value_and_multiderivative!", (1, 10), "PolyesterForwardDiffBackend{custom,4}()"] 167.016 ns (5%) 368 bytes (1%) 2
["value_and_multiderivative!", (1, 10), "ZygoteBackend{custom}()"] 46.307 μs (5%) 19.98 KiB (1%) 481
["value_and_multiderivative!", (1, 10), "ZygoteBackend{fallback}()"] 46.718 μs (5%) 19.98 KiB (1%) 481
["value_and_multiderivative", (1, 10), "EnzymeForwardBackend{custom}()"] 473.263 ns (5%) 576 bytes (1%) 4
["value_and_multiderivative", (1, 10), "EnzymeForwardBackend{fallback}()"] 477.812 ns (5%) 576 bytes (1%) 4
["value_and_multiderivative", (1, 10), "FiniteDiffBackend{custom,Val{:central}}()"] 1.207 μs (5%) 1.12 KiB (1%) 13
["value_and_multiderivative", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 725.343 ns (5%) 1.03 KiB (1%) 9
["value_and_multiderivative", (1, 10), "ForwardDiffBackend{custom}()"] 278.834 ns (5%) 512 bytes (1%) 3
["value_and_multiderivative", (1, 10), "ForwardDiffBackend{fallback}()"] 325.747 ns (5%) 656 bytes (1%) 4
["value_and_multiderivative", (1, 10), "PolyesterForwardDiffBackend{custom,4}()"] 302.826 ns (5%) 656 bytes (1%) 4
["value_and_multiderivative", (1, 10), "ZygoteBackend{custom}()"] 46.357 μs (5%) 20.27 KiB (1%) 483
["value_and_multiderivative", (1, 10), "ZygoteBackend{fallback}()"] 46.326 μs (5%) 20.27 KiB (1%) 483
["value_and_pullback!", (1, 10), "ZygoteBackend{fallback}()"] 4.496 μs (5%) 1.88 KiB (1%) 45
["value_and_pullback!", (10, 1), "EnzymeReverseBackend{fallback}()"] 83.622 ns (5%)
["value_and_pullback!", (10, 1), "ReverseDiffBackend{fallback}()"] 490.870 ns (5%) 1.25 KiB (1%) 19
["value_and_pullback!", (10, 1), "ZygoteBackend{fallback}()"] 4.036 μs (5%) 1.39 KiB (1%) 38
["value_and_pullback!", (10, 10), "ReverseDiffBackend{fallback}()"] 12.353 μs (5%) 7.72 KiB (1%) 92
["value_and_pullback!", (10, 10), "ZygoteBackend{fallback}()"] 5.178 μs (5%) 2.66 KiB (1%) 42
["value_and_pullback", (1, 1), "EnzymeReverseBackend{fallback}()"] 26.253 ns (5%)
["value_and_pullback", (1, 1), "ZygoteBackend{fallback}()"] 3.896 μs (5%) 1.12 KiB (1%) 39
["value_and_pullback", (1, 10), "ZygoteBackend{fallback}()"] 4.474 μs (5%) 1.86 KiB (1%) 44
["value_and_pullback", (10, 1), "EnzymeReverseBackend{fallback}()"] 114.343 ns (5%) 144 bytes (1%) 1
["value_and_pullback", (10, 1), "ReverseDiffBackend{fallback}()"] 508.889 ns (5%) 1.39 KiB (1%) 20
["value_and_pullback", (10, 1), "ZygoteBackend{fallback}()"] 4.010 μs (5%) 1.39 KiB (1%) 38
["value_and_pullback", (10, 10), "ReverseDiffBackend{fallback}()"] 12.293 μs (5%) 7.86 KiB (1%) 93
["value_and_pullback", (10, 10), "ZygoteBackend{fallback}()"] 5.118 μs (5%) 2.66 KiB (1%) 42
["value_and_pushforward!", (1, 10), "EnzymeForwardBackend{fallback}()"] 342.561 ns (5%) 288 bytes (1%) 2
["value_and_pushforward!", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 597.190 ns (5%) 768 bytes (1%) 7
["value_and_pushforward!", (1, 10), "ForwardDiffBackend{fallback}()"] 174.206 ns (5%) 368 bytes (1%) 2
["value_and_pushforward!", (10, 1), "EnzymeForwardBackend{fallback}()"] 38.938 ns (5%)
["value_and_pushforward!", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 144.725 ns (5%) 288 bytes (1%) 2
["value_and_pushforward!", (10, 1), "ForwardDiffBackend{fallback}()"] 89.152 ns (5%) 224 bytes (1%) 1
["value_and_pushforward!", (10, 10), "EnzymeForwardBackend{fallback}()"] 517.547 ns (5%) 576 bytes (1%) 4
["value_and_pushforward!", (10, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 978.286 ns (5%) 1.45 KiB (1%) 12
["value_and_pushforward!", (10, 10), "ForwardDiffBackend{fallback}()"] 361.863 ns (5%) 816 bytes (1%) 4
["value_and_pushforward", (1, 1), "EnzymeForwardBackend{fallback}()"] 25.308 ns (5%)
["value_and_pushforward", (1, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 50.164 ns (5%) 80 bytes (1%) 3
["value_and_pushforward", (1, 1), "ForwardDiffBackend{fallback}()"] 7.421 ns (5%)
["value_and_pushforward", (1, 10), "EnzymeForwardBackend{fallback}()"] 476.590 ns (5%) 576 bytes (1%) 4
["value_and_pushforward", (1, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 761.530 ns (5%) 1.03 KiB (1%) 9
["value_and_pushforward", (1, 10), "ForwardDiffBackend{fallback}()"] 302.189 ns (5%) 656 bytes (1%) 4
["value_and_pushforward", (10, 1), "EnzymeForwardBackend{fallback}()"] 57.398 ns (5%)
["value_and_pushforward", (10, 1), "FiniteDiffBackend{fallback,Val{:central}}()"] 169.752 ns (5%) 288 bytes (1%) 2
["value_and_pushforward", (10, 1), "ForwardDiffBackend{fallback}()"] 90.221 ns (5%) 224 bytes (1%) 1
["value_and_pushforward", (10, 10), "EnzymeForwardBackend{fallback}()"] 980.017 ns (5%) 1008 bytes (1%) 7
["value_and_pushforward", (10, 10), "FiniteDiffBackend{fallback,Val{:central}}()"] 1.214 μs (5%) 1.88 KiB (1%) 15
["value_and_pushforward", (10, 10), "ForwardDiffBackend{fallback}()"] 597.989 ns (5%) 1.22 KiB (1%) 7

Benchmark Group List

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

  • ["value_and_derivative", (1, 1)]
  • ["value_and_gradient!", (10, 1)]
  • ["value_and_gradient", (10, 1)]
  • ["value_and_jacobian!", (10, 10)]
  • ["value_and_jacobian", (10, 10)]
  • ["value_and_multiderivative!", (1, 10)]
  • ["value_and_multiderivative", (1, 10)]
  • ["value_and_pullback!", (1, 10)]
  • ["value_and_pullback!", (10, 1)]
  • ["value_and_pullback!", (10, 10)]
  • ["value_and_pullback", (1, 1)]
  • ["value_and_pullback", (1, 10)]
  • ["value_and_pullback", (10, 1)]
  • ["value_and_pullback", (10, 10)]
  • ["value_and_pushforward!", (1, 10)]
  • ["value_and_pushforward!", (10, 1)]
  • ["value_and_pushforward!", (10, 10)]
  • ["value_and_pushforward", (1, 1)]
  • ["value_and_pushforward", (1, 10)]
  • ["value_and_pushforward", (10, 1)]
  • ["value_and_pushforward", (10, 10)]

Julia versioninfo

Julia Version 1.10.2
Commit bd47eca2c8a (2024-03-01 10:14 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.4 LTS
  uname: Linux 6.5.0-1015-azure #15~22.04.1-Ubuntu SMP Tue Feb 13 01:15:12 UTC 2024 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1  3244 MHz       2825 s          0 s        189 s       6167 s          0 s
       #2  2445 MHz       3649 s          0 s        156 s       5377 s          0 s
       #3  2833 MHz       3528 s          0 s        183 s       5462 s          0 s
       #4  2551 MHz       3194 s          0 s        183 s       5804 s          0 s
  Memory: 15.606491088867188 GB (13958.5546875 MB free)
  Uptime: 922.29 sec
  Load Avg:  1.0  1.16  1.0
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Runtime information

Runtime Info
BLAS #threads 2
BLAS.vendor() lbt
Sys.CPU_THREADS 4

lscpu output:

Architecture:                       x86_64
CPU op-mode(s):                     32-bit, 64-bit
Address sizes:                      48 bits physical, 48 bits virtual
Byte Order:                         Little Endian
CPU(s):                             4
On-line CPU(s) list:                0-3
Vendor ID:                          AuthenticAMD
Model name:                         AMD EPYC 7763 64-Core Processor
CPU family:                         25
Model:                              1
Thread(s) per core:                 2
Core(s) per socket:                 2
Socket(s):                          1
Stepping:                           1
BogoMIPS:                           4890.86
Flags:                              fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext invpcid_single vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr rdpru arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip vaes vpclmulqdq rdpid fsrm
Virtualization:                     AMD-V
Hypervisor vendor:                  Microsoft
Virtualization type:                full
L1d cache:                          64 KiB (2 instances)
L1i cache:                          64 KiB (2 instances)
L2 cache:                           1 MiB (2 instances)
L3 cache:                           32 MiB (1 instance)
NUMA node(s):                       1
NUMA node0 CPU(s):                  0-3
Vulnerability Gather data sampling: Not affected
Vulnerability Itlb multihit:        Not affected
Vulnerability L1tf:                 Not affected
Vulnerability Mds:                  Not affected
Vulnerability Meltdown:             Not affected
Vulnerability Mmio stale data:      Not affected
Vulnerability Retbleed:             Not affected
Vulnerability Spec rstack overflow: 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 83d3701 into main Mar 8, 2024
3 checks passed
@gdalle gdalle deleted the gd/novalue branch March 8, 2024 13:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants