Enum cudnnConvolutionFwdAlgo
cudnnConvolutionFwdAlgo is an enumerated type that exposes the different algorithms available to execute the forward convolution operation.
Namespace: ManagedCuda.CudaDNN
Assembly: CudaDNN.dll
Syntax
public enum cudnnConvolutionFwdAlgo
Fields
Name | Description |
---|---|
Direct | This algorithm expresses the convolution as a direct convolution (e.g without implicitly or explicitly doing a matrix multiplication). |
FFT | This algorithm uses a Fast-Fourier Transform approach to compute the convolution. A significant memory workspace is needed to store intermediate results. |
FFTWithTiling | This algorithm uses a Fast-Fourier Transform approach but splits the inputs into 32x32 tiles. A significant memory workspace is needed to store intermediate results but significantly less than FFT for big size images. |
GEMM | This algorithm expresses the convolution as an explicit matrix product. A significant memory workspace is needed to store the matrix that holds the input tensor data. |
ImplicitGEMM | This algorithm expresses the convolution as a matrix product without actually explicitly form the matrix that holds the input tensor data. |
ImplicitPrecompGEMM | This algorithm expresses the convolution as a matrix product without actually explicitly form the matrix that holds the input tensor data, but still needs some memory workspace to precompute some indices in order to facilitate the implicit construction of the matrix that holds the input tensor data |
Winograd | This algorithm uses a Winograd Transform approach to compute the convolution. A reasonably sized workspace is needed to store intermediate results. |