Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion tfhe-benchmark/src/params_aliases.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,14 @@ pub mod shortint_params_aliases {
MultiBitPBSParameters, NoiseSquashingCompressionParameters, NoiseSquashingParameters,
ShortintKeySwitchingParameters,
};

// KS PBS Gaussian
#[cfg(not(feature = "gpu"))]
pub const BENCH_PARAM_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M128: ClassicPBSParameters =
V1_5_PARAM_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M128;
#[cfg(feature = "gpu")]
pub const BENCH_PARAM_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M128: ClassicPBSParameters =
V1_5_PARAM_GPU_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M128;
pub const BENCH_PARAM_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_2M128: ClassicPBSParameters =
V1_5_PARAM_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_2M128;
pub const BENCH_PARAM_MESSAGE_3_CARRY_3_KS_PBS_GAUSSIAN_2M128: ClassicPBSParameters =
Expand Down Expand Up @@ -38,7 +43,7 @@ pub mod shortint_params_aliases {
pub const BENCH_PARAM_MESSAGE_2_CARRY_2_KS_PBS: ClassicPBSParameters =
V1_5_PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128;

pub const BENCH_ALL_CLASSIC_PBS_PARAMETERS: [(&ClassicPBSParameters, &str); 140] =
pub const BENCH_ALL_CLASSIC_PBS_PARAMETERS: [(&ClassicPBSParameters, &str); 141] =
VEC_ALL_CLASSIC_PBS_PARAMETERS;

// MultiBit
Expand Down
2 changes: 2 additions & 0 deletions tfhe/src/shortint/keycache.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ named_params_impl!( ShortintParameterSet =>
V1_5_PARAM_MESSAGE_7_CARRY_0_KS_PBS_GAUSSIAN_2M128,
V1_5_PARAM_MESSAGE_7_CARRY_1_KS_PBS_GAUSSIAN_2M128,
V1_5_PARAM_MESSAGE_8_CARRY_0_KS_PBS_GAUSSIAN_2M128,
//For the specialized classical pbs on GPU
V1_5_PARAM_GPU_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M128,
// Small
V1_5_PARAM_MESSAGE_1_CARRY_1_PBS_KS_GAUSSIAN_2M128,
V1_5_PARAM_MESSAGE_2_CARRY_2_PBS_KS_GAUSSIAN_2M128,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
use crate::shortint::parameters::{
CarryModulus, CiphertextModulus, ClassicPBSParameters, DecompositionBaseLog,
DecompositionLevelCount, DynamicDistribution, EncryptionKeyChoice, GlweDimension, LweDimension,
MaxNoiseLevel, MessageModulus, PolynomialSize,
};
use crate::shortint::prelude::{ModulusSwitchType, StandardDev};

/// p-fail = 2^-131.084, algorithmic cost ~ 90.5, 2-norm = 3
pub const V1_5_PARAM_GPU_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M128: ClassicPBSParameters =
ClassicPBSParameters {
lwe_dimension: LweDimension(737),
glwe_dimension: GlweDimension(1),
polynomial_size: PolynomialSize(2048),
lwe_noise_distribution: DynamicDistribution::new_gaussian_from_std_dev(StandardDev(
1.894717698310226e-05,
)),
glwe_noise_distribution: DynamicDistribution::new_gaussian_from_std_dev(StandardDev(
2.845267479601874e-15,
)),
pbs_base_log: DecompositionBaseLog(23),
pbs_level: DecompositionLevelCount(1),
ks_base_log: DecompositionBaseLog(3),
ks_level: DecompositionLevelCount(4),
message_modulus: MessageModulus(2),
carry_modulus: CarryModulus(2),
max_noise_level: MaxNoiseLevel::new(3),
log2_p_fail: -128.186,
ciphertext_modulus: CiphertextModulus::new_native(),
encryption_key_choice: EncryptionKeyChoice::Big,
modulus_switch_noise_reduction_params: ModulusSwitchType::CenteredMeanNoiseReduction,
};
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
pub mod ks_pbs;
pub mod ks_pbs_gpu;
pub mod pbs_ks;
7 changes: 6 additions & 1 deletion tfhe/src/shortint/parameters/v1_5/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ pub use classic::compact_pk::gaussian::p_fail_2_minus_128::pbs_ks::*;
pub use classic::compact_pk::gaussian::p_fail_2_minus_64::ks_pbs::*;
pub use classic::compact_pk::gaussian::p_fail_2_minus_64::pbs_ks::*;
pub use classic::gaussian::p_fail_2_minus_128::ks_pbs::*;
pub use classic::gaussian::p_fail_2_minus_128::ks_pbs_gpu::*;
pub use classic::gaussian::p_fail_2_minus_128::pbs_ks::*;
pub use classic::gaussian::p_fail_2_minus_40::ks_pbs::*;
pub use classic::gaussian::p_fail_2_minus_64::ks_pbs::*;
Expand Down Expand Up @@ -49,7 +50,7 @@ use crate::shortint::parameters::{
};

/// All [`ClassicPBSParameters`] in this module.
pub const VEC_ALL_CLASSIC_PBS_PARAMETERS: [(&ClassicPBSParameters, &str); 140] = [
pub const VEC_ALL_CLASSIC_PBS_PARAMETERS: [(&ClassicPBSParameters, &str); 141] = [
(
&V1_5_PARAM_MESSAGE_1_CARRY_0_COMPACT_PK_KS_PBS_GAUSSIAN_2M64,
"V1_5_PARAM_MESSAGE_1_CARRY_0_COMPACT_PK_KS_PBS_GAUSSIAN_2M64",
Expand Down Expand Up @@ -610,6 +611,10 @@ pub const VEC_ALL_CLASSIC_PBS_PARAMETERS: [(&ClassicPBSParameters, &str); 140] =
&V1_5_PARAM_MESSAGE_4_CARRY_4_KS_PBS_TUNIFORM_2M128,
"V1_5_PARAM_MESSAGE_4_CARRY_4_KS_PBS_TUNIFORM_2M128",
),
(
&V1_5_PARAM_GPU_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M128,
"V1_5_PARAM_GPU_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M128",
),
];

/// All [`MultiBitPBSParameters`] in this module.
Expand Down
Loading