Skip to content

Commit e08656d

Browse files
committed
chore(bench): enforce bench spec for json output format
1 parent 07e9c5a commit e08656d

38 files changed

+674
-360
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ members = [
1414
"tfhe-fft",
1515
"tfhe-ntt",
1616
"tfhe-zk-pok",
17+
"utils/benchmark_spec",
1718
"utils/param_dedup",
1819
"utils/tfhe-backward-compat-checker",
1920
"utils/tfhe-backward-compat-data",

tfhe-benchmark/Cargo.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,15 @@ tfhe-csprng = { path = "../tfhe-csprng" }
3232
cpu-time = "1.0"
3333
num_cpus = "1.17"
3434
gag = "1.0.0"
35+
benchmark_spec = { version = "0.1.0", path = "../utils/benchmark_spec" }
3536

3637
[features]
3738
default = ["avx512"]
3839
boolean = ["tfhe/boolean"]
3940
shortint = ["tfhe/shortint"]
4041
integer = ["shortint", "tfhe/integer"]
41-
gpu = ["tfhe/gpu"]
42-
hpu = ["tfhe/hpu"]
42+
gpu = ["tfhe/gpu", "benchmark_spec/gpu"]
43+
hpu = ["tfhe/hpu", "benchmark_spec/hpu"]
4344
hpu-v80 = ["tfhe/hpu-v80"]
4445
internal-keycache = ["tfhe/internal-keycache"]
4546
avx512 = ["tfhe/avx512"]

tfhe-benchmark/benches/boolean/bench.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use benchmark::utilities::{write_to_json, CryptoParametersRecord, OperatorType};
1+
use benchmark::utilities::{write_to_json_unchecked, CryptoParametersRecord, OperatorType};
22
use criterion::{black_box, criterion_group, criterion_main, Criterion};
33
use tfhe::boolean::client_key::ClientKey;
44
use tfhe::boolean::parameters::{
@@ -27,7 +27,7 @@ pub fn write_to_json_boolean<T: Into<CryptoParametersRecord<u32>>>(
2727
params_alias: impl Into<String>,
2828
display_name: impl Into<String>,
2929
) {
30-
write_to_json(
30+
write_to_json_unchecked(
3131
bench_id,
3232
params,
3333
params_alias,

tfhe-benchmark/benches/core_crypto/ks_bench.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ use benchmark::params::{
44
benchmark_compression_parameters, benchmark_parameters, multi_bit_benchmark_parameters,
55
};
66
use benchmark::utilities::{
7-
get_bench_type, get_param_type, write_to_json, BenchmarkType, CryptoParametersRecord,
8-
OperatorType, ParamType,
7+
get_param_type, write_to_json_unchecked, CryptoParametersRecord, OperatorType, ParamType,
98
};
9+
use benchmark_spec::{get_bench_type, BenchmarkType};
1010
use criterion::{black_box, Criterion, Throughput};
1111
use itertools::Itertools;
1212
use rayon::prelude::*;
@@ -146,7 +146,7 @@ fn keyswitch<Scalar: UnsignedTorus + CastInto<usize> + Serialize>(
146146
};
147147

148148
let bit_size = (params.message_modulus.unwrap_or(2) as u32).ilog2();
149-
write_to_json(
149+
write_to_json_unchecked(
150150
&bench_id,
151151
*params,
152152
name,
@@ -330,7 +330,7 @@ fn packing_keyswitch<Scalar, F>(
330330
};
331331

332332
let bit_size = (params.message_modulus.unwrap_or(2) as u32).ilog2();
333-
write_to_json(
333+
write_to_json_unchecked(
334334
&bench_id,
335335
*params,
336336
name,
@@ -347,8 +347,8 @@ mod cuda {
347347
use benchmark::params::{benchmark_parameters, multi_bit_benchmark_parameters};
348348
use benchmark::utilities::{
349349
cuda_local_keys_core, cuda_local_streams_core, get_bench_type, throughput_num_threads,
350-
write_to_json, BenchmarkType, CpuKeys, CpuKeysBuilder, CryptoParametersRecord, CudaIndexes,
351-
CudaLocalKeys, OperatorType,
350+
write_to_json_unchecked, BenchmarkType, CpuKeys, CpuKeysBuilder, CryptoParametersRecord,
351+
CudaIndexes, CudaLocalKeys, OperatorType,
352352
};
353353
use criterion::{black_box, Criterion, Throughput};
354354
use itertools::Itertools;
@@ -496,7 +496,7 @@ mod cuda {
496496
}
497497

498498
let bit_size = (params.message_modulus.unwrap_or(2) as u32).ilog2();
499-
write_to_json(
499+
write_to_json_unchecked(
500500
&bench_id,
501501
*params,
502502
name,
@@ -630,7 +630,7 @@ mod cuda {
630630
});
631631

632632
let bit_size = (params.message_modulus.unwrap_or(2) as u32).ilog2();
633-
write_to_json(
633+
write_to_json_unchecked(
634634
&bench_id,
635635
*params,
636636
name,
@@ -873,7 +873,7 @@ mod cuda {
873873
};
874874

875875
let bit_size = (params.message_modulus.unwrap_or(2) as u32).ilog2();
876-
write_to_json(
876+
write_to_json_unchecked(
877877
&bench_id,
878878
*params,
879879
name,

tfhe-benchmark/benches/core_crypto/ks_pbs_bench.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ use benchmark::params::{
33
};
44

55
use benchmark::utilities::{
6-
get_bench_type, get_param_type, write_to_json, BenchmarkType, CryptoParametersRecord,
7-
OperatorType, ParamType,
6+
get_param_type, write_to_json_unchecked, CryptoParametersRecord, OperatorType, ParamType,
87
};
8+
use benchmark_spec::{get_bench_type, BenchmarkType};
99
use criterion::{black_box, Criterion, Throughput};
1010
use rayon::prelude::*;
1111
use serde::Serialize;
@@ -269,7 +269,7 @@ fn ks_pbs<Scalar: UnsignedTorus + CastInto<usize> + Serialize>(
269269
}
270270

271271
let bit_size = (params.message_modulus.unwrap_or(2) as u32).ilog2();
272-
write_to_json(
272+
write_to_json_unchecked(
273273
&bench_id,
274274
*params,
275275
name,
@@ -505,7 +505,7 @@ fn multi_bit_ks_pbs<
505505
};
506506

507507
let bit_size = params.message_modulus.unwrap().ilog2();
508-
write_to_json(
508+
write_to_json_unchecked(
509509
&bench_id,
510510
*params,
511511
name,
@@ -522,8 +522,8 @@ mod cuda {
522522
use super::{benchmark_parameters, multi_bit_benchmark_parameters_with_grouping};
523523
use benchmark::utilities::{
524524
cuda_local_keys_core, cuda_local_streams_core, get_bench_type, throughput_num_threads,
525-
write_to_json, BenchmarkType, CpuKeys, CpuKeysBuilder, CryptoParametersRecord, CudaIndexes,
526-
CudaLocalKeys, OperatorType, GPU_MAX_SUPPORTED_POLYNOMIAL_SIZE,
525+
write_to_json_unchecked, BenchmarkType, CpuKeys, CpuKeysBuilder, CryptoParametersRecord,
526+
CudaIndexes, CudaLocalKeys, OperatorType, GPU_MAX_SUPPORTED_POLYNOMIAL_SIZE,
527527
};
528528
use criterion::{black_box, Criterion, Throughput};
529529
use rayon::prelude::*;
@@ -833,7 +833,7 @@ mod cuda {
833833
};
834834

835835
let bit_size = (params.message_modulus.unwrap_or(2) as u32).ilog2();
836-
write_to_json(
836+
write_to_json_unchecked(
837837
&bench_id,
838838
*params,
839839
name,
@@ -1143,7 +1143,7 @@ mod cuda {
11431143
};
11441144

11451145
let bit_size = params.message_modulus.unwrap().ilog2();
1146-
write_to_json(
1146+
write_to_json_unchecked(
11471147
&bench_id,
11481148
*params,
11491149
name,

tfhe-benchmark/benches/core_crypto/pbs128_bench.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use benchmark::params_aliases::{
22
BENCH_NOISE_SQUASHING_PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
33
BENCH_PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
44
};
5-
use benchmark::utilities::{write_to_json, CryptoParametersRecord, OperatorType};
5+
use benchmark::utilities::{write_to_json_unchecked, CryptoParametersRecord, OperatorType};
66
use criterion::{black_box, Criterion};
77
use dyn_stack::PodStack;
88
use tfhe::core_crypto::fft_impl::fft128::crypto::bootstrap::bootstrap_scratch;
@@ -149,7 +149,7 @@ fn pbs_128(c: &mut Criterion) {
149149
};
150150

151151
let bit_size = (message_modulus as u32).ilog2();
152-
write_to_json(
152+
write_to_json_unchecked(
153153
&id,
154154
params_record,
155155
noise_params.name(),
@@ -164,8 +164,8 @@ fn pbs_128(c: &mut Criterion) {
164164
mod cuda {
165165
use benchmark::utilities::{
166166
cuda_local_keys_core, cuda_local_streams_core, get_bench_type, throughput_num_threads,
167-
write_to_json, BenchmarkType, CpuKeys, CpuKeysBuilder, CryptoParametersRecord, CudaIndexes,
168-
CudaLocalKeys, OperatorType,
167+
write_to_json_unchecked, BenchmarkType, CpuKeys, CpuKeysBuilder, CryptoParametersRecord,
168+
CudaIndexes, CudaLocalKeys, OperatorType,
169169
};
170170
use criterion::{black_box, Criterion, Throughput};
171171
use rayon::prelude::*;
@@ -430,7 +430,7 @@ mod cuda {
430430
};
431431

432432
let bit_size = (message_modulus as u32).ilog2();
433-
write_to_json(
433+
write_to_json_unchecked(
434434
&bench_id,
435435
params_record,
436436
params_name,
@@ -695,7 +695,7 @@ mod cuda {
695695
};
696696

697697
let bit_size = (message_modulus as u32).ilog2();
698-
write_to_json(
698+
write_to_json_unchecked(
699699
&bench_id,
700700
params_record,
701701
params_name,

tfhe-benchmark/benches/core_crypto/pbs_bench.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use benchmark::params::{
33
multi_bit_benchmark_parameters_with_grouping, multi_bit_num_threads,
44
};
55
use benchmark::utilities::{
6-
get_bench_type, get_param_type, write_to_json, BenchmarkType, CryptoParametersRecord,
6+
get_bench_type, get_param_type, write_to_json_unchecked, BenchmarkType, CryptoParametersRecord,
77
OperatorType, ParamType,
88
};
99
use criterion::{black_box, Criterion, Throughput};
@@ -220,7 +220,7 @@ fn mem_optimized_pbs<Scalar: UnsignedTorus + CastInto<usize> + Serialize>(
220220
};
221221

222222
let bit_size = (params.message_modulus.unwrap_or(2) as u32).ilog2();
223-
write_to_json(
223+
write_to_json_unchecked(
224224
&bench_id,
225225
*params,
226226
name,
@@ -460,7 +460,7 @@ fn mem_optimized_batched_pbs<Scalar: UnsignedTorus + CastInto<usize> + Serialize
460460
};
461461

462462
let bit_size = (params.message_modulus.unwrap_or(2) as u32).ilog2();
463-
write_to_json(
463+
write_to_json_unchecked(
464464
&bench_id,
465465
*params,
466466
name,
@@ -656,7 +656,7 @@ fn multi_bit_pbs<
656656
};
657657

658658
let bit_size = params.message_modulus.unwrap().ilog2();
659-
write_to_json(
659+
write_to_json_unchecked(
660660
&bench_id,
661661
*params,
662662
name,
@@ -920,7 +920,7 @@ fn mem_optimized_pbs_ntt(c: &mut Criterion) {
920920
};
921921

922922
let bit_size = (params.message_modulus.unwrap_or(2) as u32).ilog2();
923-
write_to_json(
923+
write_to_json_unchecked(
924924
&bench_id,
925925
*params,
926926
name,
@@ -937,8 +937,8 @@ mod cuda {
937937
use benchmark::params::{benchmark_parameters, multi_bit_benchmark_parameters};
938938
use benchmark::utilities::{
939939
cuda_local_keys_core, cuda_local_streams_core, get_bench_type, throughput_num_threads,
940-
write_to_json, BenchmarkType, CpuKeys, CpuKeysBuilder, CryptoParametersRecord, CudaIndexes,
941-
CudaLocalKeys, OperatorType, GPU_MAX_SUPPORTED_POLYNOMIAL_SIZE,
940+
write_to_json_unchecked, BenchmarkType, CpuKeys, CpuKeysBuilder, CryptoParametersRecord,
941+
CudaIndexes, CudaLocalKeys, OperatorType, GPU_MAX_SUPPORTED_POLYNOMIAL_SIZE,
942942
};
943943
use criterion::{black_box, Criterion, Throughput};
944944
use rayon::prelude::*;
@@ -1188,7 +1188,7 @@ mod cuda {
11881188
};
11891189

11901190
let bit_size = (params.message_modulus.unwrap_or(2) as u32).ilog2();
1191-
write_to_json(
1191+
write_to_json_unchecked(
11921192
&bench_id,
11931193
*params,
11941194
name,
@@ -1446,7 +1446,7 @@ mod cuda {
14461446
};
14471447

14481448
let bit_size = params.message_modulus.unwrap().ilog2();
1449-
write_to_json(
1449+
write_to_json_unchecked(
14501450
&bench_id,
14511451
*params,
14521452
name,

0 commit comments

Comments
 (0)