Files
tfhe-rs/ci/regression.toml
2025-11-19 11:51:02 +01:00

110 lines
3.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.
#
# > parameters_filter: a parameters' set name pattern to filter against when performing data extraction
#
# > env.<variable_name>: environment variable that will be used to alter benchmark execution environment
# 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 = [
"add",
"mul",
"div_rem",
"bitand",
"bitnot",
"left_shift",
"rotate_left",
"max",
"eq",
"gt",
"if_then_else",
"neg",
"leading_zeros",
"ilog2",
]
target.hlapi-dex = [
"swap_request::whitepaper",
"swap_request::no_cmux",
"swap_claim::whitepaper",
"swap_claim::no_cmux"
]
target.hlapi-erc20 = ["transfer::whitepaper", "transfer::no_cmux"]
target.core_crypto-ks = ["keyswitch"]
target.core_crypto-pbs = ["multi_bit_pbs"]
parameters_filter = "PARAM_GPU_MULTI_BIT_GROUP_4_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128"
slab.backend = "hyperstack"
slab.profile = "multi-h100-sxm5"
env.fast_bench = "TRUE"
env.bench_param_type = "MULTI_BIT"
[cpu.default]
target.integer = [
"add_parallelized",
"mul_parallelized",
"div_rem_parallelized",
"bitand_parallelized",
"bitnot",
"left_shift_parallelized",
"rotate_left_parallelized",
"max_parallelized",
"eq_parallelized",
"gt_parallelized",
"if_then_else_parallelized",
"flip_parallelized",
"neg_parallelized",
"leading_zeros_parallelized",
"ilog2_parallelized",
]
target.hlapi-dex = [
"swap_request::whitepaper",
"swap_request::no_cmux",
"swap_claim::whitepaper",
"swap_claim::no_cmux"
]
target.hlapi-erc20 = ["transfer::whitepaper", "transfer::no_cmux"]
target.shortint = ["bitand"]
target.core_crypto-ks = ["keyswitch"]
target.core_crypto-pbs = [ "pbs_mem_optimized"]
parameters_filter = "PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128"
slab.backend = "aws"
slab.profile = "bench"
env.fast_bench = "TRUE"