pub struct CudaDctToWaveletStageAccelerator { /* private fields */ }Expand description
Optional CUDA accelerator for j2k-transcode transform stages.
Implementations§
Source§impl CudaDctToWaveletStageAccelerator
impl CudaDctToWaveletStageAccelerator
Sourcepub const fn new_explicit() -> Self
pub const fn new_explicit() -> Self
Create an accelerator that treats unavailable/unsupported CUDA dispatch as an error (no silent scalar fallback).
Sourcepub const fn new_explicit_resident_ht_encode() -> Self
pub const fn new_explicit_resident_ht_encode() -> Self
Create an explicit accelerator that keeps 9/7 code-block coefficients resident and HT-encodes them on the same CUDA context before CPU packetization.
Sourcepub const fn for_auto() -> Self
pub const fn for_auto() -> Self
Create an accelerator that falls back to the scalar oracle for small or unsupported jobs.
Sourcepub const fn with_auto_reversible_batch_thresholds(
self,
min_jobs: usize,
min_samples: usize,
) -> Self
pub const fn with_auto_reversible_batch_thresholds( self, min_jobs: usize, min_samples: usize, ) -> Self
Override the reversible 5/3 batch thresholds used before Auto mode dispatches a batch to CUDA.
Sourcepub const fn with_auto_dwt97_batch_thresholds(
self,
min_jobs: usize,
min_samples: usize,
) -> Self
pub const fn with_auto_dwt97_batch_thresholds( self, min_jobs: usize, min_samples: usize, ) -> Self
Override the 9/7 batch thresholds used before Auto mode dispatches a same-geometry batch to CUDA.
Sourcepub const fn reversible_dwt53_attempts(&self) -> usize
pub const fn reversible_dwt53_attempts(&self) -> usize
Number of reversible 5/3 jobs offered to this accelerator.
Sourcepub const fn reversible_dwt53_dispatches(&self) -> usize
pub const fn reversible_dwt53_dispatches(&self) -> usize
Number of reversible 5/3 jobs handled on the GPU.
Sourcepub const fn reversible_dwt53_batch_attempts(&self) -> usize
pub const fn reversible_dwt53_batch_attempts(&self) -> usize
Number of reversible 5/3 batches offered to this accelerator.
Sourcepub const fn reversible_dwt53_batch_dispatches(&self) -> usize
pub const fn reversible_dwt53_batch_dispatches(&self) -> usize
Number of reversible 5/3 batches handled on the GPU.
Sourcepub const fn dwt53_attempts(&self) -> usize
pub const fn dwt53_attempts(&self) -> usize
Number of float 5/3 jobs offered to this accelerator.
Sourcepub const fn dwt53_dispatches(&self) -> usize
pub const fn dwt53_dispatches(&self) -> usize
Number of float 5/3 jobs handled on the GPU.
Sourcepub const fn dwt97_attempts(&self) -> usize
pub const fn dwt97_attempts(&self) -> usize
Number of 9/7 jobs offered to this accelerator.
Sourcepub const fn dwt97_dispatches(&self) -> usize
pub const fn dwt97_dispatches(&self) -> usize
Number of 9/7 jobs handled on the GPU.
Sourcepub const fn dwt97_batch_attempts(&self) -> usize
pub const fn dwt97_batch_attempts(&self) -> usize
Number of 9/7 batches offered to this accelerator.
Sourcepub const fn dwt97_batch_dispatches(&self) -> usize
pub const fn dwt97_batch_dispatches(&self) -> usize
Number of 9/7 batches handled on the GPU.
Sourcepub const fn htj2k97_codeblock_batch_attempts(&self) -> usize
pub const fn htj2k97_codeblock_batch_attempts(&self) -> usize
Number of prequantized 9/7 HTJ2K code-block batches offered.
Sourcepub const fn htj2k97_codeblock_batch_dispatches(&self) -> usize
pub const fn htj2k97_codeblock_batch_dispatches(&self) -> usize
Number of prequantized 9/7 HTJ2K code-block batches handled on the GPU.
Trait Implementations§
Source§impl Clone for CudaDctToWaveletStageAccelerator
impl Clone for CudaDctToWaveletStageAccelerator
Source§fn clone(&self) -> CudaDctToWaveletStageAccelerator
fn clone(&self) -> CudaDctToWaveletStageAccelerator
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl DctToWaveletStageAccelerator for CudaDctToWaveletStageAccelerator
impl DctToWaveletStageAccelerator for CudaDctToWaveletStageAccelerator
Source§fn supports_dwt97_batch(&self) -> bool
fn supports_dwt97_batch(&self) -> bool
Source§fn supports_htj2k97_codeblock_batch(&self) -> bool
fn supports_htj2k97_codeblock_batch(&self) -> bool
Source§fn supports_htj2k97_i16_preencoded_batch(&self) -> bool
fn supports_htj2k97_i16_preencoded_batch(&self) -> bool
Source§fn supports_htj2k97_compact_preencoded_batch(&self) -> bool
fn supports_htj2k97_compact_preencoded_batch(&self) -> bool
Source§fn dct_grid_to_reversible_dwt53(
&mut self,
job: DctGridToReversibleDwt53Job<'_>,
) -> Result<Option<ReversibleDwt53FirstLevel>, TranscodeStageError>
fn dct_grid_to_reversible_dwt53( &mut self, job: DctGridToReversibleDwt53Job<'_>, ) -> Result<Option<ReversibleDwt53FirstLevel>, TranscodeStageError>
Source§fn dct_grid_to_reversible_dwt53_batch(
&mut self,
jobs: &[DctGridToReversibleDwt53Job<'_>],
) -> Result<Option<Vec<ReversibleDwt53FirstLevel>>, TranscodeStageError>
fn dct_grid_to_reversible_dwt53_batch( &mut self, jobs: &[DctGridToReversibleDwt53Job<'_>], ) -> Result<Option<Vec<ReversibleDwt53FirstLevel>>, TranscodeStageError>
Source§fn dct_grid_to_dwt53(
&mut self,
job: DctGridToDwt53Job<'_>,
) -> Result<Option<Dwt53TwoDimensional<f64>>, TranscodeStageError>
fn dct_grid_to_dwt53( &mut self, job: DctGridToDwt53Job<'_>, ) -> Result<Option<Dwt53TwoDimensional<f64>>, TranscodeStageError>
Source§fn dct_grid_to_dwt97(
&mut self,
job: DctGridToDwt97Job<'_>,
) -> Result<Option<Dwt97TwoDimensional<f64>>, TranscodeStageError>
fn dct_grid_to_dwt97( &mut self, job: DctGridToDwt97Job<'_>, ) -> Result<Option<Dwt97TwoDimensional<f64>>, TranscodeStageError>
Source§fn dct_grid_to_dwt97_batch(
&mut self,
jobs: &[DctGridToDwt97Job<'_>],
) -> Result<Option<Vec<Dwt97TwoDimensional<f64>>>, TranscodeStageError>
fn dct_grid_to_dwt97_batch( &mut self, jobs: &[DctGridToDwt97Job<'_>], ) -> Result<Option<Vec<Dwt97TwoDimensional<f64>>>, TranscodeStageError>
Source§fn dct_grid_to_htj2k97_codeblock_batch(
&mut self,
jobs: &[DctGridToHtj2k97CodeBlockJob<'_>],
options: Htj2k97CodeBlockOptions,
) -> Result<Option<Vec<PrequantizedHtj2k97Component>>, TranscodeStageError>
fn dct_grid_to_htj2k97_codeblock_batch( &mut self, jobs: &[DctGridToHtj2k97CodeBlockJob<'_>], options: Htj2k97CodeBlockOptions, ) -> Result<Option<Vec<PrequantizedHtj2k97Component>>, TranscodeStageError>
Source§fn dct_grid_to_htj2k97_preencoded_batch(
&mut self,
jobs: &[DctGridToHtj2k97CodeBlockJob<'_>],
options: Htj2k97CodeBlockOptions,
) -> Result<Option<Vec<PreencodedHtj2k97Component>>, TranscodeStageError>
fn dct_grid_to_htj2k97_preencoded_batch( &mut self, jobs: &[DctGridToHtj2k97CodeBlockJob<'_>], options: Htj2k97CodeBlockOptions, ) -> Result<Option<Vec<PreencodedHtj2k97Component>>, TranscodeStageError>
Source§fn dct_grid_i16_to_htj2k97_preencoded_batch(
&mut self,
jobs: &[DctGridI16ToHtj2k97CodeBlockJob<'_>],
options: Htj2k97CodeBlockOptions,
) -> Result<Option<Vec<PreencodedHtj2k97Component>>, TranscodeStageError>
fn dct_grid_i16_to_htj2k97_preencoded_batch( &mut self, jobs: &[DctGridI16ToHtj2k97CodeBlockJob<'_>], options: Htj2k97CodeBlockOptions, ) -> Result<Option<Vec<PreencodedHtj2k97Component>>, TranscodeStageError>
Source§fn dct_grid_i16_to_htj2k97_compact_preencoded_batch(
&mut self,
jobs: &[DctGridI16ToHtj2k97CodeBlockJob<'_>],
options: Htj2k97CodeBlockOptions,
) -> Result<Option<PreencodedHtj2k97CompactBatch>, TranscodeStageError>
fn dct_grid_i16_to_htj2k97_compact_preencoded_batch( &mut self, jobs: &[DctGridI16ToHtj2k97CodeBlockJob<'_>], options: Htj2k97CodeBlockOptions, ) -> Result<Option<PreencodedHtj2k97CompactBatch>, TranscodeStageError>
Source§fn dct_grid_i16_to_htj2k97_preencoded_batch_groups(
&mut self,
groups: &[DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>],
options: Htj2k97CodeBlockOptions,
) -> Result<Option<Vec<Vec<PreencodedHtj2k97Component>>>, TranscodeStageError>
fn dct_grid_i16_to_htj2k97_preencoded_batch_groups( &mut self, groups: &[DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>], options: Htj2k97CodeBlockOptions, ) -> Result<Option<Vec<Vec<PreencodedHtj2k97Component>>>, TranscodeStageError>
Source§fn dct_grid_i16_to_htj2k97_compact_preencoded_batch_groups(
&mut self,
groups: &[DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>],
options: Htj2k97CodeBlockOptions,
) -> Result<Option<PreencodedHtj2k97CompactBatchGroups>, TranscodeStageError>
fn dct_grid_i16_to_htj2k97_compact_preencoded_batch_groups( &mut self, groups: &[DctGridI16ToHtj2k97CodeBlockBatch<'_, '_>], options: Htj2k97CodeBlockOptions, ) -> Result<Option<PreencodedHtj2k97CompactBatchGroups>, TranscodeStageError>
Source§fn last_dwt97_batch_stage_timings(&self) -> Option<Dwt97BatchStageTimings>
fn last_dwt97_batch_stage_timings(&self) -> Option<Dwt97BatchStageTimings>
Auto Trait Implementations§
impl Freeze for CudaDctToWaveletStageAccelerator
impl RefUnwindSafe for CudaDctToWaveletStageAccelerator
impl Send for CudaDctToWaveletStageAccelerator
impl Sync for CudaDctToWaveletStageAccelerator
impl Unpin for CudaDctToWaveletStageAccelerator
impl UnsafeUnpin for CudaDctToWaveletStageAccelerator
impl UnwindSafe for CudaDctToWaveletStageAccelerator
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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