/// <summary> /// </summary> public FilterDescriptor() { _desc = new cudnnFilterDescriptor(); res = CudaDNNNativeMethods.cudnnCreateFilterDescriptor(ref _desc); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cudnnCreateFilterDescriptor", res)); if (res != cudnnStatus.Success) throw new CudaDNNException(res); }
/// <summary> /// </summary> public FilterDescriptor() { _desc = new cudnnFilterDescriptor(); res = CudaDNNNativeMethods.cudnnCreateFilterDescriptor(ref _desc); Debug.Write(""); //Line(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cudnnCreateFilterDescriptor", res)); if (res != cudnnStatus.Success) { throw new CudaDNNException(res); } }
public static extern cudnnStatus cudnnCreateFilterDescriptor( ref cudnnFilterDescriptor filterDesc );
public static extern cudnnStatus cudnnFindConvolutionForwardAlgorithmEx( cudnnHandle handle, cudnnTensorDescriptor xDesc, CUdeviceptr x, cudnnFilterDescriptor wDesc, CUdeviceptr w, cudnnConvolutionDescriptor convDesc, cudnnTensorDescriptor yDesc, CUdeviceptr y, int requestedAlgoCount, ref int returnedAlgoCount, ref cudnnConvolutionFwdAlgoPerf perfResults, CUdeviceptr workSpace, SizeT workSpaceSizeInBytes );
public static extern cudnnStatus cudnnGetConvolutionForwardWorkspaceSize( cudnnHandle handle, cudnnTensorDescriptor srcDesc, cudnnFilterDescriptor filterDesc, cudnnConvolutionDescriptor convDesc, cudnnTensorDescriptor destDesc, cudnnConvolutionFwdAlgo algo, ref SizeT sizeInBytes );
public static extern cudnnStatus cudnnFindConvolutionForwardAlgorithm(cudnnHandle handle, cudnnTensorDescriptor srcDesc, cudnnFilterDescriptor filterDesc, cudnnConvolutionDescriptor convDesc, cudnnTensorDescriptor destDesc, int requestedAlgoCount, ref int returnedAlgoCount, cudnnConvolutionFwdAlgoPerf[] perfResults );
public static extern cudnnStatus cudnnGetConvolution2dForwardOutputDim( cudnnConvolutionDescriptor convDesc, cudnnTensorDescriptor inputTensorDesc, cudnnFilterDescriptor filterDesc, ref int n, ref int c, ref int h, ref int w );
public static extern cudnnStatus cudnnGetFilterNdDescriptor( cudnnFilterDescriptor filterDesc, int nbDimsRequested, ref cudnnDataType dataType, // image data type ref int nbDims, int[] filterDimA );
public static extern cudnnStatus cudnnConvolutionBackwardFilter( cudnnHandle handle, ref float alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, cudnnTensorDescriptor diffDesc, CUdeviceptr diffData, cudnnConvolutionDescriptor convDesc, ref float beta, cudnnFilterDescriptor gradDesc, CUdeviceptr gradData );
public static extern cudnnStatus cudnnSetFilterNdDescriptor(cudnnFilterDescriptor filterDesc, cudnnDataType dataType, // image data type cudnnTensorFormat format, // layout format int nbDims, int[] filterDimA );
public static extern cudnnStatus cudnnSetFilter4dDescriptor(cudnnFilterDescriptor filterDesc, cudnnDataType dataType, // image data type cudnnTensorFormat format, // layout format int k, // number of output feature maps int c, // number of input feature maps int h, // height of each input filter int w // width of each input fitler );
public static extern cudnnStatus cudnnRNNForwardTraining(cudnnHandle handle, cudnnRNNDescriptor rnnDesc, cudnnTensorDescriptor[] xDesc, CUdeviceptr x, cudnnTensorDescriptor hxDesc, CUdeviceptr hx, cudnnTensorDescriptor cxDesc, CUdeviceptr cx, cudnnFilterDescriptor wDesc, CUdeviceptr w, cudnnTensorDescriptor[] yDesc, CUdeviceptr y, cudnnTensorDescriptor hyDesc, CUdeviceptr hy, cudnnTensorDescriptor cyDesc, CUdeviceptr cy, CUdeviceptr workspace, SizeT workSpaceSizeInBytes, CUdeviceptr reserveSpace, SizeT reserveSpaceSizeInBytes);
public static extern cudnnStatus cudnnRNNBackwardWeights(cudnnHandle handle, cudnnRNNDescriptor rnnDesc, cudnnTensorDescriptor[] xDesc, CUdeviceptr x, cudnnTensorDescriptor hxDesc, CUdeviceptr hx, cudnnTensorDescriptor[] yDesc, CUdeviceptr y, CUdeviceptr workspace, SizeT workSpaceSizeInBytes, cudnnFilterDescriptor dwDesc, CUdeviceptr dw, CUdeviceptr reserveSpace, SizeT reserveSpaceSizeInBytes );
public static extern cudnnStatus cudnnRNNBackwardData(cudnnHandle handle, cudnnRNNDescriptor rnnDesc, cudnnTensorDescriptor[] yDesc, CUdeviceptr y, cudnnTensorDescriptor[] dyDesc, CUdeviceptr dy, cudnnTensorDescriptor dhyDesc, CUdeviceptr dhy, cudnnTensorDescriptor dcyDesc, CUdeviceptr dcy, cudnnFilterDescriptor wDesc, CUdeviceptr w, cudnnTensorDescriptor hxDesc, CUdeviceptr hx, cudnnTensorDescriptor cxDesc, CUdeviceptr cx, cudnnTensorDescriptor[] dxDesc, CUdeviceptr dx, cudnnTensorDescriptor dhxDesc, CUdeviceptr dhx, cudnnTensorDescriptor dcxDesc, CUdeviceptr dcx, CUdeviceptr workspace, SizeT workSpaceSizeInBytes, CUdeviceptr reserveSpace, SizeT reserveSpaceSizeInBytes );
public static extern cudnnStatus cudnnGetRNNLinLayerMatrixParams(cudnnHandle handle, cudnnRNNDescriptor rnnDesc, int layer, cudnnTensorDescriptor[] xDesc, cudnnFilterDescriptor wDesc, CUdeviceptr w, int linLayerID, cudnnFilterDescriptor linLayerMatDesc, CUdeviceptr linLayerMat // void ** );
public static extern cudnnStatus cudnnGetFilter4dDescriptor( cudnnFilterDescriptor filterDesc, ref cudnnDataType dataType, // image data type ref int k, // number of output feature maps ref int c, // number of input feature maps ref int h, // height of each input filter ref int w // width of each input fitler );
public static extern cudnnStatus cudnnSetFilterNdDescriptor( cudnnFilterDescriptor filterDesc, cudnnDataType dataType, // image data type int nbDims, int[] filterDimA );
public static extern cudnnStatus cudnnFindConvolutionBackwardDataAlgorithm( cudnnHandle handle, cudnnFilterDescriptor filterDesc, cudnnTensorDescriptor diffDesc, cudnnConvolutionDescriptor convDesc, cudnnTensorDescriptor gradDesc, int requestedAlgoCount, ref int returnedAlgoCount, cudnnConvolutionBwdDataAlgoPerf[] perfResults );
public static extern cudnnStatus cudnnDestroyFilterDescriptor( cudnnFilterDescriptor filterDesc );
public static extern cudnnStatus cudnnGetConvolutionBackwardDataAlgorithm( cudnnHandle handle, cudnnFilterDescriptor filterDesc, cudnnTensorDescriptor diffDesc, cudnnConvolutionDescriptor convDesc, cudnnTensorDescriptor gradDesc, cudnnConvolutionBwdDataPreference preference, SizeT memoryLimitInbytes, ref cudnnConvolutionBwdDataAlgo algo );
public static extern cudnnStatus cudnnGetConvolutionNdForwardOutputDim( cudnnConvolutionDescriptor convDesc, cudnnTensorDescriptor inputTensorDesc, cudnnFilterDescriptor filterDesc, int nbDims, int[] tensorOuputDimA );
public static extern cudnnStatus cudnnGetConvolutionBackwardDataWorkspaceSize( cudnnHandle handle, cudnnFilterDescriptor filterDesc, cudnnTensorDescriptor diffDesc, cudnnConvolutionDescriptor convDesc, cudnnTensorDescriptor gradDesc, cudnnConvolutionBwdDataAlgo algo, ref SizeT sizeInBytes );
public static extern cudnnStatus cudnnGetConvolutionForwardAlgorithm( cudnnHandle handle, cudnnTensorDescriptor srcDesc, cudnnFilterDescriptor filterDesc, cudnnConvolutionDescriptor convDesc, cudnnTensorDescriptor destDesc, cudnnConvolutionFwdPreference preference, SizeT memoryLimitInbytes, ref cudnnConvolutionFwdAlgo algo );
public static extern cudnnStatus cudnnConvolutionBackwardData( cudnnHandle handle, ref double alpha, cudnnFilterDescriptor filterDesc, CUdeviceptr filterData, cudnnTensorDescriptor diffDesc, CUdeviceptr diffData, cudnnConvolutionDescriptor convDesc, cudnnConvolutionBwdDataAlgo algo, CUdeviceptr workSpace, SizeT workSpaceSizeInBytes, ref double beta, cudnnTensorDescriptor gradDesc, CUdeviceptr gradData );
public static extern cudnnStatus cudnnConvolutionForward( cudnnHandle handle, ref double alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, cudnnFilterDescriptor filterDesc, CUdeviceptr filterData, cudnnConvolutionDescriptor convDesc, cudnnConvolutionFwdAlgo algo, CUdeviceptr workSpace, SizeT workSpaceSizeInBytes, ref double beta, cudnnTensorDescriptor destDesc, CUdeviceptr destData );
public static extern cudnnStatus cudnnConvolutionBackwardData( cudnnHandle handle, ref double alpha, cudnnFilterDescriptor filterDesc, CUdeviceptr filterData, cudnnTensorDescriptor diffDesc, CUdeviceptr diffData, cudnnConvolutionDescriptor convDesc, ref double beta, cudnnTensorDescriptor gradDesc, CUdeviceptr gradData );
public static extern cudnnStatus cudnnIm2Col( cudnnHandle handle, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, cudnnFilterDescriptor filterDesc, cudnnConvolutionDescriptor convDesc, CUdeviceptr colBuffer );
public static extern cudnnStatus cudnnConvolutionBackwardFilter_v3( cudnnHandle handle, ref float alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, cudnnTensorDescriptor diffDesc, CUdeviceptr diffData, cudnnConvolutionDescriptor convDesc, cudnnConvolutionBwdFilterAlgo algo, CUdeviceptr workSpace, SizeT workSpaceSizeInBytes, ref float beta, cudnnFilterDescriptor gradDesc, CUdeviceptr gradData );