Files
tfhe-rs/ci/regression.toml
David Testé 206553e9ee chore(ci): check for performance regression and create report
After running performances regression benchmarks, a performance
changes checking is executed. It will fetch results data with an
external tool then it will look for anomaly in changes.
Finally it will produce a report as an issue comment with any
anomaly display in a Markdown array. A folded section of the
report message contains all the results from the benchmark.

Note that a fully custom benchmark triggered from an issue comment
would not generate a report. In addition HPU performance
regression benchmark is not supported yet.
2025-10-17 15:05:24 +02:00

67 lines
2.1 KiB
TOML

# Benchmark regression profile structure is defined as:
#
# [<tfhe-rs_backend>.<regression_profile_name>]
# target.<target_name> = ["<operation_name>", ]
# env.<variable_name> = "<variable_value>"
# slab.backend = "<provider_name>"
# slab.profile = "<slab_profile_name>"
#
# Each tfhe-rs_backend **must** have one regression_profile_name named `default`.
#
# Details:
# --------
#
# > tfhe-rs_backend: name of the backend to use to run the benchmarks
# Possible values are:
# * cpu
# * gpu
# * hpu
#
# > regression_profile_name: any string (containing only dash or underscore as special chars)
# Each tfhe-rs backend should have a default profile.
#
# > target.<target_name>: list of operations to benchmark on the given tfhe-rs benchmark target
# A profile can have multiple targets.
# Possible values for target_name are listed in tfhe-benchmark/Cargo.toml file under `[[bench]]` section in the
# `name` field.
#
# > env.<variable_name>: environment variable that will be used to alter benchmark execution enviroment
# Possible values for variable_name are (case-insensitive):
# * FAST_BENCH
# * BENCH_OP_FLAVOR
# * BENCH_TYPE
# * BENCH_PARAM_TYPE
# * BENCH_PARAMS_SET
#
# > slab.backend: name of on-demand instance provider
# Possible values are:
# * aws
# * hyperstack
#
# > slab.profile: on-demand instance profile to use for the benchmark
# See ci/slab.toml file to have the list of all supported profiles.
[gpu.default]
target.integer = ["mul"]
target.hlapi-dex = ["dex::swap_claim::no_cmux"]
slab.backend = "hyperstack"
slab.profile = "single-h100"
env.fast_bench = "TRUE"
env.bench_param_type = "MULTI_BIT"
[gpu.multi-h100]
target.integer = ["mul", "div"]
target.hlapi-dex = ["dex_swap"]
slab.backend = "hyperstack"
slab.profile = "multi-h100"
env.fast_bench = "TRUE"
env.bench_param_type = "MULTI_BIT"
[cpu.default]
target.integer = ["add_parallelized"]
target.hlapi-dex = ["dex::swap_claim::no_cmux"]
target.hlapi-erc20 = ["transfer::whitepaper"]
slab.backend = "aws"
slab.profile = "bench"
env.fast_bench = "TRUE"