| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| |
| |
|
|
| #if !defined(CUDNN_OPS_H_) |
| #define CUDNN_OPS_H_ |
|
|
| #include <stdint.h> |
|
|
| #include "cudnn_version.h" |
| #include "cudnn_graph.h" |
|
|
| |
| #define CUDNN_OPS_MAJOR 9 |
| #define CUDNN_OPS_MINOR 10 |
| #define CUDNN_OPS_PATCH 2 |
|
|
| #if (CUDNN_OPS_MAJOR != CUDNN_MAJOR) || (CUDNN_OPS_MINOR != CUDNN_MINOR) || (CUDNN_OPS_PATCH != CUDNN_PATCHLEVEL) |
| #error Version mismatch in cuDNN OPS INFER!!! |
| #endif |
|
|
| #if defined(__cplusplus) |
| extern "C" { |
| #endif |
|
|
| |
| typedef struct cudnnTensorStruct *cudnnTensorDescriptor_t; |
| typedef struct cudnnPoolingStruct *cudnnPoolingDescriptor_t CUDNN_DEPRECATED; |
| typedef struct cudnnFilterStruct *cudnnFilterDescriptor_t CUDNN_DEPRECATED; |
| typedef struct cudnnLRNStruct *cudnnLRNDescriptor_t; |
| typedef struct cudnnActivationStruct *cudnnActivationDescriptor_t CUDNN_DEPRECATED; |
| typedef struct cudnnSpatialTransformerStruct *cudnnSpatialTransformerDescriptor_t; |
| typedef struct cudnnOpTensorStruct *cudnnOpTensorDescriptor_t CUDNN_DEPRECATED; |
| typedef struct cudnnReduceTensorStruct *cudnnReduceTensorDescriptor_t CUDNN_DEPRECATED; |
| typedef struct cudnnCTCLossStruct *cudnnCTCLossDescriptor_t; |
| typedef struct cudnnTensorTransformStruct *cudnnTensorTransformDescriptor_t CUDNN_DEPRECATED; |
| |
| |
| |
| typedef enum { |
| CUDNN_NON_DETERMINISTIC = 0, |
| CUDNN_DETERMINISTIC = 1, |
| } cudnnDeterminism_t; |
|
|
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnCreateTensorDescriptor(cudnnTensorDescriptor_t *tensorDesc); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnSetTensor4dDescriptor(cudnnTensorDescriptor_t tensorDesc, |
| cudnnTensorFormat_t format, |
| cudnnDataType_t dataType, |
| int n, |
| int c, |
| int h, |
| int w); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnSetTensor4dDescriptorEx(cudnnTensorDescriptor_t tensorDesc, |
| cudnnDataType_t dataType, |
| int n, |
| int c, |
| int h, |
| int w, |
| int nStride, |
| int cStride, |
| int hStride, |
| int wStride); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnGetTensor4dDescriptor(const cudnnTensorDescriptor_t tensorDesc, |
| cudnnDataType_t *dataType, |
| int *n, |
| int *c, |
| int *h, |
| int *w, |
| int *nStride, |
| int *cStride, |
| int *hStride, |
| int *wStride); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnSetTensorNdDescriptor(cudnnTensorDescriptor_t tensorDesc, |
| cudnnDataType_t dataType, |
| int nbDims, |
| const int dimA[], |
| const int strideA[]); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnSetTensorNdDescriptorEx(cudnnTensorDescriptor_t tensorDesc, |
| cudnnTensorFormat_t format, |
| cudnnDataType_t dataType, |
| int nbDims, |
| const int dimA[]); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnGetTensorNdDescriptor(const cudnnTensorDescriptor_t tensorDesc, |
| int nbDimsRequested, |
| cudnnDataType_t *dataType, |
| int *nbDims, |
| int dimA[], |
| int strideA[]); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnGetTensorSizeInBytes(const cudnnTensorDescriptor_t tensorDesc, size_t *size); |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnDestroyTensorDescriptor(cudnnTensorDescriptor_t tensorDesc); |
|
|
| |
| typedef enum { |
| CUDNN_TRANSFORM_FOLD = 0U, |
| CUDNN_TRANSFORM_UNFOLD = 1U, |
| } cudnnFoldingDirection_t; |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnInitTransformDest(const cudnnTensorTransformDescriptor_t transformDesc, |
| const cudnnTensorDescriptor_t srcDesc, |
| cudnnTensorDescriptor_t destDesc, |
| size_t *destSizeInBytes); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnCreateTensorTransformDescriptor(cudnnTensorTransformDescriptor_t *transformDesc); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnSetTensorTransformDescriptor(cudnnTensorTransformDescriptor_t transformDesc, |
| const uint32_t nbDims, |
| const cudnnTensorFormat_t destFormat, |
| const int32_t padBeforeA[], |
| const int32_t padAfterA[], |
| const uint32_t foldA[], |
| const cudnnFoldingDirection_t direction); |
|
|
| |
| |
| |
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetTensorTransformDescriptor(cudnnTensorTransformDescriptor_t transformDesc, |
| uint32_t nbDimsRequested, |
| cudnnTensorFormat_t *destFormat, |
| int32_t padBeforeA[], |
| int32_t padAfterA[], |
| uint32_t foldA[], |
| cudnnFoldingDirection_t *direction); |
|
|
| |
| |
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnDestroyTensorTransformDescriptor(cudnnTensorTransformDescriptor_t transformDesc); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnTransformTensor(cudnnHandle_t handle, |
| const void *alpha, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const void *beta, |
| const cudnnTensorDescriptor_t yDesc, |
| void *y); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnTransformTensorEx(cudnnHandle_t handle, |
| const cudnnTensorTransformDescriptor_t transDesc, |
| const void *alpha, |
| const cudnnTensorDescriptor_t srcDesc, |
| const void *srcData, |
| const void *beta, |
| const cudnnTensorDescriptor_t destDesc, |
| void *destData); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnAddTensor(cudnnHandle_t handle, |
| const void *alpha, |
| const cudnnTensorDescriptor_t aDesc, |
| const void *A, |
| const void *beta, |
| const cudnnTensorDescriptor_t cDesc, |
| void *C); |
|
|
| |
| |
| |
| typedef enum { |
| CUDNN_OP_TENSOR_ADD = 0, |
| CUDNN_OP_TENSOR_MUL = 1, |
| CUDNN_OP_TENSOR_MIN = 2, |
| CUDNN_OP_TENSOR_MAX = 3, |
| CUDNN_OP_TENSOR_SQRT = 4, |
| CUDNN_OP_TENSOR_NOT = 5, |
| } cudnnOpTensorOp_t; |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnCreateOpTensorDescriptor(cudnnOpTensorDescriptor_t *opTensorDesc); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnSetOpTensorDescriptor(cudnnOpTensorDescriptor_t opTensorDesc, |
| cudnnOpTensorOp_t opTensorOp, |
| cudnnDataType_t opTensorCompType, |
| cudnnNanPropagation_t opTensorNanOpt); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetOpTensorDescriptor(const cudnnOpTensorDescriptor_t opTensorDesc, |
| cudnnOpTensorOp_t *opTensorOp, |
| cudnnDataType_t *opTensorCompType, |
| cudnnNanPropagation_t *opTensorNanOpt); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnDestroyOpTensorDescriptor(cudnnOpTensorDescriptor_t opTensorDesc); |
|
|
| |
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnOpTensor(cudnnHandle_t handle, |
| const cudnnOpTensorDescriptor_t opTensorDesc, |
| const void *alpha1, |
| const cudnnTensorDescriptor_t aDesc, |
| const void *A, |
| const void *alpha2, |
| const cudnnTensorDescriptor_t bDesc, |
| const void *B, |
| const void *beta, |
| const cudnnTensorDescriptor_t cDesc, |
| void *C); |
|
|
| |
| |
| |
| typedef enum { |
| CUDNN_REDUCE_TENSOR_NO_INDICES = 0, |
| CUDNN_REDUCE_TENSOR_FLATTENED_INDICES = 1, |
| } cudnnReduceTensorIndices_t CUDNN_DEPRECATED; |
|
|
| |
| |
| |
| |
| typedef enum { |
| CUDNN_32BIT_INDICES = 0, |
| CUDNN_64BIT_INDICES = 1, |
| CUDNN_16BIT_INDICES = 2, |
| CUDNN_8BIT_INDICES = 3, |
| } cudnnIndicesType_t CUDNN_DEPRECATED; |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnCreateReduceTensorDescriptor(cudnnReduceTensorDescriptor_t *reduceTensorDesc); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnSetReduceTensorDescriptor(cudnnReduceTensorDescriptor_t reduceTensorDesc, |
| cudnnReduceTensorOp_t reduceTensorOp, |
| cudnnDataType_t reduceTensorCompType, |
| cudnnNanPropagation_t reduceTensorNanOpt, |
| cudnnReduceTensorIndices_t reduceTensorIndices, |
| cudnnIndicesType_t reduceTensorIndicesType); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetReduceTensorDescriptor(const cudnnReduceTensorDescriptor_t reduceTensorDesc, |
| cudnnReduceTensorOp_t *reduceTensorOp, |
| cudnnDataType_t *reduceTensorCompType, |
| cudnnNanPropagation_t *reduceTensorNanOpt, |
| cudnnReduceTensorIndices_t *reduceTensorIndices, |
| cudnnIndicesType_t *reduceTensorIndicesType); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnDestroyReduceTensorDescriptor(cudnnReduceTensorDescriptor_t reduceTensorDesc); |
|
|
| |
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetReductionIndicesSize(cudnnHandle_t handle, |
| const cudnnReduceTensorDescriptor_t reduceTensorDesc, |
| const cudnnTensorDescriptor_t aDesc, |
| const cudnnTensorDescriptor_t cDesc, |
| size_t *sizeInBytes); |
|
|
| |
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetReductionWorkspaceSize(cudnnHandle_t handle, |
| const cudnnReduceTensorDescriptor_t reduceTensorDesc, |
| const cudnnTensorDescriptor_t aDesc, |
| const cudnnTensorDescriptor_t cDesc, |
| size_t *sizeInBytes); |
|
|
| |
| |
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnReduceTensor(cudnnHandle_t handle, |
| const cudnnReduceTensorDescriptor_t reduceTensorDesc, |
| void *indices, |
| size_t indicesSizeInBytes, |
| void *workspace, |
| size_t workspaceSizeInBytes, |
| const void *alpha, |
| const cudnnTensorDescriptor_t aDesc, |
| const void *A, |
| const void *beta, |
| const cudnnTensorDescriptor_t cDesc, |
| void *C); |
|
|
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnSetTensor(cudnnHandle_t handle, const cudnnTensorDescriptor_t yDesc, void *y, const void *valuePtr); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnScaleTensor(cudnnHandle_t handle, const cudnnTensorDescriptor_t yDesc, void *y, const void *alpha); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnCreateFilterDescriptor(cudnnFilterDescriptor_t *filterDesc); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnSetFilter4dDescriptor(cudnnFilterDescriptor_t filterDesc, |
| cudnnDataType_t dataType, |
| cudnnTensorFormat_t format, |
| int k, |
| int c, |
| int h, |
| int w); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetFilter4dDescriptor(const cudnnFilterDescriptor_t filterDesc, |
| cudnnDataType_t *dataType, |
| cudnnTensorFormat_t *format, |
| int *k, |
| int *c, |
| int *h, |
| int *w); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnSetFilterNdDescriptor(cudnnFilterDescriptor_t filterDesc, |
| cudnnDataType_t dataType, |
| cudnnTensorFormat_t format, |
| int nbDims, |
| const int filterDimA[]); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetFilterNdDescriptor(const cudnnFilterDescriptor_t filterDesc, |
| int nbDimsRequested, |
| cudnnDataType_t *dataType, |
| cudnnTensorFormat_t *format, |
| int *nbDims, |
| int filterDimA[]); |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetFilterSizeInBytes(const cudnnFilterDescriptor_t filterDesc, size_t *size); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnTransformFilter(cudnnHandle_t handle, |
| const cudnnTensorTransformDescriptor_t transDesc, |
| const void *alpha, |
| const cudnnFilterDescriptor_t srcDesc, |
| const void *srcData, |
| const void *beta, |
| const cudnnFilterDescriptor_t destDesc, |
| void *destData); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnDestroyFilterDescriptor(cudnnFilterDescriptor_t filterDesc); |
|
|
| |
| |
| |
| typedef enum { |
| CUDNN_SOFTMAX_FAST = 0, |
| CUDNN_SOFTMAX_ACCURATE = 1, |
| CUDNN_SOFTMAX_LOG = 2 |
| } cudnnSoftmaxAlgorithm_t; |
|
|
| typedef enum { |
| CUDNN_SOFTMAX_MODE_INSTANCE = 0, |
| CUDNN_SOFTMAX_MODE_CHANNEL = 1 |
| } cudnnSoftmaxMode_t; |
|
|
| |
|
|
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnSoftmaxForward(cudnnHandle_t handle, |
| cudnnSoftmaxAlgorithm_t algo, |
| cudnnSoftmaxMode_t mode, |
| const void *alpha, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const void *beta, |
| const cudnnTensorDescriptor_t yDesc, |
| void *y); |
|
|
| |
| |
| |
| typedef enum { |
| CUDNN_POOLING_MAX = 0, |
| CUDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING = 1, |
| CUDNN_POOLING_AVERAGE_COUNT_EXCLUDE_PADDING = 2, |
| CUDNN_POOLING_MAX_DETERMINISTIC = 3 |
| } cudnnPoolingMode_t CUDNN_DEPRECATED; |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnCreatePoolingDescriptor(cudnnPoolingDescriptor_t *poolingDesc); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnSetPooling2dDescriptor(cudnnPoolingDescriptor_t poolingDesc, |
| cudnnPoolingMode_t mode, |
| cudnnNanPropagation_t maxpoolingNanOpt, |
| int windowHeight, |
| int windowWidth, |
| int verticalPadding, |
| int horizontalPadding, |
| int verticalStride, |
| int horizontalStride); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetPooling2dDescriptor(const cudnnPoolingDescriptor_t poolingDesc, |
| cudnnPoolingMode_t *mode, |
| cudnnNanPropagation_t *maxpoolingNanOpt, |
| int *windowHeight, |
| int *windowWidth, |
| int *verticalPadding, |
| int *horizontalPadding, |
| int *verticalStride, |
| int *horizontalStride); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnSetPoolingNdDescriptor(cudnnPoolingDescriptor_t poolingDesc, |
| const cudnnPoolingMode_t mode, |
| const cudnnNanPropagation_t maxpoolingNanOpt, |
| int nbDims, |
| const int windowDimA[], |
| const int paddingA[], |
| const int strideA[]); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetPoolingNdDescriptor(const cudnnPoolingDescriptor_t poolingDesc, |
| int nbDimsRequested, |
| cudnnPoolingMode_t *mode, |
| cudnnNanPropagation_t *maxpoolingNanOpt, |
| int *nbDims, |
| int windowDimA[], |
| int paddingA[], |
| int strideA[]); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetPoolingNdForwardOutputDim(const cudnnPoolingDescriptor_t poolingDesc, |
| const cudnnTensorDescriptor_t inputTensorDesc, |
| int nbDims, |
| int outputTensorDimA[]); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetPooling2dForwardOutputDim(const cudnnPoolingDescriptor_t poolingDesc, |
| const cudnnTensorDescriptor_t inputTensorDesc, |
| int *n, |
| int *c, |
| int *h, |
| int *w); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnDestroyPoolingDescriptor(cudnnPoolingDescriptor_t poolingDesc); |
|
|
| |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnPoolingForward(cudnnHandle_t handle, |
| const cudnnPoolingDescriptor_t poolingDesc, |
| const void *alpha, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const void *beta, |
| const cudnnTensorDescriptor_t yDesc, |
| void *y); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnCreateActivationDescriptor(cudnnActivationDescriptor_t *activationDesc); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnSetActivationDescriptor(cudnnActivationDescriptor_t activationDesc, |
| cudnnActivationMode_t mode, |
| cudnnNanPropagation_t reluNanOpt, |
| double coef); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetActivationDescriptor(const cudnnActivationDescriptor_t activationDesc, |
| cudnnActivationMode_t *mode, |
| cudnnNanPropagation_t *reluNanOpt, |
| double *coef); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnSetActivationDescriptorSwishBeta(cudnnActivationDescriptor_t activationDesc, double swish_beta); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetActivationDescriptorSwishBeta(cudnnActivationDescriptor_t activationDesc, double *swish_beta); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnDestroyActivationDescriptor(cudnnActivationDescriptor_t activationDesc); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnActivationForward(cudnnHandle_t handle, |
| cudnnActivationDescriptor_t activationDesc, |
| const void *alpha, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const void *beta, |
| const cudnnTensorDescriptor_t yDesc, |
| void *y); |
|
|
| |
| |
| |
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnCreateLRNDescriptor(cudnnLRNDescriptor_t *normDesc); |
|
|
| #define CUDNN_LRN_MIN_N 1 |
| #define CUDNN_LRN_MAX_N 16 |
| #define CUDNN_LRN_MIN_K 1e-5 |
| #define CUDNN_LRN_MIN_BETA 0.01 |
|
|
| |
| typedef enum { |
| CUDNN_LRN_CROSS_CHANNEL_DIM1 = 0, |
| } cudnnLRNMode_t; |
|
|
| |
| |
| |
| |
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnSetLRNDescriptor(cudnnLRNDescriptor_t normDesc, unsigned lrnN, double lrnAlpha, double lrnBeta, double lrnK); |
| |
| |
| |
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnGetLRNDescriptor(cudnnLRNDescriptor_t normDesc, unsigned *lrnN, double *lrnAlpha, double *lrnBeta, double *lrnK); |
|
|
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnDestroyLRNDescriptor(cudnnLRNDescriptor_t lrnDesc); |
|
|
| |
|
|
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnLRNCrossChannelForward(cudnnHandle_t handle, |
| cudnnLRNDescriptor_t normDesc, |
| cudnnLRNMode_t lrnMode, |
| const void *alpha, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const void *beta, |
| const cudnnTensorDescriptor_t yDesc, |
| void *y); |
|
|
| typedef enum { |
| CUDNN_DIVNORM_PRECOMPUTED_MEANS = 0, |
| } cudnnDivNormMode_t; |
|
|
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnDivisiveNormalizationForward(cudnnHandle_t handle, |
| cudnnLRNDescriptor_t normDesc, |
| cudnnDivNormMode_t mode, |
| const void *alpha, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const void *means, |
| void *temp, |
| void *temp2, |
| const void *beta, |
| const cudnnTensorDescriptor_t yDesc, |
| void *y); |
|
|
| typedef enum { |
| |
| CUDNN_BATCHNORM_PER_ACTIVATION = 0, |
|
|
| |
| CUDNN_BATCHNORM_SPATIAL = 1, |
|
|
| |
| |
| |
| |
| CUDNN_BATCHNORM_SPATIAL_PERSISTENT = 2, |
| } cudnnBatchNormMode_t CUDNN_DEPRECATED; |
|
|
| #define CUDNN_BN_MIN_EPSILON 0.0 |
|
|
| |
| |
| |
| |
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnDeriveBNTensorDescriptor(cudnnTensorDescriptor_t derivedBnDesc, |
| const cudnnTensorDescriptor_t xDesc, |
| cudnnBatchNormMode_t mode); |
|
|
| typedef enum { |
| CUDNN_BATCHNORM_OPS_BN = 0, |
| CUDNN_BATCHNORM_OPS_BN_ACTIVATION = 1, |
| CUDNN_BATCHNORM_OPS_BN_ADD_ACTIVATION = 2, |
| } cudnnBatchNormOps_t CUDNN_DEPRECATED; |
|
|
| |
| |
| |
| |
| |
| |
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnBatchNormalizationForwardInference(cudnnHandle_t handle, |
| cudnnBatchNormMode_t mode, |
| const void *alpha, |
| const void *beta, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const cudnnTensorDescriptor_t yDesc, |
| void *y, |
| const cudnnTensorDescriptor_t bnScaleBiasMeanVarDesc, |
| const void *bnScale, |
| const void *bnBias, |
| const void *estimatedMean, |
| const void *estimatedVariance, |
| double epsilon); |
|
|
| typedef enum { |
| |
| CUDNN_NORM_PER_ACTIVATION = 0, |
|
|
| |
| CUDNN_NORM_PER_CHANNEL = 1, |
| } cudnnNormMode_t CUDNN_DEPRECATED; |
|
|
| typedef enum { CUDNN_NORM_ALGO_STANDARD = 0, CUDNN_NORM_ALGO_PERSIST = 1 } cudnnNormAlgo_t CUDNN_DEPRECATED; |
|
|
| |
| |
| |
| |
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnDeriveNormTensorDescriptor(cudnnTensorDescriptor_t derivedNormScaleBiasDesc, |
| cudnnTensorDescriptor_t derivedNormMeanVarDesc, |
| const cudnnTensorDescriptor_t xDesc, |
| cudnnNormMode_t mode, |
| int groupCnt); |
|
|
| typedef enum { |
| CUDNN_NORM_OPS_NORM = 0, |
| CUDNN_NORM_OPS_NORM_ACTIVATION = 1, |
| CUDNN_NORM_OPS_NORM_ADD_ACTIVATION = 2, |
| } cudnnNormOps_t CUDNN_DEPRECATED; |
|
|
| |
| |
| |
| |
| |
| |
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnNormalizationForwardInference(cudnnHandle_t handle, |
| cudnnNormMode_t mode, |
| cudnnNormOps_t normOps, |
| cudnnNormAlgo_t algo, |
| const void *alpha, |
| const void *beta, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const cudnnTensorDescriptor_t normScaleBiasDesc, |
| const void *normScale, |
| const void *normBias, |
| const cudnnTensorDescriptor_t normMeanVarDesc, |
| const void *estimatedMean, |
| const void *estimatedVariance, |
| const cudnnTensorDescriptor_t zDesc, |
| const void *z, |
| cudnnActivationDescriptor_t activationDesc, |
| const cudnnTensorDescriptor_t yDesc, |
| void *y, |
| double epsilon, |
| int groupCnt); |
|
|
| |
| typedef enum { |
| CUDNN_SAMPLER_BILINEAR = 0, |
| } cudnnSamplerType_t; |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnCreateSpatialTransformerDescriptor(cudnnSpatialTransformerDescriptor_t *stDesc); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnSetSpatialTransformerNdDescriptor(cudnnSpatialTransformerDescriptor_t stDesc, |
| cudnnSamplerType_t samplerType, |
| cudnnDataType_t dataType, |
| const int nbDims, |
| const int dimA[]); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnDestroySpatialTransformerDescriptor(cudnnSpatialTransformerDescriptor_t stDesc); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnSpatialTfGridGeneratorForward(cudnnHandle_t handle, |
| const cudnnSpatialTransformerDescriptor_t stDesc, |
| const void *theta, |
| void *grid); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnSpatialTfSamplerForward(cudnnHandle_t handle, |
| cudnnSpatialTransformerDescriptor_t stDesc, |
| const void *alpha, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const void *grid, |
| const void *beta, |
| cudnnTensorDescriptor_t yDesc, |
| void *y); |
|
|
| typedef struct cudnnDropoutStruct *cudnnDropoutDescriptor_t; |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnCreateDropoutDescriptor(cudnnDropoutDescriptor_t *dropoutDesc); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnDestroyDropoutDescriptor(cudnnDropoutDescriptor_t dropoutDesc); |
|
|
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnDropoutGetStatesSize(cudnnHandle_t handle, size_t *sizeInBytes); |
|
|
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnDropoutGetReserveSpaceSize(cudnnTensorDescriptor_t xdesc, size_t *sizeInBytes); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnSetDropoutDescriptor(cudnnDropoutDescriptor_t dropoutDesc, |
| cudnnHandle_t handle, |
| float dropout, |
| void *states, |
| size_t stateSizeInBytes, |
| unsigned long long seed); |
|
|
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnRestoreDropoutDescriptor(cudnnDropoutDescriptor_t dropoutDesc, |
| cudnnHandle_t handle, |
| float dropout, |
| void *states, |
| size_t stateSizeInBytes, |
| unsigned long long seed); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnGetDropoutDescriptor(cudnnDropoutDescriptor_t dropoutDesc, |
| cudnnHandle_t handle, |
| float *dropout, |
| void **states, |
| unsigned long long *seed); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnDropoutForward(cudnnHandle_t handle, |
| const cudnnDropoutDescriptor_t dropoutDesc, |
| const cudnnTensorDescriptor_t xdesc, |
| const void *x, |
| const cudnnTensorDescriptor_t ydesc, |
| void *y, |
| void *reserveSpace, |
| size_t reserveSpaceSizeInBytes); |
|
|
| |
| typedef enum { |
| CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_GEMM = 0, |
| CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM = 1, |
| CUDNN_CONVOLUTION_FWD_ALGO_GEMM = 2, |
| CUDNN_CONVOLUTION_FWD_ALGO_DIRECT = 3, |
| CUDNN_CONVOLUTION_FWD_ALGO_FFT = 4, |
| CUDNN_CONVOLUTION_FWD_ALGO_FFT_TILING = 5, |
| CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD = 6, |
| CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED = 7, |
| CUDNN_CONVOLUTION_FWD_ALGO_COUNT = 8 |
| } cudnnConvolutionFwdAlgo_t; |
|
|
| typedef enum { |
| CUDNN_CONVOLUTION_BWD_FILTER_ALGO_0 = 0, |
| CUDNN_CONVOLUTION_BWD_FILTER_ALGO_1 = 1, |
| CUDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT = 2, |
| CUDNN_CONVOLUTION_BWD_FILTER_ALGO_3 = 3, |
| CUDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD = 4, |
| CUDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD_NONFUSED = 5, |
| CUDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT_TILING = 6, |
| CUDNN_CONVOLUTION_BWD_FILTER_ALGO_COUNT = 7 |
| } cudnnConvolutionBwdFilterAlgo_t; |
|
|
| typedef enum { |
| CUDNN_CONVOLUTION_BWD_DATA_ALGO_0 = 0, |
| CUDNN_CONVOLUTION_BWD_DATA_ALGO_1 = 1, |
| CUDNN_CONVOLUTION_BWD_DATA_ALGO_FFT = 2, |
| CUDNN_CONVOLUTION_BWD_DATA_ALGO_FFT_TILING = 3, |
| CUDNN_CONVOLUTION_BWD_DATA_ALGO_WINOGRAD = 4, |
| CUDNN_CONVOLUTION_BWD_DATA_ALGO_WINOGRAD_NONFUSED = 5, |
| CUDNN_CONVOLUTION_BWD_DATA_ALGO_COUNT = 6 |
| } cudnnConvolutionBwdDataAlgo_t; |
|
|
| typedef enum { CUDNN_CTC_LOSS_ALGO_DETERMINISTIC = 0, CUDNN_CTC_LOSS_ALGO_NON_DETERMINISTIC = 1 } cudnnCTCLossAlgo_t; |
|
|
| |
| |
| |
| |
| |
| |
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnOpsVersionCheck(void); |
|
|
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnSoftmaxBackward(cudnnHandle_t handle, |
| cudnnSoftmaxAlgorithm_t algo, |
| cudnnSoftmaxMode_t mode, |
| const void *alpha, |
| const cudnnTensorDescriptor_t yDesc, |
| const void *y, |
| const cudnnTensorDescriptor_t dyDesc, |
| const void *dy, |
| const void *beta, |
| const cudnnTensorDescriptor_t dxDesc, |
| void *dx); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnPoolingBackward(cudnnHandle_t handle, |
| const cudnnPoolingDescriptor_t poolingDesc, |
| const void *alpha, |
| const cudnnTensorDescriptor_t yDesc, |
| const void *y, |
| const cudnnTensorDescriptor_t dyDesc, |
| const void *dy, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const void *beta, |
| const cudnnTensorDescriptor_t dxDesc, |
| void *dx); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnActivationBackward(cudnnHandle_t handle, |
| cudnnActivationDescriptor_t activationDesc, |
| const void *alpha, |
| const cudnnTensorDescriptor_t yDesc, |
| const void *y, |
| const cudnnTensorDescriptor_t dyDesc, |
| const void *dy, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const void *beta, |
| const cudnnTensorDescriptor_t dxDesc, |
| void *dx); |
|
|
| |
| cudnnStatus_t CUDNNWINAPI |
| cudnnLRNCrossChannelBackward(cudnnHandle_t handle, |
| cudnnLRNDescriptor_t normDesc, |
| cudnnLRNMode_t lrnMode, |
| const void *alpha, |
| const cudnnTensorDescriptor_t yDesc, |
| const void *y, |
| const cudnnTensorDescriptor_t dyDesc, |
| const void *dy, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const void *beta, |
| const cudnnTensorDescriptor_t dxDesc, |
| void *dx); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnDivisiveNormalizationBackward(cudnnHandle_t handle, |
| cudnnLRNDescriptor_t normDesc, |
| cudnnDivNormMode_t mode, |
| const void *alpha, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const void *means, |
| const void *dy, |
| void *temp, |
| void *temp2, |
| const void *beta, |
| const cudnnTensorDescriptor_t dXdMeansDesc, |
| void *dx, |
| void *dMeans); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetBatchNormalizationForwardTrainingExWorkspaceSize(cudnnHandle_t handle, |
| cudnnBatchNormMode_t mode, |
| cudnnBatchNormOps_t bnOps, |
| const cudnnTensorDescriptor_t xDesc, |
| const cudnnTensorDescriptor_t zDesc, |
| const cudnnTensorDescriptor_t yDesc, |
| const cudnnTensorDescriptor_t bnScaleBiasMeanVarDesc, |
| const cudnnActivationDescriptor_t activationDesc, |
| size_t *sizeInBytes); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetBatchNormalizationBackwardExWorkspaceSize(cudnnHandle_t handle, |
| cudnnBatchNormMode_t mode, |
| cudnnBatchNormOps_t bnOps, |
| const cudnnTensorDescriptor_t xDesc, |
| const cudnnTensorDescriptor_t yDesc, |
| const cudnnTensorDescriptor_t dyDesc, |
| const cudnnTensorDescriptor_t dzDesc, |
| const cudnnTensorDescriptor_t dxDesc, |
| const cudnnTensorDescriptor_t dBnScaleBiasDesc, |
| const cudnnActivationDescriptor_t activationDesc, |
| size_t *sizeInBytes); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetBatchNormalizationTrainingExReserveSpaceSize(cudnnHandle_t handle, |
| cudnnBatchNormMode_t mode, |
| cudnnBatchNormOps_t bnOps, |
| const cudnnActivationDescriptor_t activationDesc, |
| const cudnnTensorDescriptor_t xDesc, |
| size_t *sizeInBytes); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnBatchNormalizationForwardTraining( |
| cudnnHandle_t handle, |
| cudnnBatchNormMode_t mode, |
| |
| const void *alpha, |
| const void *beta, |
| |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const cudnnTensorDescriptor_t yDesc, |
| void *y, |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| const cudnnTensorDescriptor_t bnScaleBiasMeanVarDesc, |
| |
| |
| const void *bnScale, |
| const void *bnBias, |
| |
| |
| |
| |
| |
| |
| |
| |
| double exponentialAverageFactor, |
| |
| |
| |
| void *resultRunningMean, |
| |
| |
| void *resultRunningVariance, |
| |
| |
| double epsilon, |
| |
| |
| |
| void *resultSaveMean, |
| void *resultSaveInvVariance); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnBatchNormalizationForwardTrainingEx( |
| cudnnHandle_t handle, |
| cudnnBatchNormMode_t mode, |
| cudnnBatchNormOps_t bnOps, |
| |
| const void *alpha, |
| const void *beta, |
| |
| const cudnnTensorDescriptor_t xDesc, |
| const void *xData, |
| const cudnnTensorDescriptor_t zDesc, |
| const void *zData, |
| const cudnnTensorDescriptor_t yDesc, |
| void *yData, |
| |
| const cudnnTensorDescriptor_t bnScaleBiasMeanVarDesc, |
| const void *bnScale, |
| const void *bnBias, |
| |
| double exponentialAverageFactor, |
| void *resultRunningMean, |
| void *resultRunningVariance, |
| |
| |
| double epsilon, |
| |
| |
| |
| void *resultSaveMean, |
| void *resultSaveInvVariance, |
| |
| cudnnActivationDescriptor_t activationDesc, |
| void *workspace, |
| size_t workSpaceSizeInBytes, |
| void *reserveSpace, |
| size_t reserveSpaceSizeInBytes); |
|
|
| |
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnBatchNormalizationBackward(cudnnHandle_t handle, |
| cudnnBatchNormMode_t mode, |
| const void *alphaDataDiff, |
| const void *betaDataDiff, |
| const void *alphaParamDiff, |
| const void *betaParamDiff, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const cudnnTensorDescriptor_t dyDesc, |
| const void *dy, |
| const cudnnTensorDescriptor_t dxDesc, |
| void *dx, |
| |
| const cudnnTensorDescriptor_t dBnScaleBiasDesc, |
| const void *bnScale, |
| |
| void *dBnScaleResult, |
| void *dBnBiasResult, |
| |
| double epsilon, |
| |
| |
| |
| const void *savedMean, |
| const void *savedInvVariance); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnBatchNormalizationBackwardEx(cudnnHandle_t handle, |
| cudnnBatchNormMode_t mode, |
| cudnnBatchNormOps_t bnOps, |
| |
| const void *alphaDataDiff, |
| const void *betaDataDiff, |
| const void *alphaParamDiff, |
| const void *betaParamDiff, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *xData, |
| const cudnnTensorDescriptor_t yDesc, |
| const void *yData, |
| const cudnnTensorDescriptor_t dyDesc, |
| const void *dyData, |
| const cudnnTensorDescriptor_t dzDesc, |
| void *dzData, |
| const cudnnTensorDescriptor_t dxDesc, |
| void *dxData, |
| |
| |
| const cudnnTensorDescriptor_t dBnScaleBiasDesc, |
| const void *bnScaleData, |
| const void *bnBiasData, |
| void *dBnScaleData, |
| void *dBnBiasData, |
| double epsilon, |
| |
| |
| |
| const void *savedMean, |
| const void *savedInvVariance, |
| cudnnActivationDescriptor_t activationDesc, |
| void *workSpace, |
| size_t workSpaceSizeInBytes, |
| void *reserveSpace, |
| size_t reserveSpaceSizeInBytes); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetNormalizationForwardTrainingWorkspaceSize(cudnnHandle_t handle, |
| cudnnNormMode_t mode, |
| cudnnNormOps_t normOps, |
| cudnnNormAlgo_t algo, |
| const cudnnTensorDescriptor_t xDesc, |
| const cudnnTensorDescriptor_t zDesc, |
| const cudnnTensorDescriptor_t yDesc, |
| const cudnnTensorDescriptor_t normScaleBiasDesc, |
| const cudnnActivationDescriptor_t activationDesc, |
| const cudnnTensorDescriptor_t normMeanVarDesc, |
| size_t *sizeInBytes, |
| int groupCnt); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetNormalizationBackwardWorkspaceSize(cudnnHandle_t handle, |
| cudnnNormMode_t mode, |
| cudnnNormOps_t normOps, |
| cudnnNormAlgo_t algo, |
| const cudnnTensorDescriptor_t xDesc, |
| const cudnnTensorDescriptor_t yDesc, |
| const cudnnTensorDescriptor_t dyDesc, |
| const cudnnTensorDescriptor_t dzDesc, |
| const cudnnTensorDescriptor_t dxDesc, |
| const cudnnTensorDescriptor_t dNormScaleBiasDesc, |
| const cudnnActivationDescriptor_t activationDesc, |
| const cudnnTensorDescriptor_t normMeanVarDesc, |
| size_t *sizeInBytes, |
| int groupCnt); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnGetNormalizationTrainingReserveSpaceSize(cudnnHandle_t handle, |
| cudnnNormMode_t mode, |
| cudnnNormOps_t normOps, |
| cudnnNormAlgo_t algo, |
| const cudnnActivationDescriptor_t activationDesc, |
| const cudnnTensorDescriptor_t xDesc, |
| size_t *sizeInBytes, |
| int groupCnt); |
|
|
| |
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnNormalizationForwardTraining(cudnnHandle_t handle, |
| cudnnNormMode_t mode, |
| cudnnNormOps_t normOps, |
| cudnnNormAlgo_t algo, |
| const void *alpha, |
| const void *beta, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *xData, |
| const cudnnTensorDescriptor_t normScaleBiasDesc, |
| const void *normScale, |
| const void *normBias, |
| double exponentialAverageFactor, |
| const cudnnTensorDescriptor_t normMeanVarDesc, |
| void *resultRunningMean, |
| void *resultRunningVariance, |
| |
| double epsilon, |
| |
| |
| void *resultSaveMean, |
| void *resultSaveInvVariance, |
| cudnnActivationDescriptor_t activationDesc, |
| const cudnnTensorDescriptor_t zDesc, |
| const void *zData, |
| const cudnnTensorDescriptor_t yDesc, |
| void *yData, |
| void *workspace, |
| size_t workSpaceSizeInBytes, |
| void *reserveSpace, |
| size_t reserveSpaceSizeInBytes, |
| int groupCnt); |
|
|
| CUDNN_DEPRECATED cudnnStatus_t CUDNNWINAPI |
| cudnnNormalizationBackward(cudnnHandle_t handle, |
| cudnnNormMode_t mode, |
| cudnnNormOps_t normOps, |
| cudnnNormAlgo_t algo, |
| const void *alphaDataDiff, |
| const void *betaDataDiff, |
| const void *alphaParamDiff, |
| const void *betaParamDiff, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *xData, |
| const cudnnTensorDescriptor_t yDesc, |
| const void *yData, |
| const cudnnTensorDescriptor_t dyDesc, |
| const void *dyData, |
| const cudnnTensorDescriptor_t dzDesc, |
| void *dzData, |
| const cudnnTensorDescriptor_t dxDesc, |
| void *dxData, |
| |
| const cudnnTensorDescriptor_t dNormScaleBiasDesc, |
| const void *normScaleData, |
| const void *normBiasData, |
| void *dNormScaleData, |
| void *dNormBiasData, |
| double epsilon, |
| const cudnnTensorDescriptor_t normMeanVarDesc, |
| |
| |
| const void *savedMean, |
| const void *savedInvVariance, |
| cudnnActivationDescriptor_t activationDesc, |
| void *workSpace, |
| size_t workSpaceSizeInBytes, |
| void *reserveSpace, |
| size_t reserveSpaceSizeInBytes, |
| int groupCnt); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnSpatialTfGridGeneratorBackward(cudnnHandle_t handle, |
| const cudnnSpatialTransformerDescriptor_t stDesc, |
| const void *dgrid, |
| void *dtheta); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnSpatialTfSamplerBackward(cudnnHandle_t handle, |
| cudnnSpatialTransformerDescriptor_t stDesc, |
| const void *alpha, |
| const cudnnTensorDescriptor_t xDesc, |
| const void *x, |
| const void *beta, |
| const cudnnTensorDescriptor_t dxDesc, |
| void *dx, |
| const void *alphaDgrid, |
| const cudnnTensorDescriptor_t dyDesc, |
| const void *dy, |
| const void *grid, |
| const void *betaDgrid, |
| void *dgrid); |
|
|
| cudnnStatus_t CUDNNWINAPI |
| cudnnDropoutBackward(cudnnHandle_t handle, |
| const cudnnDropoutDescriptor_t dropoutDesc, |
| const cudnnTensorDescriptor_t dydesc, |
| const void *dy, |
| const cudnnTensorDescriptor_t dxdesc, |
| void *dx, |
| void *reserveSpace, |
| size_t reserveSpaceSizeInBytes); |
|
|
| #if defined(__cplusplus) |
| } |
| #endif |
|
|
| #endif |
|
|