pub struct StackedPcsDataGpu<F, Digest> { /* private fields */ }Implementations§
Source§impl<F, Digest> StackedPcsDataGpu<F, Digest>
impl<F, Digest> StackedPcsDataGpu<F, Digest>
Sourcepub fn layout(&self) -> &StackedLayout
pub fn layout(&self) -> &StackedLayout
Layout of the unstacked collection of matrices within the stacked matrix.
Sourcepub fn matrix(&self) -> &Option<PleMatrix<F>>
pub fn matrix(&self) -> &Option<PleMatrix<F>>
The stacked matrix with height 2^{l_skip + n_stack}.
This is optionally cached depending on the prover configuration:
- Caching increases the peak GPU memory but avoids a recomputation during stacked reduction.
- Not caching means the stacked matrix computation is recomputed during stacked reduction, but lowers the peak GPU memory.
Sourcepub fn tree(&self) -> &MerkleTreeGpu<F, Digest>
pub fn tree(&self) -> &MerkleTreeGpu<F, Digest>
Merkle tree of the Reed-Solomon codewords of the stacked matrix.
Depends on k_whir parameter.
Source§impl<F, Digest> StackedPcsDataGpu<F, Digest>
impl<F, Digest> StackedPcsDataGpu<F, Digest>
Sourcepub fn mixed_view<'a>(
&'a self,
mat_idx: usize,
width: usize,
) -> Option<DeviceMatrixView<'a, F>>
pub fn mixed_view<'a>( &'a self, mat_idx: usize, width: usize, ) -> Option<DeviceMatrixView<'a, F>>
Returns a view of the specified unstacked matrix in mixed form.
§Notes
widthmust be the width of the unstacked matrix.- The unstacked matrix may be strided - this must be handled by the caller.
Auto Trait Implementations§
impl<F, Digest> Freeze for StackedPcsDataGpu<F, Digest>where
Digest: Freeze,
impl<F, Digest> RefUnwindSafe for StackedPcsDataGpu<F, Digest>where
Digest: RefUnwindSafe,
F: RefUnwindSafe,
impl<F, Digest> Send for StackedPcsDataGpu<F, Digest>where
Digest: Send,
impl<F, Digest> Sync for StackedPcsDataGpu<F, Digest>where
Digest: Sync,
impl<F, Digest> Unpin for StackedPcsDataGpu<F, Digest>where
Digest: Unpin,
impl<F, Digest> UnsafeUnpin for StackedPcsDataGpu<F, Digest>where
Digest: UnsafeUnpin,
impl<F, Digest> UnwindSafe for StackedPcsDataGpu<F, Digest>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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