Fichiers
rocm-systems/docs/markdown/CUDNN_API_supported_by_HIP.md
T

578 lignes
72 KiB
Markdown
Brut Vue normale Historique

2018-07-20 21:00:24 +03:00
# CUDNN API supported by HIP
## **1. CUDNN Data types**
| **type** | **CUDA** | **HIP** |**HIP value** (if differs) |
|-------------:|---------------------------------------------------------------|------------------------------------------------------------|---------------------------|
2018-07-20 21:00:24 +03:00
| define |`CUDNN_VERSION` |`HIPDNN_VERSION` |
| struct |`cudnnContext` | |
| struct* |`cudnnHandle_t` |`hipdnnHandle_t` |
| enum |***`cudnnStatus_t`*** |***`hipdnnStatus_t`*** |
| 0 |*`CUDNN_STATUS_SUCCESS`* |*`HIPDNN_STATUS_SUCCESS`* |
| 1 |*`CUDNN_STATUS_NOT_INITIALIZED`* |*`HIPDNN_STATUS_NOT_INITIALIZED`* |
| 2 |*`CUDNN_STATUS_ALLOC_FAILED`* |*`HIPDNN_STATUS_ALLOC_FAILED`* |
| 3 |*`CUDNN_STATUS_BAD_PARAM`* |*`HIPDNN_STATUS_BAD_PARAM`* |
| 4 |*`CUDNN_STATUS_INTERNAL_ERROR`* |*`HIPDNN_STATUS_INTERNAL_ERROR`* |
| 5 |*`CUDNN_STATUS_INVALID_VALUE`* |*`HIPDNN_STATUS_INVALID_VALUE`* |
| 6 |*`CUDNN_STATUS_ARCH_MISMATCH`* |*`HIPDNN_STATUS_ARCH_MISMATCH`* |
| 7 |*`CUDNN_STATUS_MAPPING_ERROR`* |*`HIPDNN_STATUS_MAPPING_ERROR`* |
| 8 |*`CUDNN_STATUS_EXECUTION_FAILED`* |*`HIPDNN_STATUS_EXECUTION_FAILED`* |
| 9 |*`CUDNN_STATUS_NOT_SUPPORTED`* |*`HIPDNN_STATUS_NOT_SUPPORTED`* |
| 10 |*`CUDNN_STATUS_LICENSE_ERROR`* |*`HIPDNN_STATUS_LICENSE_ERROR`* |
| 11 |*`CUDNN_STATUS_RUNTIME_PREREQUISITE_MISSING`* |*`HIPDNN_STATUS_RUNTIME_PREREQUISITE_MISSING`* |
| 12 |*`CUDNN_STATUS_RUNTIME_IN_PROGRESS`* | |
| 13 |*`CUDNN_STATUS_RUNTIME_FP_OVERFLOW`* | |
| struct |`cudnnRuntimeTag_t` | |
| enum |***`cudnnErrQueryMode_t`*** | |
| 0 |*`CUDNN_ERRQUERY_RAWCODE`* | |
| 1 |*`CUDNN_ERRQUERY_NONBLOCKING`* | |
| 2 |*`CUDNN_ERRQUERY_BLOCKING`* | |
| struct |`cudnnTensorStruct` | |
| struct* |`cudnnTensorDescriptor_t` |`hipdnnTensorDescriptor_t` |
| struct |`cudnnConvolutionStruct` | |
| struct* |`cudnnConvolutionDescriptor_t` |`hipdnnConvolutionDescriptor_t` |
| struct |`cudnnPoolingStruct` | |
| struct* |`cudnnPoolingDescriptor_t` |`hipdnnPoolingDescriptor_t` |
| struct |`cudnnFilterStruct` | |
| struct* |`cudnnFilterDescriptor_t` |`hipdnnFilterDescriptor_t` |
| struct |`cudnnLRNStruct` | |
| struct* |`cudnnLRNDescriptor_t` |`hipdnnLRNDescriptor_t` |
| struct |`cudnnActivationStruct` | |
| struct* |`cudnnActivationDescriptor_t` |`hipdnnActivationDescriptor_t` |
| struct |`cudnnSpatialTransformerStruct` | |
| struct* |`cudnnSpatialTransformerDescriptor_t` | |
| struct |`cudnnOpTensorStruct` | |
| struct* |`cudnnOpTensorDescriptor_t` |`hipdnnOpTensorDescriptor_t` |
| struct |`cudnnReduceTensorStruct` | |
| struct* |`cudnnReduceTensorDescriptor_t` |`hipdnnReduceTensorDescriptor_t` |
| struct |`cudnnCTCLossStruct` | |
| struct* |`cudnnCTCLossDescriptor_t` | |
2019-04-15 15:46:46 +03:00
| struct |`cudnnTensorTransformStruct` | |
| struct* |`cudnnTensorTransformDescriptor_t` | |
2018-07-20 21:00:24 +03:00
| enum |***`cudnnDataType_t`*** |***`hipdnnDataType_t`*** |
| 0 |*`CUDNN_DATA_FLOAT`* |*`HIPDNN_DATA_FLOAT`* |
| 1 |*`CUDNN_DATA_DOUBLE`* |*`HIPDNN_DATA_DOUBLE`* |
| 2 |*`CUDNN_DATA_HALF`* |*`HIPDNN_DATA_HALF`* |
| 3 |*`CUDNN_DATA_INT8`* |*`HIPDNN_DATA_INT8`* |
| 4 |*`CUDNN_DATA_INT32`* |*`HIPDNN_DATA_INT32`* |
| 5 |*`CUDNN_DATA_INT8x4`* |*`HIPDNN_DATA_INT8x4`* |
| 6 |*`CUDNN_DATA_UINT8`* | |
| 7 |*`CUDNN_DATA_UINT8x4`* | |
| 8 |*`CUDNN_DATA_INT8x32`* | |
2018-07-20 21:00:24 +03:00
| enum |***`cudnnMathType_t`*** |***`hipdnnMathType_t`*** |
| 0 |*`CUDNN_DEFAULT_MATH`* |*`HIPDNN_DEFAULT_MATH`* |
| 1 |*`CUDNN_TENSOR_OP_MATH`* |*`HIPDNN_TENSOR_OP_MATH`* |
| enum |***`cudnnNanPropagation_t`*** |***`hipdnnNanPropagation_t`*** |
| 0 |*`CUDNN_NOT_PROPAGATE_NAN`* |*`HIPDNN_NOT_PROPAGATE_NAN`* |
| 1 |*`CUDNN_PROPAGATE_NAN`* |*`HIPDNN_PROPAGATE_NAN`* |
| enum |***`cudnnDeterminism_t`*** | |
| 0 |*`CUDNN_NON_DETERMINISTIC`* | |
| 1 |*`CUDNN_DETERMINISTIC`* | |
| define |`CUDNN_DIM_MAX` | |
| enum |***`cudnnTensorFormat_t`*** |***`hipdnnTensorFormat_t`*** |
| 0 |*`CUDNN_TENSOR_NCHW`* |*`HIPDNN_TENSOR_NCHW`* |
| 1 |*`CUDNN_TENSOR_NHWC`* |*`HIPDNN_TENSOR_NHWC`* |
| 2 |*`CUDNN_TENSOR_NCHW_VECT_C`* |*`HIPDNN_TENSOR_NCHW_VECT_C`* |
2019-04-15 15:46:46 +03:00
| enum |***`cudnnFoldingDirection_t`*** | |
| 0 |*`CUDNN_TRANSFORM_FOLD`* | |
| 1 |*`CUDNN_TRANSFORM_UNFOLD`* | |
2018-07-20 21:00:24 +03:00
| enum |***`cudnnOpTensorOp_t`*** |***`hipdnnOpTensorOp_t`*** |
| 0 |*`CUDNN_OP_TENSOR_ADD`* |*`HIPDNN_OP_TENSOR_ADD`* |
| 1 |*`CUDNN_OP_TENSOR_MUL`* |*`HIPDNN_OP_TENSOR_MUL`* |
| 2 |*`CUDNN_OP_TENSOR_MIN`* |*`HIPDNN_OP_TENSOR_MIN`* |
| 3 |*`CUDNN_OP_TENSOR_MAX`* |*`HIPDNN_OP_TENSOR_MAX`* |
| 4 |*`CUDNN_OP_TENSOR_SQRT`* |*`HIPDNN_OP_TENSOR_SQRT`* |
| 5 |*`CUDNN_OP_TENSOR_NOT`* |*`HIPDNN_OP_TENSOR_NOT`* |
2018-07-20 21:00:24 +03:00
| enum |***`cudnnReduceTensorOp_t`*** |***`hipdnnReduceTensorOp_t`*** |
| 0 |*`CUDNN_REDUCE_TENSOR_ADD`* |*`HIPDNN_REDUCE_TENSOR_ADD`* |
| 1 |*`CUDNN_REDUCE_TENSOR_MUL`* |*`HIPDNN_REDUCE_TENSOR_MUL`* |
| 2 |*`CUDNN_REDUCE_TENSOR_MIN`* |*`HIPDNN_REDUCE_TENSOR_MIN`* |
| 3 |*`CUDNN_REDUCE_TENSOR_MAX`* |*`HIPDNN_REDUCE_TENSOR_MAX`* |
| 4 |*`CUDNN_REDUCE_TENSOR_AMAX`* |*`HIPDNN_REDUCE_TENSOR_AMAX`* |
| 5 |*`CUDNN_REDUCE_TENSOR_AVG`* |*`HIPDNN_REDUCE_TENSOR_AVG`* |
| 6 |*`CUDNN_REDUCE_TENSOR_NORM1`* |*`HIPDNN_REDUCE_TENSOR_NORM1`* |
| 7 |*`CUDNN_REDUCE_TENSOR_NORM2`* |*`HIPDNN_REDUCE_TENSOR_NORM2`* |
| 8 |*`CUDNN_REDUCE_TENSOR_MUL_NO_ZEROS`* |*`HIPDNN_REDUCE_TENSOR_MUL_NO_ZEROS`* |
| enum |***`cudnnReduceTensorIndices_t`*** |***`hipdnnReduceTensorIndices_t`*** |
| 0 |*`CUDNN_REDUCE_TENSOR_NO_INDICES`* |*`HIPDNN_REDUCE_TENSOR_NO_INDICES`* |
| 1 |*`CUDNN_REDUCE_TENSOR_FLATTENED_INDICES`* |*`HIPDNN_REDUCE_TENSOR_FLATTENED_INDICES`* |
| enum |***`cudnnIndicesType_t`*** |***`hipdnnIndicesType_t`*** |
| 0 |*`CUDNN_32BIT_INDICES`* |*`HIPDNN_32BIT_INDICES`* |
| 1 |*`CUDNN_64BIT_INDICES`* |*`HIPDNN_64BIT_INDICES`* |
| 2 |*`CUDNN_16BIT_INDICES`* |*`HIPDNN_16BIT_INDICES`* |
| 3 |*`CUDNN_8BIT_INDICES`* |*`HIPDNN_8BIT_INDICES`* |
| enum |***`cudnnConvolutionMode_t`*** |***`hipdnnConvolutionMode_t`*** |
| 0 |*`CUDNN_CONVOLUTION`* |*`HIPDNN_CONVOLUTION`* |
| 1 |*`CUDNN_CROSS_CORRELATION`* |*`HIPDNN_CROSS_CORRELATION`* |
| enum |***`cudnnConvolutionFwdPreference_t`*** |***`hipdnnConvolutionFwdPreference_t`*** |
| 0 |*`CUDNN_CONVOLUTION_FWD_NO_WORKSPACE`* |*`HIPDNN_CONVOLUTION_FWD_NO_WORKSPACE`* |
| 1 |*`CUDNN_CONVOLUTION_FWD_PREFER_FASTEST`* |*`HIPDNN_CONVOLUTION_FWD_PREFER_FASTEST`* |
| 2 |*`CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT`* |*`HIPDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT`* |
| enum |***`cudnnConvolutionFwdAlgo_t`*** |***`hipdnnConvolutionFwdAlgo_t`*** |
| 0 |*`CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_GEMM`* |*`HIPDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_GEMM`* |
| 1 |*`CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM`* |*`HIPDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM`* |
| 2 |*`CUDNN_CONVOLUTION_FWD_ALGO_GEMM`* |*`HIPDNN_CONVOLUTION_FWD_ALGO_GEMM`* |
| 3 |*`CUDNN_CONVOLUTION_FWD_ALGO_DIRECT`* |*`HIPDNN_CONVOLUTION_FWD_ALGO_DIRECT`* |
| 4 |*`CUDNN_CONVOLUTION_FWD_ALGO_FFT`* |*`HIPDNN_CONVOLUTION_FWD_ALGO_FFT`* |
| 5 |*`CUDNN_CONVOLUTION_FWD_ALGO_FFT_TILING`* |*`HIPDNN_CONVOLUTION_FWD_ALGO_FFT_TILING`* |
| 6 |*`CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD`* |*`HIPDNN_CONVOLUTION_FWD_ALGO_WINOGRAD`* |
| 7 |*`CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED`* |*`HIPDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED`* |
| 8 |*`CUDNN_CONVOLUTION_FWD_ALGO_COUNT`* |*`HIPDNN_CONVOLUTION_FWD_ALGO_COUNT`* |
| struct |`cudnnConvolutionFwdAlgoPerf_t` |`hipdnnConvolutionFwdAlgoPerf_t` |
| enum |***`cudnnConvolutionBwdFilterPreference_t`*** |***`hipdnnConvolutionBwdFilterPreference_t`*** |
| 0 |*`CUDNN_CONVOLUTION_BWD_FILTER_NO_WORKSPACE`* |*`HIPDNN_CONVOLUTION_BWD_FILTER_NO_WORKSPACE`* |
| 1 |*`CUDNN_CONVOLUTION_BWD_FILTER_PREFER_FASTEST`* |*`HIPDNN_CONVOLUTION_BWD_FILTER_PREFER_FASTEST`* |
| 2 |*`CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT`* |*`HIPDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT`* |
| enum |***`cudnnConvolutionBwdFilterAlgo_t`*** |***`hipdnnConvolutionBwdFilterAlgo_t`*** |
| 0 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_0`* |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_0`* |
| 1 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_1`* |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_1`* |
| 2 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT`* |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT`* |
| 3 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_3`* |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_3`* |
| 4 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD`* |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD`* |
| 5 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD_NONFUSED`* |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD_NONFUSED`* |
| 6 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT_TILING`* |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT_TILING`* |
| 7 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_COUNT`* |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_COUNT`* |
| struct |`cudnnConvolutionBwdDataAlgoPerf_t` |`hipdnnConvolutionBwdDataAlgoPerf_t` |
| enum |***`cudnnSoftmaxAlgorithm_t`*** |***`hipdnnSoftmaxAlgorithm_t`*** |
| 0 |*`CUDNN_SOFTMAX_FAST`* |*`HIPDNN_SOFTMAX_FAST`* |
| 1 |*`CUDNN_SOFTMAX_ACCURATE`* |*`HIPDNN_SOFTMAX_ACCURATE`* |
| 2 |*`CUDNN_SOFTMAX_LOG`* |*`HIPDNN_SOFTMAX_LOG`* |
| enum |***`cudnnSoftmaxMode_t`*** |***`hipdnnSoftmaxMode_t`*** |
| 0 |*`CUDNN_SOFTMAX_MODE_INSTANCE`* |*`HIPDNN_SOFTMAX_MODE_INSTANCE`* |
| 1 |*`CUDNN_SOFTMAX_MODE_CHANNEL`* |*`HIPDNN_SOFTMAX_MODE_CHANNEL`* |
| enum |***`cudnnPoolingMode_t`*** |***`hipdnnPoolingMode_t`*** |
| 0 |*`CUDNN_POOLING_MAX`* |*`HIPDNN_POOLING_MAX`* |
| 1 |*`CUDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING`* |*`HIPDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING`* |
| 2 |*`CUDNN_POOLING_AVERAGE_COUNT_EXCLUDE_PADDING`* |*`HIPDNN_POOLING_AVERAGE_COUNT_EXCLUDE_PADDING`* |
| 3 |*`CUDNN_POOLING_MAX_DETERMINISTIC`* |*`HIPDNN_POOLING_MAX_DETERMINISTIC`* |
| enum |***`cudnnActivationMode_t`*** |***`hipdnnActivationMode_t`*** |
| 0 |*`CUDNN_ACTIVATION_SIGMOID`* |*`HIPDNN_ACTIVATION_SIGMOID`* |
| 1 |*`CUDNN_ACTIVATION_RELU`* |*`HIPDNN_ACTIVATION_RELU`* |
| 2 |*`CUDNN_ACTIVATION_TANH`* |*`HIPDNN_ACTIVATION_TANH`* |
| 3 |*`CUDNN_ACTIVATION_CLIPPED_RELU`* |*`HIPDNN_ACTIVATION_CLIPPED_RELU`* |
| 4 |*`CUDNN_ACTIVATION_ELU`* |*`HIPDNN_ACTIVATION_ELU`* |
| 5 |*`CUDNN_ACTIVATION_IDENTITY`* |*`HIPDNN_ACTIVATION_PATHTRU`* |
| define |`CUDNN_LRN_MIN_N` | |
| define |`CUDNN_LRN_MAX_N` | |
| define |`CUDNN_LRN_MIN_K` | |
| define |`CUDNN_LRN_MIN_BETA` | |
| enum |***`cudnnLRNMode_t`*** |***`hipdnnLRNMode_t`*** |
| 0 |*`CUDNN_LRN_CROSS_CHANNEL_DIM1`* |*`HIPDNN_LRN_CROSS_CHANNEL`* |
| enum |***`cudnnDivNormMode_t`*** | |
| 0 |*`CUDNN_DIVNORM_PRECOMPUTED_MEANS`* | |
| enum |***`cudnnBatchNormMode_t`*** |***`hipdnnBatchNormMode_t`*** |
| 0 |*`CUDNN_BATCHNORM_PER_ACTIVATION`* |*`HIPDNN_BATCHNORM_PER_ACTIVATION`* |
| 1 |*`CUDNN_BATCHNORM_SPATIAL`* |*`HIPDNN_BATCHNORM_SPATIAL`* |
| 2 |*`CUDNN_BATCHNORM_SPATIAL_PERSISTENT`* |*`HIPDNN_BATCHNORM_SPATIAL_PERSISTENT`* |
| define |`CUDNN_BN_MIN_EPSILON` |`HIPDNN_BN_MIN_EPSILON` |
| enum |***`cudnnSamplerType_t`*** | |
| 0 |*`CUDNN_SAMPLER_BILINEAR`* | |
| struct |`cudnnDropoutStruct` | |
| struct* |`cudnnDropoutDescriptor_t` |`hipdnnDropoutDescriptor_t` |
| enum |***`cudnnRNNMode_t`*** |***`hipdnnRNNMode_t`*** |
| 0 |*`CUDNN_RNN_RELU`* |*`HIPDNN_RNN_RELU`* |
| 1 |*`CUDNN_RNN_TANH`* |*`HIPDNN_RNN_TANH`* |
| 2 |*`CUDNN_LSTM`* |*`HIPDNN_LSTM`* |
| 3 |*`CUDNN_GRU`* |*`HIPDNN_GRU`* |
| enum |***`cudnnRNNBiasMode_t`*** |***`hipdnnRNNBiasMode_t`*** |
| 0 |*`CUDNN_RNN_NO_BIAS`* |*`HIPDNN_RNN_NO_BIAS`* |
| 1 |*`CUDNN_RNN_SINGLE_INP_BIAS`* |*`HIPDNN_RNN_WITH_BIAS`* |
| 2 |*`CUDNN_RNN_DOUBLE_BIAS`* |*`HIPDNN_RNN_WITH_BIAS`* | 1 |
| 3 |*`CUDNN_RNN_SINGLE_REC_BIAS`* |*`HIPDNN_RNN_WITH_BIAS`* | 1 |
2018-07-20 21:00:24 +03:00
| enum |***`cudnnDirectionMode_t`*** |***`hipdnnDirectionMode_t`*** |
| 0 |*`CUDNN_UNIDIRECTIONAL`* |*`HIPDNN_UNIDIRECTIONAL`* |
| 1 |*`CUDNN_BIDIRECTIONAL`* |*`HIPDNN_BIDIRECTIONAL`* |
| enum |***`cudnnRNNAlgo_t`*** |***`hipdnnRNNAlgo_t`*** |
| 0 |*`CUDNN_RNN_ALGO_STANDARD`* |*`HIPDNN_RNN_ALGO_STANDARD`* |
| 1 |*`CUDNN_RNN_ALGO_PERSIST_STATIC`* |*`HIPDNN_RNN_ALGO_PERSIST_STATIC`* |
| 2 |*`CUDNN_RNN_ALGO_PERSIST_DYNAMIC`* |*`HIPDNN_RNN_ALGO_PERSIST_DYNAMIC`* |
| 3 |*`CUDNN_RNN_ALGO_COUNT`* | |
| struct |`cudnnAlgorithmStruct` | |
| struct* |`cudnnAlgorithmDescriptor_t` | |
| struct |`cudnnAlgorithmPerformanceStruct` | |
| struct* |`cudnnAlgorithmPerformance_t` | |
| struct |`cudnnRNNStruct` | |
| struct* |`cudnnRNNDescriptor_t` |`hipdnnRNNDescriptor_t` |
| struct |`cudnnPersistentRNNPlan` | |
| struct* |`cudnnPersistentRNNPlan_t` |`hipdnnPersistentRNNPlan_t` |
| enum |***`cudnnCTCLossAlgo_t`*** | |
| 0 |*`CUDNN_CTC_LOSS_ALGO_DETERMINISTIC`* | |
| 1 |*`CUDNN_CTC_LOSS_ALGO_NON_DETERMINISTIC`* | |
| struct |`cudnnAlgorithm_t` | |
| enum |***`cudnnSeverity_t`*** | |
| 0 |*`CUDNN_SEV_FATAL`* | |
| 1 |*`CUDNN_SEV_ERROR`* | |
| 2 |*`CUDNN_SEV_WARNING`* | |
| 3 |*`CUDNN_SEV_INFO`* | |
| define |`CUDNN_SEV_ERROR_EN` | |
| define |`CUDNN_SEV_WARNING_EN` | |
| define |`CUDNN_SEV_INFO_EN` | |
| struct |`cudnnDebug_t` | |
| struct |`cudnnCallback_t` | |
| enum |***`cudnnBatchNormOps_t`*** | |
| 0 |*`CUDNN_BATCHNORM_OPS_BN`* | |
| 1 |*`CUDNN_BATCHNORM_OPS_BN_ACTIVATION`* | |
| 2 |*`CUDNN_BATCHNORM_OPS_BN_ADD_ACTIVATION`* | |
| enum |***`cudnnRNNClipMode_t`*** | |
| 0 |*`CUDNN_RNN_CLIP_NONE`* | |
| 1 |*`CUDNN_RNN_CLIP_MINMAX`* | |
| struct |`cudnnRNNDataStruct` | |
| struct* |`cudnnRNNDataDescriptor_t` | |
| enum |***`cudnnRNNDataLayout_t`*** | |
| 0 |*`CUDNN_RNN_DATA_LAYOUT_SEQ_MAJOR_UNPACKED`* | |
| 1 |*`CUDNN_RNN_DATA_LAYOUT_SEQ_MAJOR_PACKED`* | |
| 2 |*`CUDNN_RNN_DATA_LAYOUT_BATCH_MAJOR_UNPACKED`* | |
| enum |***`cudnnRNNPaddingMode_t`*** | |
| 0 |*`CUDNN_RNN_PADDED_IO_DISABLED`* | |
| 1 |*`CUDNN_RNN_PADDED_IO_ENABLED`* | |
2019-04-15 15:46:46 +03:00
| enum |***`cudnnSeqDataAxis_t`*** | |
| 0 |*`CUDNN_SEQDATA_TIME_DIM`* | |
| 1 |*`CUDNN_SEQDATA_BATCH_DIM`* | |
| 2 |*`CUDNN_SEQDATA_BEAM_DIM`* | |
| 3 |*`CUDNN_SEQDATA_VECT_DIM`* | |
| define |`CUDNN_SEQDATA_DIM_COUNT` | |
| struct |`cudnnSeqDataStruct` | |
| struct* |`cudnnSeqDataDescriptor_t` | |
| enum |***`cudnnAttnQueryMap_t`*** | |
| 0 |*`CUDNN_ATTN_QUERYMAP_ALL_TO_ONE`* | |
| 1 |*`CUDNN_ATTN_QUERYMAP_ONE_TO_ONE`* | |
| struct |`cudnnAttnStruct` | |
| struct* |`cudnnAttnDescriptor_t` | |
| enum |***`cudnnMultiHeadAttnWeightKind_t`*** | |
| 0 |*`CUDNN_MH_ATTN_Q_WEIGHTS`* | |
| 1 |*`CUDNN_MH_ATTN_K_WEIGHTS`* | |
| 2 |*`CUDNN_MH_ATTN_V_WEIGHTS`* | |
| 3 |*`CUDNN_MH_ATTN_O_WEIGHTS`* | |
| enum |***`cudnnWgradMode_t`*** | |
| 0 |*`CUDNN_WGRAD_MODE_ADD`* | |
| 1 |*`CUDNN_WGRAD_MODE_SET`* | |
2019-05-27 21:44:53 +03:00
| enum |***`cudnnReorderType_t`*** | |
| 0 |*`CUDNN_DEFAULT_REORDER`* | |
| 1 |*`CUDNN_NO_REORDER`* | |
| enum |***`cudnnLossNormalizationMode_t`*** | |
| 0 |*`CUDNN_LOSS_NORMALIZATION_NONE`* | |
| 1 |*`CUDNN_LOSS_NORMALIZATION_SOFTMAX`* | |
| struct |`cudnnFusedOpsConstParamStruct` | |
| struct* |`cudnnFusedOpsConstParamPack_t` | |
| struct |`cudnnFusedOpsVariantParamStruct` | |
| struct* |`cudnnFusedOpsVariantParamPack_t` | |
| struct |`cudnnFusedOpsPlanStruct` | |
| struct* |`cudnnFusedOpsPlan_t` | |
| enum |***`cudnnFusedOps_t`*** | |
| 0 |*`CUDNN_FUSED_SCALE_BIAS_ACTIVATION_CONV_BNSTATS`* | |
| 1 |*`CUDNN_FUSED_SCALE_BIAS_ACTIVATION_WGRAD`* | |
| 2 |*`CUDNN_FUSED_BN_FINALIZE_STATISTICS_TRAINING`* | |
| 3 |*`CUDNN_FUSED_BN_FINALIZE_STATISTICS_INFERENCE`* | |
| 4 |*`CUDNN_FUSED_CONV_SCALE_BIAS_ADD_ACTIVATION`* | |
| 5 |*`CUDNN_FUSED_SCALE_BIAS_ADD_ACTIVATION_GEN_BITMASK`* | |
| 6 |*`CUDNN_FUSED_DACTIVATION_FORK_DBATCHNORM`* | |
| enum |***`cudnnFusedOpsConstParamLabel_t`*** | |
| 0 |*`CUDNN_PARAM_XDESC`* | |
| 1 |*`CUDNN_PARAM_XDATA_PLACEHOLDER`* | |
| 2 |*`CUDNN_PARAM_BN_MODE`* | |
| 3 |*`CUDNN_PARAM_BN_EQSCALEBIAS_DESC`* | |
| 4 |*`CUDNN_PARAM_BN_EQSCALE_PLACEHOLDER`* | |
| 5 |*`CUDNN_PARAM_BN_EQBIAS_PLACEHOLDER`* | |
| 6 |*`CUDNN_PARAM_ACTIVATION_DESC`* | |
| 7 |*`CUDNN_PARAM_CONV_DESC`* | |
| 8 |*`CUDNN_PARAM_WDESC`* | |
| 9 |*`CUDNN_PARAM_WDATA_PLACEHOLDER`* | |
| 10 |*`CUDNN_PARAM_DWDESC`* | |
| 11 |*`CUDNN_PARAM_DWDATA_PLACEHOLDER`* | |
| 12 |*`CUDNN_PARAM_YDESC`* | |
| 13 |*`CUDNN_PARAM_YDATA_PLACEHOLDER`* | |
| 14 |*`CUDNN_PARAM_DYDESC`* | |
| 15 |*`CUDNN_PARAM_DYDATA_PLACEHOLDER`* | |
| 16 |*`CUDNN_PARAM_YSTATS_DESC`* | |
| 17 |*`CUDNN_PARAM_YSUM_PLACEHOLDER`* | |
| 18 |*`CUDNN_PARAM_YSQSUM_PLACEHOLDER`* | |
| 19 |*`CUDNN_PARAM_BN_SCALEBIAS_MEANVAR_DESC`* | |
| 20 |*`CUDNN_PARAM_BN_SCALE_PLACEHOLDER`* | |
| 21 |*`CUDNN_PARAM_BN_BIAS_PLACEHOLDER`* | |
| 22 |*`CUDNN_PARAM_BN_SAVED_MEAN_PLACEHOLDER`* | |
| 23 |*`CUDNN_PARAM_BN_SAVED_INVSTD_PLACEHOLDER`* | |
| 24 |*`CUDNN_PARAM_BN_RUNNING_MEAN_PLACEHOLDER`* | |
| 25 |*`CUDNN_PARAM_BN_RUNNING_VAR_PLACEHOLDER`* | |
| 26 |*`CUDNN_PARAM_ZDESC`* | |
| 27 |*`CUDNN_PARAM_ZDATA_PLACEHOLDER`* | |
| 28 |*`CUDNN_PARAM_BN_Z_EQSCALEBIAS_DESC`* | |
| 29 |*`CUDNN_PARAM_BN_Z_EQSCALE_PLACEHOLDER`* | |
| 30 |*`CUDNN_PARAM_BN_Z_EQBIAS_PLACEHOLDER`* | |
| 31 |*`CUDNN_PARAM_ACTIVATION_BITMASK_DESC`* | |
| 32 |*`CUDNN_PARAM_ACTIVATION_BITMASK_PLACEHOLDER`* | |
| 33 |*`CUDNN_PARAM_DXDESC`* | |
| 34 |*`CUDNN_PARAM_DXDATA_PLACEHOLDER`* | |
| 35 |*`CUDNN_PARAM_DZDESC`* | |
| 36 |*`CUDNN_PARAM_DZDATA_PLACEHOLDER`* | |
| 37 |*`CUDNN_PARAM_BN_DSCALE_PLACEHOLDER`* | |
| 38 |*`CUDNN_PARAM_BN_DBIAS_PLACEHOLDER`* | |
| enum |***`cudnnFusedOpsPointerPlaceHolder_t`*** | |
| 0 |*`CUDNN_PTR_NULL`* | |
| 1 |*`CUDNN_PTR_ELEM_ALIGNED`* | |
| 2 |*`CUDNN_PTR_16B_ALIGNED`* | |
| enum |***`cudnnFusedOpsVariantParamLabel_t`*** | |
| 0 |*`CUDNN_PTR_XDATA`* | |
| 1 |*`CUDNN_PTR_BN_EQSCALE`* | |
| 2 |*`CUDNN_PTR_BN_EQBIAS`* | |
| 3 |*`CUDNN_PTR_WDATA`* | |
| 4 |*`CUDNN_PTR_DWDATA`* | |
| 5 |*`CUDNN_PTR_YDATA`* | |
| 6 |*`CUDNN_PTR_DYDATA`* | |
| 7 |*`CUDNN_PTR_YSUM`* | |
| 8 |*`CUDNN_PTR_YSQSUM`* | |
| 9 |*`CUDNN_PTR_WORKSPACE`* | |
| 10 |*`CUDNN_PTR_BN_SCALE`* | |
| 11 |*`CUDNN_PTR_BN_BIAS`* | |
| 12 |*`CUDNN_PTR_BN_SAVED_MEAN`* | |
| 13 |*`CUDNN_PTR_BN_SAVED_INVSTD`* | |
| 14 |*`CUDNN_PTR_BN_RUNNING_MEAN`* | |
| 15 |*`CUDNN_PTR_BN_RUNNING_VAR`* | |
| 16 |*`CUDNN_PTR_ZDATA`* | |
| 17 |*`CUDNN_PTR_BN_Z_EQSCALE`* | |
| 18 |*`CUDNN_PTR_BN_Z_EQBIAS`* | |
| 19 |*`CUDNN_PTR_ACTIVATION_BITMASK`* | |
| 20 |*`CUDNN_PTR_DXDATA`* | |
| 21 |*`CUDNN_PTR_DZDATA`* | |
| 22 |*`CUDNN_PTR_BN_DSCALE`* | |
| 23 |*`CUDNN_PTR_BN_DBIAS`* | |
| 100 |*`CUDNN_SCALAR_SIZE_T_WORKSPACE_SIZE_IN_BYTES`* | |
| 101 |*`CUDNN_SCALAR_INT64_T_BN_ACCUMULATION_COUNT`* | |
| 102 |*`CUDNN_SCALAR_DOUBLE_BN_EXP_AVG_FACTOR`* | |
| 103 |*`CUDNN_SCALAR_DOUBLE_BN_EPSILON`* | |
2018-07-20 21:00:24 +03:00
## **2. CUDNN API functions**
| **CUDA** | **HIP** |
|-----------------------------------------------------------|-------------------------------------------------|
|`cudnnGetVersion` |`hipdnnGetVersion` |
|`cudnnGetCudartVersion` | |
|`cudnnGetErrorString` |`hipdnnGetErrorString` |
|`cudnnQueryRuntimeError` | |
|`cudnnGetProperty` | |
|`cudnnCreate` |`hipdnnCreate` |
|`cudnnDestroy` |`hipdnnDestroy` |
|`cudnnSetStream` |`hipdnnSetStream` |
|`cudnnSetStream` |`hipdnnGetStream` |
|`cudnnCreateTensorDescriptor` |`hipdnnCreateTensorDescriptor` |
|`cudnnSetTensor4dDescriptor` |`hipdnnSetTensor4dDescriptor` |
|`cudnnSetTensor4dDescriptorEx` |`hipdnnSetTensor4dDescriptorEx` |
2018-07-20 21:00:24 +03:00
|`cudnnGetTensor4dDescriptor` |`hipdnnGetTensor4dDescriptor` |
|`cudnnSetTensorNdDescriptor` |`hipdnnSetTensorNdDescriptor` |
|`cudnnSetTensorNdDescriptorEx` | |
|`cudnnGetTensorNdDescriptor` |`hipdnnGetTensorNdDescriptor` |
|`cudnnGetTensorSizeInBytes` | |
|`cudnnDestroyTensorDescriptor` |`hipdnnDestroyTensorDescriptor` |
|`cudnnTransformTensor` | |
2019-04-15 15:46:46 +03:00
|`cudnnTransformTensorEx` | |
|`cudnnInitTransformDest` | |
|`cudnnCreateTensorTransformDescriptor` | |
|`cudnnSetTensorTransformDescriptor` | |
|`cudnnGetTensorTransformDescriptor` | |
|`cudnnDestroyTensorTransformDescriptor` | |
2018-07-20 21:00:24 +03:00
|`cudnnAddTensor` |`hipdnnAddTensor` |
|`cudnnCreateOpTensorDescriptor` |`hipdnnCreateOpTensorDescriptor` |
|`cudnnSetOpTensorDescriptor` |`hipdnnSetOpTensorDescriptor` |
|`cudnnGetOpTensorDescriptor` |`hipdnnGetOpTensorDescriptor` |
|`cudnnDestroyOpTensorDescriptor` |`hipdnnDestroyOpTensorDescriptor` |
|`cudnnOpTensor` |`hipdnnOpTensor` |
2019-05-27 21:44:53 +03:00
|`cudnnGetFoldedConvBackwardDataDescriptors` | |
2018-07-20 21:00:24 +03:00
|`cudnnCreateReduceTensorDescriptor` |`hipdnnCreateReduceTensorDescriptor` |
|`cudnnSetReduceTensorDescriptor` |`hipdnnSetReduceTensorDescriptor` |
|`cudnnGetReduceTensorDescriptor` |`hipdnnGetReduceTensorDescriptor` |
|`cudnnDestroyReduceTensorDescriptor` |`hipdnnDestroyReduceTensorDescriptor` |
|`cudnnGetReductionIndicesSize` | |
|`cudnnGetReductionWorkspaceSize` |`hipdnnGetReductionWorkspaceSize` |
|`cudnnReduceTensor` |`hipdnnReduceTensor` |
|`cudnnSetTensor` |`hipdnnSetTensor` |
|`cudnnScaleTensor` |`hipdnnScaleTensor` |
|`cudnnCreateFilterDescriptor` |`hipdnnCreateFilterDescriptor` |
|`cudnnSetFilter4dDescriptor` |`hipdnnSetFilter4dDescriptor` |
|`cudnnGetFilter4dDescriptor` |`hipdnnGetFilter4dDescriptor` |
2018-07-20 21:00:24 +03:00
|`cudnnSetFilterNdDescriptor` |`hipdnnSetFilterNdDescriptor` |
|`cudnnGetFilterNdDescriptor` |`hipdnnGetFilterNdDescriptor` |
2019-05-27 21:44:53 +03:00
|`cudnnGetFilterSizeInBytes` | |
|`cudnnTransformFilter` | |
2018-07-20 21:00:24 +03:00
|`cudnnDestroyFilterDescriptor` |`hipdnnDestroyFilterDescriptor` |
2019-05-27 21:44:53 +03:00
|`cudnnReorderFilterAndBias` | |
2018-07-20 21:00:24 +03:00
|`cudnnCreateConvolutionDescriptor` |`hipdnnCreateConvolutionDescriptor` |
|`cudnnSetConvolutionMathType` |`hipdnnSetConvolutionMathType` |
|`cudnnGetConvolutionMathType` | |
|`cudnnSetConvolutionGroupCount` |`hipdnnSetConvolutionGroupCount` |
2018-07-20 21:00:24 +03:00
|`cudnnGetConvolutionGroupCount` | |
2019-05-27 21:44:53 +03:00
|`cudnnSetConvolutionReorderType` | |
|`cudnnGetConvolutionReorderType` | |
2018-07-20 21:00:24 +03:00
|`cudnnSetConvolution2dDescriptor` |`hipdnnSetConvolution2dDescriptor` |
|`cudnnGetConvolution2dDescriptor` |`hipdnnGetConvolution2dDescriptor` |
|`cudnnGetConvolution2dForwardOutputDim` |`hipdnnGetConvolution2dForwardOutputDim` |
|`cudnnSetConvolutionNdDescriptor` |`hipdnnSetConvolutionNdDescriptor` |
|`cudnnGetConvolutionNdDescriptor` | |
|`cudnnGetConvolutionNdForwardOutputDim` | |
|`cudnnDestroyConvolutionDescriptor` | |
|`cudnnGetConvolutionForwardAlgorithmMaxCount` | |
|`cudnnFindConvolutionForwardAlgorithm` |`hipdnnFindConvolutionForwardAlgorithm` |
|`cudnnFindConvolutionForwardAlgorithmEx` |`hipdnnFindConvolutionForwardAlgorithmEx` |
|`cudnnGetConvolutionForwardAlgorithm` |`hipdnnGetConvolutionForwardAlgorithm` |
|`cudnnGetConvolutionForwardAlgorithm_v7` | |
|`cudnnGetConvolutionForwardWorkspaceSize` |`hipdnnGetConvolutionForwardWorkspaceSize` |
|`cudnnConvolutionForward` |`hipdnnConvolutionForward` |
|`cudnnConvolutionBiasActivationForward` | |
|`cudnnConvolutionBackwardBias` |`hipdnnConvolutionBackwardBias` |
|`cudnnGetConvolutionBackwardFilterAlgorithmMaxCount` | |
|`cudnnFindConvolutionBackwardFilterAlgorithm` |`hipdnnFindConvolutionBackwardFilterAlgorithm` |
|`cudnnFindConvolutionBackwardFilterAlgorithmEx` |`hipdnnFindConvolutionBackwardFilterAlgorithmEx` |
|`cudnnGetConvolutionBackwardFilterAlgorithm` |`hipdnnGetConvolutionBackwardFilterAlgorithm` |
|`cudnnGetConvolutionBackwardFilterAlgorithm_v7` | |
|`cudnnGetConvolutionBackwardFilterWorkspaceSize` |`hipdnnGetConvolutionBackwardFilterWorkspaceSize`|
|`cudnnConvolutionBackwardFilter` |`hipdnnConvolutionBackwardFilter` |
|`cudnnGetConvolutionBackwardDataAlgorithmMaxCount` | |
|`cudnnFindConvolutionBackwardDataAlgorithm` |`hipdnnFindConvolutionBackwardDataAlgorithm` |
|`cudnnFindConvolutionBackwardDataAlgorithmEx` |`hipdnnFindConvolutionBackwardDataAlgorithmEx` |
|`cudnnGetConvolutionBackwardDataAlgorithm` |`hipdnnGetConvolutionBackwardDataAlgorithm` |
|`cudnnGetConvolutionBackwardDataAlgorithm_v7` | |
|`cudnnGetConvolutionBackwardDataWorkspaceSize` |`hipdnnGetConvolutionBackwardDataWorkspaceSize` |
|`cudnnConvolutionBackwardData` |`hipdnnConvolutionBackwardData` |
|`cudnnIm2Col` | |
|`cudnnSoftmaxForward` |`hipdnnSoftmaxForward` |
|`cudnnSoftmaxBackward` |`hipdnnSoftmaxBackward` |
|`cudnnCreatePoolingDescriptor` |`hipdnnCreatePoolingDescriptor` |
|`cudnnSetPooling2dDescriptor` |`hipdnnSetPooling2dDescriptor` |
|`cudnnGetPooling2dDescriptor` |`hipdnnGetPooling2dDescriptor` |
|`cudnnSetPoolingNdDescriptor` |`hipdnnSetPoolingNdDescriptor` |
|`cudnnGetPoolingNdDescriptor` | |
|`cudnnGetPoolingNdForwardOutputDim` | |
|`cudnnGetPooling2dForwardOutputDim` |`hipdnnGetPooling2dForwardOutputDim` |
|`cudnnDestroyPoolingDescriptor` |`hipdnnDestroyPoolingDescriptor` |
|`cudnnPoolingForward` |`hipdnnPoolingForward` |
|`cudnnPoolingBackward` |`hipdnnPoolingBackward` |
|`cudnnCreateActivationDescriptor` |`hipdnnCreateActivationDescriptor` |
|`cudnnSetActivationDescriptor` |`hipdnnSetActivationDescriptor` |
|`cudnnGetActivationDescriptor` |`hipdnnGetActivationDescriptor` |
|`cudnnDestroyActivationDescriptor` |`hipdnnDestroyActivationDescriptor` |
|`cudnnActivationForward` |`hipdnnActivationForward` |
|`cudnnActivationBackward` |`hipdnnActivationBackward` |
|`cudnnCreateLRNDescriptor` |`hipdnnCreateLRNDescriptor` |
|`cudnnSetLRNDescriptor` |`hipdnnSetLRNDescriptor` |
|`cudnnGetLRNDescriptor` |`hipdnnGetLRNDescriptor` |
|`cudnnDestroyLRNDescriptor` |`hipdnnDestroyLRNDescriptor` |
|`cudnnLRNCrossChannelForward` |`hipdnnLRNCrossChannelForward` |
|`cudnnLRNCrossChannelBackward` |`hipdnnLRNCrossChannelBackward` |
|`cudnnDivisiveNormalizationForward` | |
|`cudnnDivisiveNormalizationBackward` | |
|`cudnnDeriveBNTensorDescriptor` |`hipdnnDeriveBNTensorDescriptor` |
|`cudnnBatchNormalizationForwardTraining` |`hipdnnBatchNormalizationForwardTraining` |
|`cudnnBatchNormalizationForwardTrainingEx` | |
2018-07-20 21:00:24 +03:00
|`cudnnBatchNormalizationForwardInference` |`hipdnnBatchNormalizationForwardInference` |
|`cudnnBatchNormalizationBackward` |`hipdnnBatchNormalizationBackward` |
|`cudnnBatchNormalizationBackwardEx` | |
2018-07-20 21:00:24 +03:00
|`cudnnCreateSpatialTransformerDescriptor` | |
|`cudnnSetSpatialTransformerNdDescriptor` | |
|`cudnnDestroySpatialTransformerDescriptor` | |
|`cudnnSpatialTfGridGeneratorForward` | |
|`cudnnSpatialTfGridGeneratorBackward` | |
|`cudnnSpatialTfSamplerForward` | |
|`cudnnSpatialTfSamplerBackward` | |
|`cudnnCreateDropoutDescriptor` |`hipdnnCreateDropoutDescriptor` |
|`cudnnDestroyDropoutDescriptor` |`hipdnnDestroyDropoutDescriptor` |
|`cudnnDropoutGetStatesSize` |`hipdnnDropoutGetStatesSize` |
|`cudnnDropoutGetReserveSpaceSize` | |
|`cudnnSetDropoutDescriptor` |`hipdnnSetDropoutDescriptor` |
|`cudnnGetDropoutDescriptor` | |
|`cudnnRestoreDropoutDescriptor` | |
|`cudnnDropoutForward` | |
|`cudnnDropoutBackward` | |
|`cudnnCreateRNNDescriptor` |`hipdnnCreateRNNDescriptor` |
|`cudnnDestroyRNNDescriptor` |`hipdnnDestroyRNNDescriptor` |
|`cudnnGetRNNForwardInferenceAlgorithmMaxCount` | |
|`cudnnFindRNNForwardInferenceAlgorithmEx` | |
|`cudnnGetRNNForwardTrainingAlgorithmMaxCount` | |
|`cudnnFindRNNForwardTrainingAlgorithmEx` | |
|`cudnnGetRNNBackwardDataAlgorithmMaxCount` | |
|`cudnnFindRNNBackwardDataAlgorithmEx` | |
|`cudnnGetRNNBackwardWeightsAlgorithmMaxCount` | |
|`cudnnFindRNNBackwardWeightsAlgorithmEx` | |
|`cudnnCreatePersistentRNNPlan` |`hipdnnCreatePersistentRNNPlan` |
|`cudnnSetPersistentRNNPlan` |`hipdnnSetPersistentRNNPlan` |
|`cudnnDestroyPersistentRNNPlan` |`hipdnnDestroyPersistentRNNPlan` |
|`cudnnSetRNNDescriptor` |`hipdnnSetRNNDescriptor` |
|`cudnnGetRNNDescriptor` |`hipdnnGetRNNDescriptor` |
2018-07-20 21:00:24 +03:00
|`cudnnSetRNNProjectionLayers` | |
|`cudnnGetRNNProjectionLayers` | |
|`cudnnSetRNNAlgorithmDescriptor` | |
|`cudnnSetRNNMatrixMathType` | |
|`cudnnGetRNNMatrixMathType` | |
|`cudnnGetRNNWorkspaceSize` |`hipdnnGetRNNWorkspaceSize` |
|`cudnnGetRNNTrainingReserveSize` |`hipdnnGetRNNTrainingReserveSize` |
|`cudnnGetRNNParamsSize` |`hipdnnGetRNNParamsSize` |
|`cudnnGetRNNLinLayerMatrixParams` |`hipdnnGetRNNLinLayerMatrixParams` |
|`cudnnGetRNNLinLayerBiasParams` |`hipdnnGetRNNLinLayerBiasParams` |
|`cudnnRNNForwardInference` |`hipdnnRNNForwardInference` |
|`cudnnRNNForwardInferenceEx` | |
2018-07-20 21:00:24 +03:00
|`cudnnRNNForwardTraining` |`hipdnnRNNForwardTraining` |
|`cudnnRNNForwardTrainingEx` | |
2018-07-20 21:00:24 +03:00
|`cudnnRNNBackwardData` |`hipdnnRNNBackwardData` |
|`cudnnRNNBackwardDataEx` | |
2018-07-20 21:00:24 +03:00
|`cudnnRNNBackwardWeights` |`hipdnnRNNBackwardWeights` |
|`cudnnRNNBackwardWeightsEx` | |
|`cudnnSetRNNPaddingMode` | |
|`cudnnGetRNNPaddingMode` | |
|`cudnnCreateRNNDataDescriptor` | |
|`cudnnDestroyRNNDataDescriptor` | |
|`cudnnSetRNNDataDescriptor` | |
|`cudnnGetRNNDataDescriptor` | |
2019-04-15 15:46:46 +03:00
|`cudnnSetRNNBiasMode` | |
|`cudnnGetRNNBiasMode` | |
2018-07-20 21:00:24 +03:00
|`cudnnCreateCTCLossDescriptor` | |
|`cudnnSetCTCLossDescriptor` | |
2019-05-27 21:44:53 +03:00
|`cudnnSetCTCLossDescriptorEx` | |
2018-07-20 21:00:24 +03:00
|`cudnnGetCTCLossDescriptor` | |
2019-05-27 21:44:53 +03:00
|`cudnnGetCTCLossDescriptorEx` | |
2018-07-20 21:00:24 +03:00
|`cudnnDestroyCTCLossDescriptor` | |
|`cudnnCTCLoss` | |
|`cudnnGetCTCLossWorkspaceSize` | |
|`cudnnCreateAlgorithmDescriptor` | |
|`cudnnSetAlgorithmDescriptor` | |
|`cudnnGetAlgorithmDescriptor` | |
|`cudnnCopyAlgorithmDescriptor` | |
|`cudnnDestroyAlgorithmDescriptor` | |
|`cudnnCreateAlgorithmPerformance` | |
|`cudnnSetAlgorithmPerformance` | |
|`cudnnGetAlgorithmPerformance` | |
|`cudnnDestroyAlgorithmPerformance` | |
|`cudnnGetAlgorithmSpaceSize` | |
|`cudnnSaveAlgorithm` | |
|`cudnnRestoreAlgorithm` | |
|`cudnnSetRNNDescriptor_v5` |`hipdnnSetRNNDescriptor_v5` |
|`cudnnSetRNNDescriptor_v6` |`hipdnnSetRNNDescriptor_v6` |
|`cudnnSetCallback` | |
|`cudnnGetCallback` | |
|`cudnnGetBatchNormalizationForwardTrainingExWorkspaceSize` | |
|`cudnnGetBatchNormalizationBackwardExWorkspaceSize` | |
|`cudnnGetBatchNormalizationTrainingExReserveSpaceSize` | |
|`cudnnRNNSetClip` | |
|`cudnnRNNGetClip` | |
2019-04-15 15:46:46 +03:00
|`cudnnCreateSeqDataDescriptor` | |
|`cudnnDestroySeqDataDescriptor` | |
|`cudnnSetSeqDataDescriptor` | |
|`cudnnGetSeqDataDescriptor` | |
|`cudnnCreateAttnDescriptor` | |
|`cudnnDestroyAttnDescriptor` | |
|`cudnnSetAttnDescriptor` | |
|`cudnnGetAttnDescriptor` | |
|`cudnnGetMultiHeadAttnBuffers` | |
|`cudnnGetMultiHeadAttnWeights` | |
|`cudnnMultiHeadAttnForward` | |
|`cudnnMultiHeadAttnBackwardData` | |
|`cudnnMultiHeadAttnBackwardWeights` | |
2019-05-27 21:44:53 +03:00
|`cudnnCreateFusedOpsConstParamPack` | |
|`cudnnDestroyFusedOpsConstParamPack` | |
|`cudnnSetFusedOpsConstParamPackAttribute` | |
|`cudnnGetFusedOpsConstParamPackAttribute` | |
|`cudnnCreateFusedOpsVariantParamPack` | |
|`cudnnDestroyFusedOpsVariantParamPack` | |
|`cudnnSetFusedOpsVariantParamPackAttribute` | |
|`cudnnGetFusedOpsVariantParamPackAttribute` | |
|`cudnnCreateFusedOpsPlan` | |
|`cudnnDestroyFusedOpsPlan` | |
|`cudnnMakeFusedOpsPlan` | |
|`cudnnFusedOpsExecute` | |