private cudnnConvolutionBackwardData ( |
||
handle | ||
alpha | double | |
filterDesc | ||
filterData | ManagedCuda.BasicTypes.CUdeviceptr | |
diffDesc | ||
diffData | ManagedCuda.BasicTypes.CUdeviceptr | |
convDesc | ||
algo | cudnnConvolutionBwdDataAlgo | |
workSpace | ManagedCuda.BasicTypes.CUdeviceptr | |
workSpaceSizeInBytes | ManagedCuda.BasicTypes.SizeT | |
beta | double | |
gradDesc | ||
gradData | ManagedCuda.BasicTypes.CUdeviceptr | |
return | cudnnStatus |
public void ConvolutionBackwardData(double alpha, FilterDescriptor filterDesc, CudaDeviceVariable <double> filterData, TensorDescriptor diffDesc, CudaDeviceVariable <double> diffData, ConvolutionDescriptor convDesc, double beta, TensorDescriptor gradDesc, CudaDeviceVariable <double> gradData ) { res = CudaDNNNativeMethods.cudnnConvolutionBackwardData(_handle, ref alpha, filterDesc.Desc, filterData.DevicePointer, diffDesc.Desc, diffData.DevicePointer, convDesc.Desc, ref beta, gradDesc.Desc, gradData.DevicePointer); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cudnnConvolutionBackwardData", res)); if (res != cudnnStatus.Success) { throw new CudaDNNException(res); } }