pub struct HpuNttParameters {
pub core_arch: HpuNttCoreArch,
pub min_pbs_nb: Option<usize>,
pub batch_pbs_nb: usize,
pub total_pbs_nb: usize,
pub ct_width: u32,
pub radix: usize,
pub stg_nb: usize,
pub prime_modulus: HpuNttPrime,
pub psi: usize,
pub delta: usize,
}
Expand description
Parameters related to NTT computation Related to architectural implementation of NTT/INTT in Hpu
Fields§
§core_arch: HpuNttCoreArch
Core architecture
min_pbs_nb: Option<usize>
Minimum #PBS in the batch for full throughput
batch_pbs_nb: usize
#PBS in Ntt Pipe
total_pbs_nb: usize
Maximum #PBS store in Pep
ct_width: u32
Bit width of ciphertext modulus (pow2 modulus)
radix: usize
Radix value. Must be a power of 2
stg_nb: usize
Stages number -> Total number of stages. Note that R^S = N the number of coefficients of the NTT.
prime_modulus: HpuNttPrime
§psi: usize
Psi value -> Number of radix blocks that work in parallel
delta: usize
Delta value -> Number of stages before pcg network
Implementations§
Trait Implementations§
Source§impl Clone for HpuNttParameters
impl Clone for HpuNttParameters
Source§fn clone(&self) -> HpuNttParameters
fn clone(&self) -> HpuNttParameters
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for HpuNttParameters
impl Debug for HpuNttParameters
Source§impl<'de> Deserialize<'de> for HpuNttParameters
impl<'de> Deserialize<'de> for HpuNttParameters
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl FromRtl for HpuNttParameters
impl FromRtl for HpuNttParameters
fn from_rtl(ffi_hw: &mut HpuHw, regmap: &FlatRegmap) -> Self
Source§impl PartialEq for HpuNttParameters
impl PartialEq for HpuNttParameters
Source§impl Serialize for HpuNttParameters
impl Serialize for HpuNttParameters
impl Eq for HpuNttParameters
impl StructuralPartialEq for HpuNttParameters
Auto Trait Implementations§
impl Freeze for HpuNttParameters
impl RefUnwindSafe for HpuNttParameters
impl Send for HpuNttParameters
impl Sync for HpuNttParameters
impl Unpin for HpuNttParameters
impl UnwindSafe for HpuNttParameters
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more