Enum collenchyma_nn::ConvForwardAlgo [] [src]

pub enum ConvForwardAlgo {
    Auto,
    GEMM,
    ImplicitGEMM,
    ImplicitPrecompiledGEMM,
    FFT,
    FFTTiling,
    Direct,
}

Different algorithms to compute the convolution forward algorithm.

Variants

Auto

Attempt to automatically find the best algorithm of all the other available ones.

GEMM

Compute the convolution as explicit matrix product.

Needs a significant memory workspace.

ImplicitGEMM

Compute the convolution as matrix product without forming the matrix that holds the input data.

Does not need any memory workspace.

ImplicitPrecompiledGEMM

Similar to ImplicitGEMM but needs some workspace to precompile the implicit indices.

FFT

Compute the convolution as Fast-Fourier Transform.

Needs a significant memory workspace.

FFTTiling

Compute the convolution as Fast-Fourier Transform with 32x32 tiles.

Needs a significant memory workspace.

Direct

Compute the convolution without implicit or explicit matrix-multiplication. Do not try to use this.

Listed in cuDNN docs but cuDNN does not provide a implementation.

Methods

impl ConvForwardAlgo
[src]

fn is_auto(&self) -> bool

Check if algorithim should be chosen automatically.

Trait Implementations

impl Clone for ConvForwardAlgo
[src]

fn clone(&self) -> ConvForwardAlgo

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl Copy for ConvForwardAlgo
[src]

impl Debug for ConvForwardAlgo
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.