/// <summary> /// </summary> public CudaDNNContext() { _handle = new cudnnHandle(); res = CudaDNNNativeMethods.cudnnCreate(ref _handle); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cudnnCreate", res)); if (res != cudnnStatus.Success) throw new CudaDNNException(res); }
/// <summary> /// /// </summary> /// <param name="context"></param> public SpatialTransformerDescriptor(CudaDNNContext context) { _handle = context.Handle; _desc = new cudnnSpatialTransformerDescriptor(); res = CudaDNNNativeMethods.cudnnCreateSpatialTransformerDescriptor(ref _desc); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cudnnCreateSpatialTransformerDescriptor", res)); if (res != cudnnStatus.Success) throw new CudaDNNException(res); }
public static extern cudnnStatus cudnnActivationForward( cudnnHandle handle, cudnnActivationMode mode, ref float alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, ref float beta, cudnnTensorDescriptor destDesc, CUdeviceptr destData );
/// <summary> /// </summary> public CudaDNNContext() { _handle = new cudnnHandle(); res = CudaDNNNativeMethods.cudnnCreate(ref _handle); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cudnnCreate", res)); if (res != cudnnStatus.Success) { throw new CudaDNNException(res); } }
/// <summary> /// </summary> public LRNDescriptor(CudaDNNContext context) { _handle = context.Handle; _desc = new cudnnLRNDescriptor(); res = CudaDNNNativeMethods.cudnnCreateLRNDescriptor(ref _desc); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cudnnCreateLRNDescriptor", res)); if (res != cudnnStatus.Success) { throw new CudaDNNException(res); } }
public static extern cudnnStatus cudnnActivationBackward( cudnnHandle handle, cudnnActivationDescriptor activationDesc, ref float alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, cudnnTensorDescriptor srcDiffDesc, CUdeviceptr srcDiffData, cudnnTensorDescriptor destDesc, CUdeviceptr destData, ref float beta, cudnnTensorDescriptor destDiffDesc, CUdeviceptr destDiffData );
public static extern cudnnStatus cudnnActivationBackward( cudnnHandle handle, cudnnActivationMode mode, ref double alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, cudnnTensorDescriptor srcDiffDesc, CUdeviceptr srcDiffData, cudnnTensorDescriptor destDesc, CUdeviceptr destData, ref double beta, cudnnTensorDescriptor destDiffDesc, CUdeviceptr destDiffData );
public static extern cudnnStatus cudnnScaleTensor( cudnnHandle handle, cudnnTensorDescriptor srcDestDesc, CUdeviceptr srcDestData, ref double alpha );
public static extern cudnnStatus cudnnAddTensor(cudnnHandle handle, ref double alpha, cudnnTensorDescriptor biasDesc, CUdeviceptr biasData, ref double beta, cudnnTensorDescriptor srcDestDesc, CUdeviceptr srcDestData );
public static extern cudnnStatus cudnnSetTensor( cudnnHandle handle, cudnnTensorDescriptor srcDestDesc, CUdeviceptr srcDestData, CUdeviceptr value );
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 cudnnTransformTensor( cudnnHandle handle, ref double alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, 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, cudnnConvolutionBwdDataAlgo algo, CUdeviceptr workSpace, SizeT workSpaceSizeInBytes, ref double beta, cudnnTensorDescriptor gradDesc, CUdeviceptr gradData );
public static extern cudnnStatus cudnnConvolutionBackwardBias(cudnnHandle handle, ref double alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, ref double beta, cudnnTensorDescriptor destDesc, CUdeviceptr destData );
public static extern cudnnStatus cudnnPoolingBackward( cudnnHandle handle, cudnnPoolingDescriptor poolingDesc, ref double alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, cudnnTensorDescriptor srcDiffDesc, CUdeviceptr srcDiffData, cudnnTensorDescriptor destDesc, CUdeviceptr destData, ref double beta, cudnnTensorDescriptor destDiffDesc, CUdeviceptr destDiffData );
public static extern cudnnStatus cudnnGetConvolutionForwardWorkspaceSize( cudnnHandle handle, cudnnTensorDescriptor srcDesc, cudnnFilterDescriptor filterDesc, cudnnConvolutionDescriptor convDesc, cudnnTensorDescriptor destDesc, cudnnConvolutionFwdAlgo algo, ref SizeT sizeInBytes );
public static extern cudnnStatus cudnnSoftmaxBackward( cudnnHandle handle, cudnnSoftmaxAlgorithm algorithm, cudnnSoftmaxMode mode, ref double alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, cudnnTensorDescriptor srcDiffDesc, CUdeviceptr srcDiffData, ref double beta, cudnnTensorDescriptor destDiffDesc, CUdeviceptr destDiffData );
public static extern cudnnStatus cudnnPoolingForward( cudnnHandle handle, cudnnPoolingDescriptor poolingDesc, ref float alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, ref float beta, cudnnTensorDescriptor destDesc, CUdeviceptr destData );
public static extern cudnnStatus cudnnSoftmaxForward( cudnnHandle handle, cudnnSoftmaxAlgorithm algorithm, cudnnSoftmaxMode mode, ref float alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, ref float beta, cudnnTensorDescriptor destDesc, CUdeviceptr destData );
public static extern cudnnStatus cudnnIm2Col( cudnnHandle handle, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, cudnnFilterDescriptor filterDesc, cudnnConvolutionDescriptor convDesc, CUdeviceptr colBuffer );
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 cudnnFindConvolutionForwardAlgorithm(cudnnHandle handle, cudnnTensorDescriptor srcDesc, cudnnFilterDescriptor filterDesc, cudnnConvolutionDescriptor convDesc, cudnnTensorDescriptor destDesc, int requestedAlgoCount, ref int returnedAlgoCount, cudnnConvolutionFwdAlgoPerf[] perfResults );
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 cudnnGetConvolutionForwardAlgorithm( cudnnHandle handle, cudnnTensorDescriptor srcDesc, cudnnFilterDescriptor filterDesc, cudnnConvolutionDescriptor convDesc, cudnnTensorDescriptor destDesc, cudnnConvolutionFwdPreference preference, SizeT memoryLimitInbytes, ref cudnnConvolutionFwdAlgo algo );
public static extern cudnnStatus cudnnGetConvolutionBackwardDataWorkspaceSize( cudnnHandle handle, cudnnFilterDescriptor filterDesc, cudnnTensorDescriptor diffDesc, cudnnConvolutionDescriptor convDesc, cudnnTensorDescriptor gradDesc, cudnnConvolutionBwdDataAlgo algo, ref SizeT sizeInBytes );
public static extern cudnnStatus cudnnCreate(ref cudnnHandle handle);
public static extern cudnnStatus cudnnDivisiveNormalizationForward( cudnnHandle handle, cudnnLRNDescriptor normDesc, cudnnDivNormMode mode, ref double alpha, cudnnTensorDescriptor srcDesc, // same desc for means, temp, temp2 CUdeviceptr srcData, CUdeviceptr srcMeansData, // if NULL, means are assumed to be zero CUdeviceptr tempData, CUdeviceptr tempData2, ref double beta, cudnnTensorDescriptor destDesc, CUdeviceptr destData );
public static extern cudnnStatus cudnnDestroy(cudnnHandle handle);
public static extern cudnnStatus cudnnDivisiveNormalizationBackward( cudnnHandle handle, cudnnLRNDescriptor normDesc, cudnnDivNormMode mode, ref double alpha, cudnnTensorDescriptor srcDesc, // same desc for diff, means, temp, temp2 CUdeviceptr srcData, CUdeviceptr srcMeansData, // if NULL, means are assumed to be zero CUdeviceptr srcDiffData, CUdeviceptr tempData, CUdeviceptr tempData2, ref double beta, cudnnTensorDescriptor destDataDesc, // same desc for dest, means, meansDiff CUdeviceptr destDataDiff, // output data differential CUdeviceptr destMeansDiff // output means differential, can be NULL );
public static extern cudnnStatus cudnnLRNCrossChannelForward( cudnnHandle handle, cudnnLRNDescriptor normDesc, cudnnLRNMode lrnMode, ref float alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, ref float beta, cudnnTensorDescriptor destDesc, CUdeviceptr destData);
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 cudnnLRNCrossChannelBackward( cudnnHandle handle, cudnnLRNDescriptor normDesc, cudnnLRNMode lrnMode, ref double alpha, cudnnTensorDescriptor srcDesc, CUdeviceptr srcData, cudnnTensorDescriptor srcDiffDesc, CUdeviceptr srcDiffData, cudnnTensorDescriptor destDesc, CUdeviceptr destData, ref double beta, cudnnTensorDescriptor destDiffDesc, CUdeviceptr destDiffData);
/// <summary> /// </summary> public DropoutDescriptor(cudnnHandle handle, cudnnDropoutDescriptor desc) { _handle = handle; _desc = desc; }