Skip to content

Commit a48d6ee

Browse files
committed
chore(bench): enforce bench spec for json output format
1 parent 1c4d857 commit a48d6ee

31 files changed

+250
-189
lines changed

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: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ 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,
7+
get_bench_type, get_param_type, write_to_json_unchecked, BenchmarkType, CryptoParametersRecord,
88
OperatorType, ParamType,
99
};
1010
use criterion::{black_box, Criterion, Throughput};
@@ -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: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use benchmark::params::{
33
};
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};
@@ -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,

tfhe-benchmark/benches/high_level_api/bench_common.rs

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use benchmark::high_level_api::bench_wait::*;
22
use benchmark::high_level_api::benchmark_op::*;
3+
use benchmark::name_spec::NameSpec;
34
use benchmark::utilities::{
45
get_bench_type, will_this_bench_run, write_to_json, BenchmarkType, OperandType, OperatorType,
56
};
@@ -46,24 +47,20 @@ pub fn bench_fhe_type_op<FheType, Op>(
4647
let bit_size = config.bit_size as u32;
4748

4849
let inputs = op.setup_inputs(client_key, &mut rng);
49-
let bench_id;
50+
51+
let is_throughput = matches!(get_bench_type(), BenchmarkType::Throughput);
52+
let name = NameSpec::new(
53+
&bench_prefix,
54+
config.func_name,
55+
&param_name,
56+
config.operand_type.is_scalar(),
57+
config.type_name,
58+
is_throughput,
59+
);
60+
let bench_id = name.to_string();
5061

5162
match get_bench_type() {
5263
BenchmarkType::Latency => {
53-
bench_id = match config.operand_type {
54-
OperandType::PlainText => {
55-
format!(
56-
"{bench_prefix}::{}::{param_name}::scalar::{}",
57-
config.func_name, config.type_name
58-
)
59-
}
60-
OperandType::CipherText => {
61-
format!(
62-
"{bench_prefix}::{}::{param_name}::{}",
63-
config.func_name, config.type_name
64-
)
65-
}
66-
};
6764
bench_group.bench_function(&bench_id, |b| {
6865
b.iter(|| {
6966
let res = op.execute(&inputs);
@@ -73,21 +70,6 @@ pub fn bench_fhe_type_op<FheType, Op>(
7370
});
7471
}
7572
BenchmarkType::Throughput => {
76-
bench_id = match config.operand_type {
77-
OperandType::PlainText => {
78-
format!(
79-
"{bench_prefix}::{}::throughput::{param_name}::scalar::{}",
80-
config.func_name, config.type_name
81-
)
82-
}
83-
OperandType::CipherText => {
84-
format!(
85-
"{bench_prefix}::{}::throughput::{param_name}::{}",
86-
config.func_name, config.type_name
87-
)
88-
}
89-
};
90-
9173
let setup = |batch_size: usize| {
9274
(0..batch_size)
9375
.into_par_iter()
@@ -149,9 +131,8 @@ pub fn bench_fhe_type_op<FheType, Op>(
149131
}
150132

151133
write_to_json::<u64, _>(
152-
&bench_id,
134+
&name,
153135
param,
154-
&param_name,
155136
config.display_name,
156137
&OperatorType::Atomic,
157138
bit_size,

0 commit comments

Comments
 (0)