cudnnConvolutionForward() private method

private cudnnConvolutionForward ( cudnnHandle handle, double &alpha, cudnnTensorDescriptor srcDesc, ManagedCuda.BasicTypes.CUdeviceptr srcData, cudnnFilterDescriptor filterDesc, ManagedCuda.BasicTypes.CUdeviceptr filterData, cudnnConvolutionDescriptor convDesc, cudnnConvolutionFwdAlgo algo, ManagedCuda.BasicTypes.CUdeviceptr workSpace, ManagedCuda.BasicTypes.SizeT workSpaceSizeInBytes, double &beta, cudnnTensorDescriptor destDesc, ManagedCuda.BasicTypes.CUdeviceptr destData ) : cudnnStatus
handle cudnnHandle
alpha double
srcDesc cudnnTensorDescriptor
srcData ManagedCuda.BasicTypes.CUdeviceptr
filterDesc cudnnFilterDescriptor
filterData ManagedCuda.BasicTypes.CUdeviceptr
convDesc cudnnConvolutionDescriptor
algo cudnnConvolutionFwdAlgo
workSpace ManagedCuda.BasicTypes.CUdeviceptr
workSpaceSizeInBytes ManagedCuda.BasicTypes.SizeT
beta double
destDesc cudnnTensorDescriptor
destData ManagedCuda.BasicTypes.CUdeviceptr
return cudnnStatus
Exemplo n.º 1
0
        /* Convolution functions: All of the form "output = alpha * Op(inputs) + beta * output" */

        /* Function to perform the forward multiconvolution */
        public void ConvolutionForward(double alpha,
                                       TensorDescriptor srcDesc,
                                       CudaDeviceVariable <double> srcData,
                                       FilterDescriptor filterDesc,
                                       CudaDeviceVariable <double> filterData,
                                       ConvolutionDescriptor convDesc,
                                       cudnnConvolutionFwdAlgo algo,
                                       CudaDeviceVariable <byte> workSpace,
                                       SizeT workSpaceSizeInBytes,
                                       double beta,
                                       TensorDescriptor destDesc,
                                       CudaDeviceVariable <double> destData
                                       )
        {
            res = CudaDNNNativeMethods.cudnnConvolutionForward(_handle, ref alpha, srcDesc.Desc, srcData.DevicePointer, filterDesc.Desc, filterData.DevicePointer, convDesc.Desc, algo, workSpace.DevicePointer, workSpaceSizeInBytes, ref beta, destDesc.Desc, destData.DevicePointer);
            Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cudnnConvolutionForward", res));
            if (res != cudnnStatus.Success)
            {
                throw new CudaDNNException(res);
            }
        }