ManagedCuda.CudaDNN.ConvolutionDescriptor.SetConvolutionNdDescriptor C# (CSharp) Method

SetConvolutionNdDescriptor() public method

This function initializes a previously created generic convolution descriptor object into a n-D correlation. That same convolution descriptor can be reused in the backward path provided it corresponds to the same layer. The convolution computation will done in the specified dataType, which can be potentially different from the input/output tensors.
public SetConvolutionNdDescriptor ( int arrayLength, int padA, int filterStrideA, int upscaleA, cudnnConvolutionMode mode, cudnnDataType dataType ) : void
arrayLength int Dimension of the convolution.
padA int Array of dimension arrayLength containing the zero-padding size /// for each dimension. For every dimension, the padding represents the /// number of extra zeros implicitly concatenated at the start and at the /// end of every element of that dimension.
filterStrideA int Array of dimension arrayLength containing the filter stride for each /// dimension. For every dimension, the fitler stride represents the number /// of elements to slide to reach the next start of the filtering window of /// the next point.
upscaleA int Array of dimension arrayLength containing the upscale factor for each dimension.
mode cudnnConvolutionMode Selects between CUDNN_CONVOLUTION and CUDNN_CROSS_CORRELATION.
dataType cudnnDataType Selects the datatype in which the computation will be done.
return void
        public void SetConvolutionNdDescriptor(int arrayLength,             /* nbDims-2 size */
											int[] padA,
											int[] filterStrideA,
											int[] upscaleA,
											cudnnConvolutionMode mode, cudnnDataType dataType
											)
        {
            res = CudaDNNNativeMethods.cudnnSetConvolutionNdDescriptor(_desc, arrayLength, padA, filterStrideA, upscaleA, mode, dataType);
            Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cudnnSetConvolutionNdDescriptor", res));
            if (res != cudnnStatus.Success) throw new CudaDNNException(res);
        }