pub struct SparseFFTKernel { /* private fields */ }Expand description
Kernel for computing sparse FFT on GPU
Implementations§
Source§impl SparseFFTKernel
impl SparseFFTKernel
Sourcepub fn new(
input_size: usize,
sparsity: usize,
input_address: usize,
output_values_address: usize,
output_indices_address: usize,
algorithm: SparseFFTAlgorithm,
window_function: WindowFunction,
) -> Self
pub fn new( input_size: usize, sparsity: usize, input_address: usize, output_values_address: usize, output_indices_address: usize, algorithm: SparseFFTAlgorithm, window_function: WindowFunction, ) -> Self
Create a new sparse FFT kernel
Sourcepub fn apply_window(&self) -> FFTResult<KernelStats>
pub fn apply_window(&self) -> FFTResult<KernelStats>
Apply window function on GPU.
As with Self::execute, no real device launch happens here, so the
returned stats are honest analytical estimates with None for the
un-measurable bandwidth. Windowing is an element-wise O(n) multiply, so
its modelled FLOP count is n (one multiply per sample).
Sourcepub fn get_algorithm_implementation(&self) -> FFTResult<KernelImplementation>
pub fn get_algorithm_implementation(&self) -> FFTResult<KernelImplementation>
Get algorithm-specific implementation
Trait Implementations§
Source§impl Debug for SparseFFTKernel
impl Debug for SparseFFTKernel
Source§impl GPUKernel for SparseFFTKernel
impl GPUKernel for SparseFFTKernel
Source§fn config(&self) -> &KernelConfig
fn config(&self) -> &KernelConfig
Get kernel configuration
Source§fn set_config(&mut self, config: KernelConfig)
fn set_config(&mut self, config: KernelConfig)
Set kernel configuration
Source§fn execute(&self) -> FFTResult<KernelStats>
fn execute(&self) -> FFTResult<KernelStats>
Execute kernel
Auto Trait Implementations§
impl Freeze for SparseFFTKernel
impl RefUnwindSafe for SparseFFTKernel
impl Send for SparseFFTKernel
impl Sync for SparseFFTKernel
impl Unpin for SparseFFTKernel
impl UnsafeUnpin for SparseFFTKernel
impl UnwindSafe for SparseFFTKernel
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
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