chore: complete gpu meta params

Add noise-squashing params, noise-squashing compression and re-rand
This commit is contained in:
Thomas Montaigu
2025-09-29 16:08:53 +02:00
committed by tmontaigu
parent 71b45c14da
commit 6abed1f228
2 changed files with 48 additions and 9 deletions

View File

@@ -1,4 +1,6 @@
use super::super::super::meta::MetaParameters;
use super::super::super::meta::{DedicatedCompactPublicKeyParameters, MetaParameters};
use super::super::compact_public_key_only::p_fail_2_minus_128::ks_pbs::*;
use super::super::key_switching::p_fail_2_minus_128::ks_pbs_gpu::*;
use super::super::list_compression::p_fail_2_minus_128::*;
use super::super::list_compression::p_fail_2_minus_64::*;
use super::super::multi_bit::gaussian::p_fail_2_minus_128::ks_pbs_gpu::*;
@@ -7,7 +9,9 @@ use super::super::multi_bit::gaussian::p_fail_2_minus_64::ks_pbs_gpu::*;
use super::super::multi_bit::tuniform::p_fail_2_minus_128::ks_pbs_gpu::*;
use super::super::multi_bit::tuniform::p_fail_2_minus_40::ks_pbs_gpu::*;
use super::super::multi_bit::tuniform::p_fail_2_minus_64::ks_pbs_gpu::*;
use crate::shortint::parameters::Backend;
use super::super::noise_squashing::p_fail_2_minus_128::*;
use crate::shortint::parameters::{Backend, MetaNoiseSquashingParameters};
use crate::shortint::{AtomicPatternParameters, PBSParameters};
pub const V1_4_META_PARAM_GPU_1_1_MULTI_BIT_GROUP_2_KS_PBS_GAUSSIAN_2M40: MetaParameters =
@@ -844,18 +848,49 @@ pub const V1_4_META_PARAM_GPU_1_1_MULTI_BIT_GROUP_4_KS_PBS_TUNIFORM_2M128: MetaP
re_randomization_parameters: None,
};
pub const V1_4_META_PARAM_GPU_2_2_MULTI_BIT_GROUP_4_KS_PBS_TUNIFORM_2M128: MetaParameters =
pub const V1_4_META_PARAM_GPU_2_2_MULTI_BIT_GROUP_4_KS_PBS_PKE_TO_BIG_ZKV2_TUNIFORM_2M128: MetaParameters =
MetaParameters {
backend: Backend::CudaGpu,
compute_parameters: AtomicPatternParameters::Standard(PBSParameters::MultiBitPBS(
V1_4_PARAM_GPU_MULTI_BIT_GROUP_4_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
)),
dedicated_compact_public_key_parameters: None,
dedicated_compact_public_key_parameters: Some(DedicatedCompactPublicKeyParameters {
pke_params: V1_4_PARAM_PKE_TO_BIG_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128_ZKV2,
ksk_params:
V1_4_PARAM_MULTI_BIT_GROUP_4_KEYSWITCH_PKE_TO_BIG_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
}), compression_parameters: Some(
V1_4_COMP_PARAM_GPU_MULTI_BIT_GROUP_4_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
),
noise_squashing_parameters: Some(MetaNoiseSquashingParameters {
parameters: V1_4_NOISE_SQUASHING_PARAM_GPU_MULTI_BIT_GROUP_4_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
compression_parameters: Some(
V1_4_NOISE_SQUASHING_COMP_PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
),
}),
re_randomization_parameters: Some(V1_4_PARAM_MULTI_BIT_GROUP_4_KEYSWITCH_PKE_TO_BIG_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128),
};
pub const V1_4_META_PARAM_GPU_2_2_MULTI_BIT_GROUP_4_KS_PBS_PKE_TO_SMALL_ZKV2_TUNIFORM_2M128: MetaParameters =
MetaParameters {
backend: Backend::CudaGpu,
compute_parameters: AtomicPatternParameters::Standard(PBSParameters::MultiBitPBS(
V1_4_PARAM_GPU_MULTI_BIT_GROUP_4_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
)),
dedicated_compact_public_key_parameters: Some(DedicatedCompactPublicKeyParameters {
pke_params: V1_4_PARAM_PKE_TO_SMALL_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128_ZKV2,
ksk_params:
V1_4_PARAM_MULTI_BIT_GROUP_4_KEYSWITCH_PKE_TO_SMALL_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
}),
compression_parameters: Some(
V1_4_COMP_PARAM_GPU_MULTI_BIT_GROUP_4_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
),
noise_squashing_parameters: None,
re_randomization_parameters: None,
noise_squashing_parameters: Some(MetaNoiseSquashingParameters {
parameters: V1_4_NOISE_SQUASHING_PARAM_GPU_MULTI_BIT_GROUP_4_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
compression_parameters: Some(
V1_4_NOISE_SQUASHING_COMP_PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
),
}),
re_randomization_parameters: Some(V1_4_PARAM_MULTI_BIT_GROUP_4_KEYSWITCH_PKE_TO_BIG_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128),
};
pub const V1_4_META_PARAM_GPU_3_3_MULTI_BIT_GROUP_4_KS_PBS_TUNIFORM_2M128: MetaParameters =

View File

@@ -1747,7 +1747,7 @@ pub const VEC_ALL_HPU_PARAMETERS: [(&KeySwitch32PBSParameters, &str); 3] = [
];
/// All [`MetaParameters`] in this module.
pub const VEC_ALL_META_PARAMETERS: [(&MetaParameters, &str); 172] = [
pub const VEC_ALL_META_PARAMETERS: [(&MetaParameters, &str); 173] = [
(
&V1_4_META_PARAM_CPU_1_1_KS_PBS_GAUSSIAN_2M40,
"V1_4_META_PARAM_CPU_1_1_KS_PBS_GAUSSIAN_2M40",
@@ -2425,8 +2425,12 @@ pub const VEC_ALL_META_PARAMETERS: [(&MetaParameters, &str); 172] = [
"V1_4_META_PARAM_GPU_1_1_MULTI_BIT_GROUP_4_KS_PBS_TUNIFORM_2M128",
),
(
&V1_4_META_PARAM_GPU_2_2_MULTI_BIT_GROUP_4_KS_PBS_TUNIFORM_2M128,
"V1_4_META_PARAM_GPU_2_2_MULTI_BIT_GROUP_4_KS_PBS_TUNIFORM_2M128",
&V1_4_META_PARAM_GPU_2_2_MULTI_BIT_GROUP_4_KS_PBS_PKE_TO_BIG_ZKV2_TUNIFORM_2M128,
"V1_4_META_PARAM_GPU_2_2_MULTI_BIT_GROUP_4_KS_PBS_PKE_TO_BIG_ZKV2_TUNIFORM_2M128",
),
(
&V1_4_META_PARAM_GPU_2_2_MULTI_BIT_GROUP_4_KS_PBS_PKE_TO_SMALL_ZKV2_TUNIFORM_2M128,
"V1_4_META_PARAM_GPU_2_2_MULTI_BIT_GROUP_4_KS_PBS_PKE_TO_SMALL_ZKV2_TUNIFORM_2M128",
),
(
&V1_4_META_PARAM_GPU_3_3_MULTI_BIT_GROUP_4_KS_PBS_TUNIFORM_2M128,