From 95f98167073f5184a1cc28c7ff637550395a9ca7 Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Tue, 17 Sep 2024 16:25:48 +0100 Subject: [PATCH] [HIPIFY][#584][#1624][MIOpen] Support for backend `graphAPI` direct translation from `cuDNN` to `MIOpen` - Part 9 + `cudnnConvolutionMode_t` -> `miopenConvolutionMode_t` + `cudnnPointwiseMode_t` -> `miopenPointwiseMode_t` + `cudnnBackendDescriptor_t` -> `miopenBackendDescriptor_t` + Updated synthetic tests, the regenerated `hipify-perl`, and `DNN` `CUDA2HIP` documentation --- bin/hipify-perl | 54 ++++++++ .../CUDNN_API_supported_by_HIP_and_MIOPEN.md | 108 ++++++++-------- docs/tables/CUDNN_API_supported_by_MIOPEN.md | 108 ++++++++-------- src/CUDA2HIP_DNN_API_types.cpp | 108 ++++++++-------- .../synthetic/libraries/cudnn2miopen.cu | 115 ++++++++++++++++++ 5 files changed, 331 insertions(+), 162 deletions(-) diff --git a/bin/hipify-perl b/bin/hipify-perl index 304553bf..1471e5b2 100755 --- a/bin/hipify-perl +++ b/bin/hipify-perl @@ -3166,6 +3166,7 @@ sub rocSubstitutions { subst("cudnnBackendAttributeName_t", "miopenBackendAttributeName_t", "type"); subst("cudnnBackendAttributeType_t", "miopenBackendAttributeType_t", "type"); subst("cudnnBackendDescriptorType_t", "miopenBackendDescriptorType_t", "type"); + subst("cudnnBackendDescriptor_t", "miopenBackendDescriptor_t", "type"); subst("cudnnBatchNormMode_t", "miopenBatchNormMode_t", "type"); subst("cudnnCTCLossAlgo_t", "miopenCTCLossAlgo_t", "type"); subst("cudnnCTCLossDescriptor_t", "miopenCTCLossDescriptor_t", "type"); @@ -3188,6 +3189,7 @@ sub rocSubstitutions { subst("cudnnLRNMode_t", "miopenLRNMode_t", "type"); subst("cudnnNanPropagation_t", "miopenNanPropagation_t", "type"); subst("cudnnOpTensorOp_t", "miopenTensorOp_t", "type"); + subst("cudnnPointwiseMode_t", "miopenPointwiseMode_t", "type"); subst("cudnnPoolingDescriptor_t", "miopenPoolingDescriptor_t", "type"); subst("cudnnPoolingMode_t", "miopenPoolingMode_t", "type"); subst("cudnnRNNAlgo_t", "miopenRNNAlgo_t", "type"); @@ -3562,6 +3564,7 @@ sub rocSubstitutions { subst("CUDNN_BATCHNORM_PER_ACTIVATION", "miopenBNPerActivation", "numeric_literal"); subst("CUDNN_BATCHNORM_SPATIAL", "miopenBNSpatial", "numeric_literal"); subst("CUDNN_BIDIRECTIONAL", "miopenRNNbidirection", "numeric_literal"); + subst("CUDNN_CONVOLUTION", "miopenConvolution", "numeric_literal"); subst("CUDNN_CONVOLUTION_BWD_DATA_ALGO_0", "miopenConvolutionBwdDataAlgoGEMM", "numeric_literal"); subst("CUDNN_CONVOLUTION_BWD_DATA_ALGO_1", "miopenConvolutionBwdDataAlgoDirect", "numeric_literal"); subst("CUDNN_CONVOLUTION_BWD_DATA_ALGO_FFT", "miopenConvolutionBwdDataAlgoFFT", "numeric_literal"); @@ -3571,6 +3574,7 @@ sub rocSubstitutions { subst("CUDNN_CONVOLUTION_FWD_ALGO_GEMM", "miopenConvolutionFwdAlgoGEMM", "numeric_literal"); subst("CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_GEMM", "miopenConvolutionFwdAlgoImplicitGEMM", "numeric_literal"); subst("CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD", "miopenConvolutionFwdAlgoWinograd", "numeric_literal"); + subst("CUDNN_CROSS_CORRELATION", "miopenConvolution", "numeric_literal"); subst("CUDNN_CTC_LOSS_ALGO_DETERMINISTIC", "MIOPEN_CTC_LOSS_ALGO_DETERMINISTIC", "numeric_literal"); subst("CUDNN_DATA_BFLOAT16", "miopenBFloat16", "numeric_literal"); subst("CUDNN_DATA_DOUBLE", "miopenDouble", "numeric_literal"); @@ -3589,6 +3593,56 @@ sub rocSubstitutions { subst("CUDNN_OP_TENSOR_MAX", "miopenTensorOpMax", "numeric_literal"); subst("CUDNN_OP_TENSOR_MIN", "miopenTensorOpMin", "numeric_literal"); subst("CUDNN_OP_TENSOR_MUL", "miopenTensorOpMul", "numeric_literal"); + subst("CUDNN_POINTWISE_ABS", "MIOPEN_POINTWISE_ABS", "numeric_literal"); + subst("CUDNN_POINTWISE_ADD", "MIOPEN_POINTWISE_ADD", "numeric_literal"); + subst("CUDNN_POINTWISE_ADD_SQUARE", "MIOPEN_POINTWISE_ADD_SQUARE", "numeric_literal"); + subst("CUDNN_POINTWISE_BINARY_SELECT", "MIOPEN_POINTWISE_BINARY_SELECT", "numeric_literal"); + subst("CUDNN_POINTWISE_CEIL", "MIOPEN_POINTWISE_CEIL", "numeric_literal"); + subst("CUDNN_POINTWISE_CMP_EQ", "MIOPEN_POINTWISE_CMP_EQ", "numeric_literal"); + subst("CUDNN_POINTWISE_CMP_GE", "MIOPEN_POINTWISE_CMP_GE", "numeric_literal"); + subst("CUDNN_POINTWISE_CMP_GT", "MIOPEN_POINTWISE_CMP_GT", "numeric_literal"); + subst("CUDNN_POINTWISE_CMP_LE", "MIOPEN_POINTWISE_CMP_LE", "numeric_literal"); + subst("CUDNN_POINTWISE_CMP_LT", "MIOPEN_POINTWISE_CMP_LT", "numeric_literal"); + subst("CUDNN_POINTWISE_CMP_NEQ", "MIOPEN_POINTWISE_CMP_NEQ", "numeric_literal"); + subst("CUDNN_POINTWISE_COS", "MIOPEN_POINTWISE_COS", "numeric_literal"); + subst("CUDNN_POINTWISE_DIV", "MIOPEN_POINTWISE_DIV", "numeric_literal"); + subst("CUDNN_POINTWISE_ELU_BWD", "MIOPEN_POINTWISE_ELU_BWD", "numeric_literal"); + subst("CUDNN_POINTWISE_ELU_FWD", "MIOPEN_POINTWISE_ELU_FWD", "numeric_literal"); + subst("CUDNN_POINTWISE_ERF", "MIOPEN_POINTWISE_ERF", "numeric_literal"); + subst("CUDNN_POINTWISE_EXP", "MIOPEN_POINTWISE_EXP", "numeric_literal"); + subst("CUDNN_POINTWISE_FLOOR", "MIOPEN_POINTWISE_FLOOR", "numeric_literal"); + subst("CUDNN_POINTWISE_GELU_APPROX_TANH_BWD", "MIOPEN_POINTWISE_GELU_APPROX_TANH_BWD", "numeric_literal"); + subst("CUDNN_POINTWISE_GELU_APPROX_TANH_FWD", "MIOPEN_POINTWISE_GELU_APPROX_TANH_FWD", "numeric_literal"); + subst("CUDNN_POINTWISE_GELU_BWD", "MIOPEN_POINTWISE_GELU_BWD", "numeric_literal"); + subst("CUDNN_POINTWISE_GELU_FWD", "MIOPEN_POINTWISE_GELU_FWD", "numeric_literal"); + subst("CUDNN_POINTWISE_GEN_INDEX", "MIOPEN_POINTWISE_GEN_INDEX", "numeric_literal"); + subst("CUDNN_POINTWISE_IDENTITY", "MIOPEN_POINTWISE_IDENTITY", "numeric_literal"); + subst("CUDNN_POINTWISE_LOG", "MIOPEN_POINTWISE_LOG", "numeric_literal"); + subst("CUDNN_POINTWISE_LOGICAL_AND", "MIOPEN_POINTWISE_LOGICAL_AND", "numeric_literal"); + subst("CUDNN_POINTWISE_LOGICAL_NOT", "MIOPEN_POINTWISE_LOGICAL_NOT", "numeric_literal"); + subst("CUDNN_POINTWISE_LOGICAL_OR", "MIOPEN_POINTWISE_LOGICAL_OR", "numeric_literal"); + subst("CUDNN_POINTWISE_MAX", "MIOPEN_POINTWISE_MAX", "numeric_literal"); + subst("CUDNN_POINTWISE_MIN", "MIOPEN_POINTWISE_MIN", "numeric_literal"); + subst("CUDNN_POINTWISE_MOD", "MIOPEN_POINTWISE_MOD", "numeric_literal"); + subst("CUDNN_POINTWISE_MUL", "MIOPEN_POINTWISE_MUL", "numeric_literal"); + subst("CUDNN_POINTWISE_NEG", "MIOPEN_POINTWISE_NEG", "numeric_literal"); + subst("CUDNN_POINTWISE_POW", "MIOPEN_POINTWISE_POW", "numeric_literal"); + subst("CUDNN_POINTWISE_RECIPROCAL", "MIOPEN_POINTWISE_RECIPROCAL", "numeric_literal"); + subst("CUDNN_POINTWISE_RELU_BWD", "MIOPEN_POINTWISE_RELU_BWD", "numeric_literal"); + subst("CUDNN_POINTWISE_RELU_FWD", "MIOPEN_POINTWISE_RELU_FWD", "numeric_literal"); + subst("CUDNN_POINTWISE_RSQRT", "MIOPEN_POINTWISE_RSQRT", "numeric_literal"); + subst("CUDNN_POINTWISE_SIGMOID_BWD", "MIOPEN_POINTWISE_SIGMOID_BWD", "numeric_literal"); + subst("CUDNN_POINTWISE_SIGMOID_FWD", "MIOPEN_POINTWISE_SIGMOID_FWD", "numeric_literal"); + subst("CUDNN_POINTWISE_SIN", "MIOPEN_POINTWISE_SIN", "numeric_literal"); + subst("CUDNN_POINTWISE_SOFTPLUS_BWD", "MIOPEN_POINTWISE_SOFTPLUS_BWD", "numeric_literal"); + subst("CUDNN_POINTWISE_SOFTPLUS_FWD", "MIOPEN_POINTWISE_SOFTPLUS_FWD", "numeric_literal"); + subst("CUDNN_POINTWISE_SQRT", "MIOPEN_POINTWISE_SQRT", "numeric_literal"); + subst("CUDNN_POINTWISE_SUB", "MIOPEN_POINTWISE_SUB", "numeric_literal"); + subst("CUDNN_POINTWISE_SWISH_BWD", "MIOPEN_POINTWISE_SWISH_BWD", "numeric_literal"); + subst("CUDNN_POINTWISE_SWISH_FWD", "MIOPEN_POINTWISE_SWISH_FWD", "numeric_literal"); + subst("CUDNN_POINTWISE_TAN", "MIOPEN_POINTWISE_TAN", "numeric_literal"); + subst("CUDNN_POINTWISE_TANH_BWD", "MIOPEN_POINTWISE_TANH_BWD", "numeric_literal"); + subst("CUDNN_POINTWISE_TANH_FWD", "MIOPEN_POINTWISE_TANH_FWD", "numeric_literal"); subst("CUDNN_POOLING_MAX", "miopenPoolingMax", "numeric_literal"); subst("CUDNN_PROPAGATE_NAN", "MIOPEN_PROPAGATE_NAN", "numeric_literal"); subst("CUDNN_REDUCE_TENSOR_ADD", "MIOPEN_REDUCE_TENSOR_ADD", "numeric_literal"); diff --git a/docs/tables/CUDNN_API_supported_by_HIP_and_MIOPEN.md b/docs/tables/CUDNN_API_supported_by_HIP_and_MIOPEN.md index 7975554f..1b5176d7 100644 --- a/docs/tables/CUDNN_API_supported_by_HIP_and_MIOPEN.md +++ b/docs/tables/CUDNN_API_supported_by_HIP_and_MIOPEN.md @@ -292,7 +292,7 @@ |`CUDNN_BN_FINALIZE_STATISTICS_INFERENCE`|8.1.0| | | | | | | | | | | | | | | | |`CUDNN_BN_FINALIZE_STATISTICS_TRAINING`|8.1.0| | | | | | | | | | | | | | | | |`CUDNN_BN_MIN_EPSILON`|4.0.0| | | |`HIPDNN_BN_MIN_EPSILON`| | | | | | | | | | | | -|`CUDNN_CONVOLUTION`|1.0.0|9.0.0| | |`HIPDNN_CONVOLUTION`| | | | | | | | | | | | +|`CUDNN_CONVOLUTION`|1.0.0|9.0.0| | |`HIPDNN_CONVOLUTION`| | | | | |`miopenConvolution`| | | | | | |`CUDNN_CONVOLUTION_BWD_DATA_ALGO_0`|3.0.0| | | |`HIPDNN_CONVOLUTION_BWD_DATA_ALGO_0`| | | | | |`miopenConvolutionBwdDataAlgoGEMM`| | | | | | |`CUDNN_CONVOLUTION_BWD_DATA_ALGO_1`|3.0.0| | | |`HIPDNN_CONVOLUTION_BWD_DATA_ALGO_1`| | | | | |`miopenConvolutionBwdDataAlgoDirect`| | | | | | |`CUDNN_CONVOLUTION_BWD_DATA_ALGO_COUNT`|6.0.0| | | |`HIPDNN_CONVOLUTION_BWD_DATA_ALGO_TRANSPOSE_GEMM`| | | | | | | | | | | | @@ -326,7 +326,7 @@ |`CUDNN_CONVOLUTION_FWD_NO_WORKSPACE`|2.0.0|7.6.5| |8.0.1|`HIPDNN_CONVOLUTION_FWD_NO_WORKSPACE`| | | | | | | | | | | | |`CUDNN_CONVOLUTION_FWD_PREFER_FASTEST`|2.0.0|7.6.5| |8.0.1|`HIPDNN_CONVOLUTION_FWD_PREFER_FASTEST`| | | | | | | | | | | | |`CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT`|2.0.0|7.6.5| |8.0.1|`HIPDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT`| | | | | | | | | | | | -|`CUDNN_CROSS_CORRELATION`|1.0.0|9.0.0| | |`HIPDNN_CROSS_CORRELATION`| | | | | | | | | | | | +|`CUDNN_CROSS_CORRELATION`|1.0.0|9.0.0| | |`HIPDNN_CROSS_CORRELATION`| | | | | |`miopenConvolution`| | | | | | |`CUDNN_CTC_LOSS_ALGO_DETERMINISTIC`|7.0.5| | | | | | | | | |`MIOPEN_CTC_LOSS_ALGO_DETERMINISTIC`| | | | | | |`CUDNN_CTC_LOSS_ALGO_NON_DETERMINISTIC`|7.0.5| | | | | | | | | | | | | | | | |`CUDNN_CTC_SKIP_OOB_GRADIENTS`|9.0.0| | | | | | | | | | | | | | | | @@ -504,57 +504,57 @@ |`CUDNN_PARAM_YSUM_PLACEHOLDER`|7.6.0| | | | | | | | | | | | | | | | |`CUDNN_PARAM_ZDATA_PLACEHOLDER`|7.6.0| | | | | | | | | | | | | | | | |`CUDNN_PARAM_ZDESC`|7.6.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_ABS`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_ADD`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_ADD_SQUARE`|8.3.0| | | | | | | | | | | | | | | | +|`CUDNN_POINTWISE_ABS`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_ABS`| | | | | | +|`CUDNN_POINTWISE_ADD`|8.0.1| | | | | | | | | |`MIOPEN_POINTWISE_ADD`| | | | | | +|`CUDNN_POINTWISE_ADD_SQUARE`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_ADD_SQUARE`| | | | | | |`CUDNN_POINTWISE_ATAN2`|9.1.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_BINARY_SELECT`|8.4.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_CEIL`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_CMP_EQ`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_CMP_GE`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_CMP_GT`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_CMP_LE`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_CMP_LT`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_CMP_NEQ`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_COS`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_DIV`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_ELU_BWD`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_ELU_FWD`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_ERF`|8.5.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_EXP`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_FLOOR`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_GELU_APPROX_TANH_BWD`|8.5.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_GELU_APPROX_TANH_FWD`|8.5.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_GELU_BWD`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_GELU_FWD`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_GEN_INDEX`|8.4.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_IDENTITY`|8.5.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_LOG`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_LOGICAL_AND`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_LOGICAL_NOT`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_LOGICAL_OR`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_MAX`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_MIN`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_MOD`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_MUL`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_NEG`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_POW`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_RECIPROCAL`|8.9.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_RELU_BWD`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_RELU_FWD`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_RSQRT`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_SIGMOID_BWD`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_SIGMOID_FWD`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_SIN`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_SOFTPLUS_BWD`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_SOFTPLUS_FWD`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_SQRT`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_SUB`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_SWISH_BWD`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_SWISH_FWD`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_TAN`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_TANH_BWD`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_POINTWISE_TANH_FWD`|8.0.1| | | | | | | | | | | | | | | | +|`CUDNN_POINTWISE_BINARY_SELECT`|8.4.0| | | | | | | | | |`MIOPEN_POINTWISE_BINARY_SELECT`| | | | | | +|`CUDNN_POINTWISE_CEIL`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_CEIL`| | | | | | +|`CUDNN_POINTWISE_CMP_EQ`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_CMP_EQ`| | | | | | +|`CUDNN_POINTWISE_CMP_GE`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_CMP_GE`| | | | | | +|`CUDNN_POINTWISE_CMP_GT`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_CMP_GT`| | | | | | +|`CUDNN_POINTWISE_CMP_LE`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_CMP_LE`| | | | | | +|`CUDNN_POINTWISE_CMP_LT`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_CMP_LT`| | | | | | +|`CUDNN_POINTWISE_CMP_NEQ`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_CMP_NEQ`| | | | | | +|`CUDNN_POINTWISE_COS`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_COS`| | | | | | +|`CUDNN_POINTWISE_DIV`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_DIV`| | | | | | +|`CUDNN_POINTWISE_ELU_BWD`|8.1.0| | | | | | | | | |`MIOPEN_POINTWISE_ELU_BWD`| | | | | | +|`CUDNN_POINTWISE_ELU_FWD`|8.0.1| | | | | | | | | |`MIOPEN_POINTWISE_ELU_FWD`| | | | | | +|`CUDNN_POINTWISE_ERF`|8.5.0| | | | | | | | | |`MIOPEN_POINTWISE_ERF`| | | | | | +|`CUDNN_POINTWISE_EXP`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_EXP`| | | | | | +|`CUDNN_POINTWISE_FLOOR`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_FLOOR`| | | | | | +|`CUDNN_POINTWISE_GELU_APPROX_TANH_BWD`|8.5.0| | | | | | | | | |`MIOPEN_POINTWISE_GELU_APPROX_TANH_BWD`| | | | | | +|`CUDNN_POINTWISE_GELU_APPROX_TANH_FWD`|8.5.0| | | | | | | | | |`MIOPEN_POINTWISE_GELU_APPROX_TANH_FWD`| | | | | | +|`CUDNN_POINTWISE_GELU_BWD`|8.1.0| | | | | | | | | |`MIOPEN_POINTWISE_GELU_BWD`| | | | | | +|`CUDNN_POINTWISE_GELU_FWD`|8.1.0| | | | | | | | | |`MIOPEN_POINTWISE_GELU_FWD`| | | | | | +|`CUDNN_POINTWISE_GEN_INDEX`|8.4.0| | | | | | | | | |`MIOPEN_POINTWISE_GEN_INDEX`| | | | | | +|`CUDNN_POINTWISE_IDENTITY`|8.5.0| | | | | | | | | |`MIOPEN_POINTWISE_IDENTITY`| | | | | | +|`CUDNN_POINTWISE_LOG`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_LOG`| | | | | | +|`CUDNN_POINTWISE_LOGICAL_AND`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_LOGICAL_AND`| | | | | | +|`CUDNN_POINTWISE_LOGICAL_NOT`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_LOGICAL_NOT`| | | | | | +|`CUDNN_POINTWISE_LOGICAL_OR`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_LOGICAL_OR`| | | | | | +|`CUDNN_POINTWISE_MAX`|8.0.1| | | | | | | | | |`MIOPEN_POINTWISE_MAX`| | | | | | +|`CUDNN_POINTWISE_MIN`|8.0.1| | | | | | | | | |`MIOPEN_POINTWISE_MIN`| | | | | | +|`CUDNN_POINTWISE_MOD`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_MOD`| | | | | | +|`CUDNN_POINTWISE_MUL`|8.0.1| | | | | | | | | |`MIOPEN_POINTWISE_MUL`| | | | | | +|`CUDNN_POINTWISE_NEG`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_NEG`| | | | | | +|`CUDNN_POINTWISE_POW`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_POW`| | | | | | +|`CUDNN_POINTWISE_RECIPROCAL`|8.9.0| | | | | | | | | |`MIOPEN_POINTWISE_RECIPROCAL`| | | | | | +|`CUDNN_POINTWISE_RELU_BWD`|8.1.0| | | | | | | | | |`MIOPEN_POINTWISE_RELU_BWD`| | | | | | +|`CUDNN_POINTWISE_RELU_FWD`|8.0.1| | | | | | | | | |`MIOPEN_POINTWISE_RELU_FWD`| | | | | | +|`CUDNN_POINTWISE_RSQRT`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_RSQRT`| | | | | | +|`CUDNN_POINTWISE_SIGMOID_BWD`|8.1.0| | | | | | | | | |`MIOPEN_POINTWISE_SIGMOID_BWD`| | | | | | +|`CUDNN_POINTWISE_SIGMOID_FWD`|8.0.1| | | | | | | | | |`MIOPEN_POINTWISE_SIGMOID_FWD`| | | | | | +|`CUDNN_POINTWISE_SIN`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_SIN`| | | | | | +|`CUDNN_POINTWISE_SOFTPLUS_BWD`|8.1.0| | | | | | | | | |`MIOPEN_POINTWISE_SOFTPLUS_BWD`| | | | | | +|`CUDNN_POINTWISE_SOFTPLUS_FWD`|8.1.0| | | | | | | | | |`MIOPEN_POINTWISE_SOFTPLUS_FWD`| | | | | | +|`CUDNN_POINTWISE_SQRT`|8.0.1| | | | | | | | | |`MIOPEN_POINTWISE_SQRT`| | | | | | +|`CUDNN_POINTWISE_SUB`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_SUB`| | | | | | +|`CUDNN_POINTWISE_SWISH_BWD`|8.1.0| | | | | | | | | |`MIOPEN_POINTWISE_SWISH_BWD`| | | | | | +|`CUDNN_POINTWISE_SWISH_FWD`|8.1.0| | | | | | | | | |`MIOPEN_POINTWISE_SWISH_FWD`| | | | | | +|`CUDNN_POINTWISE_TAN`|8.3.0| | | | | | | | | |`MIOPEN_POINTWISE_TAN`| | | | | | +|`CUDNN_POINTWISE_TANH_BWD`|8.1.0| | | | | | | | | |`MIOPEN_POINTWISE_TANH_BWD`| | | | | | +|`CUDNN_POINTWISE_TANH_FWD`|8.0.1| | | | | | | | | |`MIOPEN_POINTWISE_TANH_FWD`| | | | | | |`CUDNN_POOLING_AVERAGE_COUNT_EXCLUDE_PADDING`|2.0.0|9.0.0| | |`HIPDNN_POOLING_AVERAGE_COUNT_EXCLUDE_PADDING`| | | | | | | | | | | | |`CUDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING`|2.0.0|9.0.0| | |`HIPDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING`| | | | | | | | | | | | |`CUDNN_POOLING_MAX`|1.0.0|9.0.0| | |`HIPDNN_POOLING_MAX`| | | | | |`miopenPoolingMax`| | | | | | @@ -764,7 +764,7 @@ |`cudnnBackendAttributeType_t`|8.0.1| | | | | | | | | |`miopenBackendAttributeType_t`| | | | | | |`cudnnBackendBehaviorNote_t`|8.2.0| | | | | | | | | | | | | | | | |`cudnnBackendDescriptorType_t`|8.0.1| | | | | | | | | |`miopenBackendDescriptorType_t`| | | | | | -|`cudnnBackendDescriptor_t`|8.0.1| | | | | | | | | | | | | | | | +|`cudnnBackendDescriptor_t`|8.0.1| | | | | | | | | |`miopenBackendDescriptor_t`| | | | | | |`cudnnBackendHeurMode_t`|8.0.1| | | | | | | | | | | | | | | | |`cudnnBackendKnobType_t`|8.0.1| | | | | | | | | | | | | | | | |`cudnnBackendLayoutType_t`|8.0.1| | | | | | | | | | | | | | | | @@ -840,7 +840,7 @@ |`cudnnPaddingMode_t`|8.3.0| | | | | | | | | | | | | | | | |`cudnnPersistentRNNPlan`|6.0.0| | | | | | | | | | | | | | | | |`cudnnPersistentRNNPlan_t`|6.0.0| | | |`hipdnnPersistentRNNPlan_t`| | | | | | | | | | | | -|`cudnnPointwiseMode_t`|8.0.1| | | | | | | | | | | | | | | | +|`cudnnPointwiseMode_t`|8.0.1| | | | | | | | | |`miopenPointwiseMode_t`| | | | | | |`cudnnPoolingDescriptor_t`|1.0.0|9.0.0| | |`hipdnnPoolingDescriptor_t`| | | | | |`miopenPoolingDescriptor_t`| | | | | | |`cudnnPoolingMode_t`|1.0.0|9.0.0| | |`hipdnnPoolingMode_t`| | | | | |`miopenPoolingMode_t`| | | | | | |`cudnnPoolingStruct`|1.0.0|9.0.0| | | | | | | | | | | | | | | diff --git a/docs/tables/CUDNN_API_supported_by_MIOPEN.md b/docs/tables/CUDNN_API_supported_by_MIOPEN.md index 9a01ca04..d5807f71 100644 --- a/docs/tables/CUDNN_API_supported_by_MIOPEN.md +++ b/docs/tables/CUDNN_API_supported_by_MIOPEN.md @@ -292,7 +292,7 @@ |`CUDNN_BN_FINALIZE_STATISTICS_INFERENCE`|8.1.0| | | | | | | | | | |`CUDNN_BN_FINALIZE_STATISTICS_TRAINING`|8.1.0| | | | | | | | | | |`CUDNN_BN_MIN_EPSILON`|4.0.0| | | | | | | | | | -|`CUDNN_CONVOLUTION`|1.0.0|9.0.0| | | | | | | | | +|`CUDNN_CONVOLUTION`|1.0.0|9.0.0| | |`miopenConvolution`| | | | | | |`CUDNN_CONVOLUTION_BWD_DATA_ALGO_0`|3.0.0| | | |`miopenConvolutionBwdDataAlgoGEMM`| | | | | | |`CUDNN_CONVOLUTION_BWD_DATA_ALGO_1`|3.0.0| | | |`miopenConvolutionBwdDataAlgoDirect`| | | | | | |`CUDNN_CONVOLUTION_BWD_DATA_ALGO_COUNT`|6.0.0| | | | | | | | | | @@ -326,7 +326,7 @@ |`CUDNN_CONVOLUTION_FWD_NO_WORKSPACE`|2.0.0|7.6.5| |8.0.1| | | | | | | |`CUDNN_CONVOLUTION_FWD_PREFER_FASTEST`|2.0.0|7.6.5| |8.0.1| | | | | | | |`CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT`|2.0.0|7.6.5| |8.0.1| | | | | | | -|`CUDNN_CROSS_CORRELATION`|1.0.0|9.0.0| | | | | | | | | +|`CUDNN_CROSS_CORRELATION`|1.0.0|9.0.0| | |`miopenConvolution`| | | | | | |`CUDNN_CTC_LOSS_ALGO_DETERMINISTIC`|7.0.5| | | |`MIOPEN_CTC_LOSS_ALGO_DETERMINISTIC`| | | | | | |`CUDNN_CTC_LOSS_ALGO_NON_DETERMINISTIC`|7.0.5| | | | | | | | | | |`CUDNN_CTC_SKIP_OOB_GRADIENTS`|9.0.0| | | | | | | | | | @@ -504,57 +504,57 @@ |`CUDNN_PARAM_YSUM_PLACEHOLDER`|7.6.0| | | | | | | | | | |`CUDNN_PARAM_ZDATA_PLACEHOLDER`|7.6.0| | | | | | | | | | |`CUDNN_PARAM_ZDESC`|7.6.0| | | | | | | | | | -|`CUDNN_POINTWISE_ABS`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_ADD`|8.0.1| | | | | | | | | | -|`CUDNN_POINTWISE_ADD_SQUARE`|8.3.0| | | | | | | | | | +|`CUDNN_POINTWISE_ABS`|8.3.0| | | |`MIOPEN_POINTWISE_ABS`| | | | | | +|`CUDNN_POINTWISE_ADD`|8.0.1| | | |`MIOPEN_POINTWISE_ADD`| | | | | | +|`CUDNN_POINTWISE_ADD_SQUARE`|8.3.0| | | |`MIOPEN_POINTWISE_ADD_SQUARE`| | | | | | |`CUDNN_POINTWISE_ATAN2`|9.1.0| | | | | | | | | | -|`CUDNN_POINTWISE_BINARY_SELECT`|8.4.0| | | | | | | | | | -|`CUDNN_POINTWISE_CEIL`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_CMP_EQ`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_CMP_GE`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_CMP_GT`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_CMP_LE`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_CMP_LT`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_CMP_NEQ`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_COS`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_DIV`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_ELU_BWD`|8.1.0| | | | | | | | | | -|`CUDNN_POINTWISE_ELU_FWD`|8.0.1| | | | | | | | | | -|`CUDNN_POINTWISE_ERF`|8.5.0| | | | | | | | | | -|`CUDNN_POINTWISE_EXP`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_FLOOR`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_GELU_APPROX_TANH_BWD`|8.5.0| | | | | | | | | | -|`CUDNN_POINTWISE_GELU_APPROX_TANH_FWD`|8.5.0| | | | | | | | | | -|`CUDNN_POINTWISE_GELU_BWD`|8.1.0| | | | | | | | | | -|`CUDNN_POINTWISE_GELU_FWD`|8.1.0| | | | | | | | | | -|`CUDNN_POINTWISE_GEN_INDEX`|8.4.0| | | | | | | | | | -|`CUDNN_POINTWISE_IDENTITY`|8.5.0| | | | | | | | | | -|`CUDNN_POINTWISE_LOG`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_LOGICAL_AND`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_LOGICAL_NOT`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_LOGICAL_OR`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_MAX`|8.0.1| | | | | | | | | | -|`CUDNN_POINTWISE_MIN`|8.0.1| | | | | | | | | | -|`CUDNN_POINTWISE_MOD`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_MUL`|8.0.1| | | | | | | | | | -|`CUDNN_POINTWISE_NEG`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_POW`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_RECIPROCAL`|8.9.0| | | | | | | | | | -|`CUDNN_POINTWISE_RELU_BWD`|8.1.0| | | | | | | | | | -|`CUDNN_POINTWISE_RELU_FWD`|8.0.1| | | | | | | | | | -|`CUDNN_POINTWISE_RSQRT`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_SIGMOID_BWD`|8.1.0| | | | | | | | | | -|`CUDNN_POINTWISE_SIGMOID_FWD`|8.0.1| | | | | | | | | | -|`CUDNN_POINTWISE_SIN`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_SOFTPLUS_BWD`|8.1.0| | | | | | | | | | -|`CUDNN_POINTWISE_SOFTPLUS_FWD`|8.1.0| | | | | | | | | | -|`CUDNN_POINTWISE_SQRT`|8.0.1| | | | | | | | | | -|`CUDNN_POINTWISE_SUB`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_SWISH_BWD`|8.1.0| | | | | | | | | | -|`CUDNN_POINTWISE_SWISH_FWD`|8.1.0| | | | | | | | | | -|`CUDNN_POINTWISE_TAN`|8.3.0| | | | | | | | | | -|`CUDNN_POINTWISE_TANH_BWD`|8.1.0| | | | | | | | | | -|`CUDNN_POINTWISE_TANH_FWD`|8.0.1| | | | | | | | | | +|`CUDNN_POINTWISE_BINARY_SELECT`|8.4.0| | | |`MIOPEN_POINTWISE_BINARY_SELECT`| | | | | | +|`CUDNN_POINTWISE_CEIL`|8.3.0| | | |`MIOPEN_POINTWISE_CEIL`| | | | | | +|`CUDNN_POINTWISE_CMP_EQ`|8.3.0| | | |`MIOPEN_POINTWISE_CMP_EQ`| | | | | | +|`CUDNN_POINTWISE_CMP_GE`|8.3.0| | | |`MIOPEN_POINTWISE_CMP_GE`| | | | | | +|`CUDNN_POINTWISE_CMP_GT`|8.3.0| | | |`MIOPEN_POINTWISE_CMP_GT`| | | | | | +|`CUDNN_POINTWISE_CMP_LE`|8.3.0| | | |`MIOPEN_POINTWISE_CMP_LE`| | | | | | +|`CUDNN_POINTWISE_CMP_LT`|8.3.0| | | |`MIOPEN_POINTWISE_CMP_LT`| | | | | | +|`CUDNN_POINTWISE_CMP_NEQ`|8.3.0| | | |`MIOPEN_POINTWISE_CMP_NEQ`| | | | | | +|`CUDNN_POINTWISE_COS`|8.3.0| | | |`MIOPEN_POINTWISE_COS`| | | | | | +|`CUDNN_POINTWISE_DIV`|8.3.0| | | |`MIOPEN_POINTWISE_DIV`| | | | | | +|`CUDNN_POINTWISE_ELU_BWD`|8.1.0| | | |`MIOPEN_POINTWISE_ELU_BWD`| | | | | | +|`CUDNN_POINTWISE_ELU_FWD`|8.0.1| | | |`MIOPEN_POINTWISE_ELU_FWD`| | | | | | +|`CUDNN_POINTWISE_ERF`|8.5.0| | | |`MIOPEN_POINTWISE_ERF`| | | | | | +|`CUDNN_POINTWISE_EXP`|8.3.0| | | |`MIOPEN_POINTWISE_EXP`| | | | | | +|`CUDNN_POINTWISE_FLOOR`|8.3.0| | | |`MIOPEN_POINTWISE_FLOOR`| | | | | | +|`CUDNN_POINTWISE_GELU_APPROX_TANH_BWD`|8.5.0| | | |`MIOPEN_POINTWISE_GELU_APPROX_TANH_BWD`| | | | | | +|`CUDNN_POINTWISE_GELU_APPROX_TANH_FWD`|8.5.0| | | |`MIOPEN_POINTWISE_GELU_APPROX_TANH_FWD`| | | | | | +|`CUDNN_POINTWISE_GELU_BWD`|8.1.0| | | |`MIOPEN_POINTWISE_GELU_BWD`| | | | | | +|`CUDNN_POINTWISE_GELU_FWD`|8.1.0| | | |`MIOPEN_POINTWISE_GELU_FWD`| | | | | | +|`CUDNN_POINTWISE_GEN_INDEX`|8.4.0| | | |`MIOPEN_POINTWISE_GEN_INDEX`| | | | | | +|`CUDNN_POINTWISE_IDENTITY`|8.5.0| | | |`MIOPEN_POINTWISE_IDENTITY`| | | | | | +|`CUDNN_POINTWISE_LOG`|8.3.0| | | |`MIOPEN_POINTWISE_LOG`| | | | | | +|`CUDNN_POINTWISE_LOGICAL_AND`|8.3.0| | | |`MIOPEN_POINTWISE_LOGICAL_AND`| | | | | | +|`CUDNN_POINTWISE_LOGICAL_NOT`|8.3.0| | | |`MIOPEN_POINTWISE_LOGICAL_NOT`| | | | | | +|`CUDNN_POINTWISE_LOGICAL_OR`|8.3.0| | | |`MIOPEN_POINTWISE_LOGICAL_OR`| | | | | | +|`CUDNN_POINTWISE_MAX`|8.0.1| | | |`MIOPEN_POINTWISE_MAX`| | | | | | +|`CUDNN_POINTWISE_MIN`|8.0.1| | | |`MIOPEN_POINTWISE_MIN`| | | | | | +|`CUDNN_POINTWISE_MOD`|8.3.0| | | |`MIOPEN_POINTWISE_MOD`| | | | | | +|`CUDNN_POINTWISE_MUL`|8.0.1| | | |`MIOPEN_POINTWISE_MUL`| | | | | | +|`CUDNN_POINTWISE_NEG`|8.3.0| | | |`MIOPEN_POINTWISE_NEG`| | | | | | +|`CUDNN_POINTWISE_POW`|8.3.0| | | |`MIOPEN_POINTWISE_POW`| | | | | | +|`CUDNN_POINTWISE_RECIPROCAL`|8.9.0| | | |`MIOPEN_POINTWISE_RECIPROCAL`| | | | | | +|`CUDNN_POINTWISE_RELU_BWD`|8.1.0| | | |`MIOPEN_POINTWISE_RELU_BWD`| | | | | | +|`CUDNN_POINTWISE_RELU_FWD`|8.0.1| | | |`MIOPEN_POINTWISE_RELU_FWD`| | | | | | +|`CUDNN_POINTWISE_RSQRT`|8.3.0| | | |`MIOPEN_POINTWISE_RSQRT`| | | | | | +|`CUDNN_POINTWISE_SIGMOID_BWD`|8.1.0| | | |`MIOPEN_POINTWISE_SIGMOID_BWD`| | | | | | +|`CUDNN_POINTWISE_SIGMOID_FWD`|8.0.1| | | |`MIOPEN_POINTWISE_SIGMOID_FWD`| | | | | | +|`CUDNN_POINTWISE_SIN`|8.3.0| | | |`MIOPEN_POINTWISE_SIN`| | | | | | +|`CUDNN_POINTWISE_SOFTPLUS_BWD`|8.1.0| | | |`MIOPEN_POINTWISE_SOFTPLUS_BWD`| | | | | | +|`CUDNN_POINTWISE_SOFTPLUS_FWD`|8.1.0| | | |`MIOPEN_POINTWISE_SOFTPLUS_FWD`| | | | | | +|`CUDNN_POINTWISE_SQRT`|8.0.1| | | |`MIOPEN_POINTWISE_SQRT`| | | | | | +|`CUDNN_POINTWISE_SUB`|8.3.0| | | |`MIOPEN_POINTWISE_SUB`| | | | | | +|`CUDNN_POINTWISE_SWISH_BWD`|8.1.0| | | |`MIOPEN_POINTWISE_SWISH_BWD`| | | | | | +|`CUDNN_POINTWISE_SWISH_FWD`|8.1.0| | | |`MIOPEN_POINTWISE_SWISH_FWD`| | | | | | +|`CUDNN_POINTWISE_TAN`|8.3.0| | | |`MIOPEN_POINTWISE_TAN`| | | | | | +|`CUDNN_POINTWISE_TANH_BWD`|8.1.0| | | |`MIOPEN_POINTWISE_TANH_BWD`| | | | | | +|`CUDNN_POINTWISE_TANH_FWD`|8.0.1| | | |`MIOPEN_POINTWISE_TANH_FWD`| | | | | | |`CUDNN_POOLING_AVERAGE_COUNT_EXCLUDE_PADDING`|2.0.0|9.0.0| | | | | | | | | |`CUDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING`|2.0.0|9.0.0| | | | | | | | | |`CUDNN_POOLING_MAX`|1.0.0|9.0.0| | |`miopenPoolingMax`| | | | | | @@ -764,7 +764,7 @@ |`cudnnBackendAttributeType_t`|8.0.1| | | |`miopenBackendAttributeType_t`| | | | | | |`cudnnBackendBehaviorNote_t`|8.2.0| | | | | | | | | | |`cudnnBackendDescriptorType_t`|8.0.1| | | |`miopenBackendDescriptorType_t`| | | | | | -|`cudnnBackendDescriptor_t`|8.0.1| | | | | | | | | | +|`cudnnBackendDescriptor_t`|8.0.1| | | |`miopenBackendDescriptor_t`| | | | | | |`cudnnBackendHeurMode_t`|8.0.1| | | | | | | | | | |`cudnnBackendKnobType_t`|8.0.1| | | | | | | | | | |`cudnnBackendLayoutType_t`|8.0.1| | | | | | | | | | @@ -840,7 +840,7 @@ |`cudnnPaddingMode_t`|8.3.0| | | | | | | | | | |`cudnnPersistentRNNPlan`|6.0.0| | | | | | | | | | |`cudnnPersistentRNNPlan_t`|6.0.0| | | | | | | | | | -|`cudnnPointwiseMode_t`|8.0.1| | | | | | | | | | +|`cudnnPointwiseMode_t`|8.0.1| | | |`miopenPointwiseMode_t`| | | | | | |`cudnnPoolingDescriptor_t`|1.0.0|9.0.0| | |`miopenPoolingDescriptor_t`| | | | | | |`cudnnPoolingMode_t`|1.0.0|9.0.0| | |`miopenPoolingMode_t`| | | | | | |`cudnnPoolingStruct`|1.0.0|9.0.0| | | | | | | | | diff --git a/src/CUDA2HIP_DNN_API_types.cpp b/src/CUDA2HIP_DNN_API_types.cpp index 3add18e8..6efca7f8 100644 --- a/src/CUDA2HIP_DNN_API_types.cpp +++ b/src/CUDA2HIP_DNN_API_types.cpp @@ -94,8 +94,8 @@ const std::map CUDA_DNN_TYPE_NAME_MAP { {"cudnnRuntimeTag_t", {"hipdnnRuntimeTag_t", "", CONV_TYPE, API_DNN, 1, UNSUPPORTED | CUDA_DEPRECATED}}, {"cudnnConvolutionMode_t", {"hipdnnConvolutionMode_t", "miopenConvolutionMode_t", CONV_TYPE, API_DNN, 1}}, - {"CUDNN_CONVOLUTION", {"HIPDNN_CONVOLUTION", "", CONV_NUMERIC_LITERAL, API_DNN, 1, ROC_UNSUPPORTED | CUDA_DEPRECATED}}, // 0 - {"CUDNN_CROSS_CORRELATION", {"HIPDNN_CROSS_CORRELATION", "", CONV_NUMERIC_LITERAL, API_DNN, 1, ROC_UNSUPPORTED | CUDA_DEPRECATED}}, // 1 + {"CUDNN_CONVOLUTION", {"HIPDNN_CONVOLUTION", "miopenConvolution", CONV_NUMERIC_LITERAL, API_DNN, 1, CUDA_DEPRECATED}}, // 0 + {"CUDNN_CROSS_CORRELATION", {"HIPDNN_CROSS_CORRELATION", "miopenConvolution", CONV_NUMERIC_LITERAL, API_DNN, 1, CUDA_DEPRECATED}}, // 1 {"cudnnTensorFormat_t", {"hipdnnTensorFormat_t", "miopenTensorLayout_t", CONV_TYPE, API_DNN, 1}}, {"CUDNN_TENSOR_NCHW", {"HIPDNN_TENSOR_NCHW", "miopenTensorNCHW", CONV_NUMERIC_LITERAL, API_DNN, 1}}, // 0 {"CUDNN_TENSOR_NHWC", {"HIPDNN_TENSOR_NHWC", "miopenTensorNHWC", CONV_NUMERIC_LITERAL, API_DNN, 1}}, // 1 @@ -385,58 +385,58 @@ const std::map CUDA_DNN_TYPE_NAME_MAP { {"cudnnForwardMode_t", {"hipdnnForwardMode_t", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, {"CUDNN_FWD_MODE_INFERENCE", {"HIPDNN_FWD_MODE_INFERENCE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 0 {"CUDNN_FWD_MODE_TRAINING", {"HIPDNN_FWD_MODE_TRAINING", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 1 - {"cudnnPointwiseMode_t", {"hipdnnPointwiseMode_t", "", CONV_TYPE, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_POINTWISE_ADD", {"HIPDNN_POINTWISE_ADD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 0 - {"CUDNN_POINTWISE_MUL", {"HIPDNN_POINTWISE_MUL", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 1 - {"CUDNN_POINTWISE_MIN", {"HIPDNN_POINTWISE_MIN", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 2 - {"CUDNN_POINTWISE_MAX", {"HIPDNN_POINTWISE_MAX", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 3 - {"CUDNN_POINTWISE_SQRT", {"HIPDNN_POINTWISE_SQRT", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 4 - {"CUDNN_POINTWISE_ADD_SQUARE", {"HIPDNN_POINTWISE_ADD_SQUARE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 5 - {"CUDNN_POINTWISE_DIV", {"HIPDNN_POINTWISE_DIV", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 6 - {"CUDNN_POINTWISE_MOD", {"HIPDNN_POINTWISE_MOD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 7 - {"CUDNN_POINTWISE_POW", {"HIPDNN_POINTWISE_POW", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 8 - {"CUDNN_POINTWISE_SUB", {"HIPDNN_POINTWISE_SUB", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 9 - {"CUDNN_POINTWISE_ABS", {"HIPDNN_POINTWISE_ABS", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 10 - {"CUDNN_POINTWISE_CEIL", {"HIPDNN_POINTWISE_CEIL", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 11 - {"CUDNN_POINTWISE_COS", {"HIPDNN_POINTWISE_COS", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 12 - {"CUDNN_POINTWISE_EXP", {"HIPDNN_POINTWISE_EXP", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 13 - {"CUDNN_POINTWISE_FLOOR", {"HIPDNN_POINTWISE_FLOOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 14 - {"CUDNN_POINTWISE_LOG", {"HIPDNN_POINTWISE_LOG", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 15 - {"CUDNN_POINTWISE_NEG", {"HIPDNN_POINTWISE_NEG", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 16 - {"CUDNN_POINTWISE_RSQRT", {"HIPDNN_POINTWISE_RSQRT", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 17 - {"CUDNN_POINTWISE_SIN", {"HIPDNN_POINTWISE_SIN", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 18 - {"CUDNN_POINTWISE_TAN", {"HIPDNN_POINTWISE_TAN", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 19 - {"CUDNN_POINTWISE_ERF", {"HIPDNN_POINTWISE_ERF", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 20 - {"CUDNN_POINTWISE_IDENTITY", {"HIPDNN_POINTWISE_IDENTITY", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 21 - {"CUDNN_POINTWISE_RECIPROCAL", {"HIPDNN_POINTWISE_RECIPROCAL", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 22 + {"cudnnPointwiseMode_t", {"hipdnnPointwiseMode_t", "miopenPointwiseMode_t", CONV_TYPE, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_POINTWISE_ADD", {"HIPDNN_POINTWISE_ADD", "MIOPEN_POINTWISE_ADD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 0 + {"CUDNN_POINTWISE_MUL", {"HIPDNN_POINTWISE_MUL", "MIOPEN_POINTWISE_MUL", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 1 + {"CUDNN_POINTWISE_MIN", {"HIPDNN_POINTWISE_MIN", "MIOPEN_POINTWISE_MIN", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 2 + {"CUDNN_POINTWISE_MAX", {"HIPDNN_POINTWISE_MAX", "MIOPEN_POINTWISE_MAX", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 3 + {"CUDNN_POINTWISE_SQRT", {"HIPDNN_POINTWISE_SQRT", "MIOPEN_POINTWISE_SQRT", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 4 + {"CUDNN_POINTWISE_ADD_SQUARE", {"HIPDNN_POINTWISE_ADD_SQUARE", "MIOPEN_POINTWISE_ADD_SQUARE", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 5 + {"CUDNN_POINTWISE_DIV", {"HIPDNN_POINTWISE_DIV", "MIOPEN_POINTWISE_DIV", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 6 + {"CUDNN_POINTWISE_MOD", {"HIPDNN_POINTWISE_MOD", "MIOPEN_POINTWISE_MOD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 7 + {"CUDNN_POINTWISE_POW", {"HIPDNN_POINTWISE_POW", "MIOPEN_POINTWISE_POW", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 8 + {"CUDNN_POINTWISE_SUB", {"HIPDNN_POINTWISE_SUB", "MIOPEN_POINTWISE_SUB", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 9 + {"CUDNN_POINTWISE_ABS", {"HIPDNN_POINTWISE_ABS", "MIOPEN_POINTWISE_ABS", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 10 + {"CUDNN_POINTWISE_CEIL", {"HIPDNN_POINTWISE_CEIL", "MIOPEN_POINTWISE_CEIL", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 11 + {"CUDNN_POINTWISE_COS", {"HIPDNN_POINTWISE_COS", "MIOPEN_POINTWISE_COS", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 12 + {"CUDNN_POINTWISE_EXP", {"HIPDNN_POINTWISE_EXP", "MIOPEN_POINTWISE_EXP", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 13 + {"CUDNN_POINTWISE_FLOOR", {"HIPDNN_POINTWISE_FLOOR", "MIOPEN_POINTWISE_FLOOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 14 + {"CUDNN_POINTWISE_LOG", {"HIPDNN_POINTWISE_LOG", "MIOPEN_POINTWISE_LOG", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 15 + {"CUDNN_POINTWISE_NEG", {"HIPDNN_POINTWISE_NEG", "MIOPEN_POINTWISE_NEG", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 16 + {"CUDNN_POINTWISE_RSQRT", {"HIPDNN_POINTWISE_RSQRT", "MIOPEN_POINTWISE_RSQRT", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 17 + {"CUDNN_POINTWISE_SIN", {"HIPDNN_POINTWISE_SIN", "MIOPEN_POINTWISE_SIN", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 18 + {"CUDNN_POINTWISE_TAN", {"HIPDNN_POINTWISE_TAN", "MIOPEN_POINTWISE_TAN", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 19 + {"CUDNN_POINTWISE_ERF", {"HIPDNN_POINTWISE_ERF", "MIOPEN_POINTWISE_ERF", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 20 + {"CUDNN_POINTWISE_IDENTITY", {"HIPDNN_POINTWISE_IDENTITY", "MIOPEN_POINTWISE_IDENTITY", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 21 + {"CUDNN_POINTWISE_RECIPROCAL", {"HIPDNN_POINTWISE_RECIPROCAL", "MIOPEN_POINTWISE_RECIPROCAL", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 22 {"CUDNN_POINTWISE_ATAN2", {"HIPDNN_POINTWISE_ATAN2", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 23 - {"CUDNN_POINTWISE_RELU_FWD", {"HIPDNN_POINTWISE_RELU_FWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 100 - {"CUDNN_POINTWISE_TANH_FWD", {"HIPDNN_POINTWISE_TANH_FWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 101 - {"CUDNN_POINTWISE_SIGMOID_FWD", {"HIPDNN_POINTWISE_SIGMOID_FWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 102 - {"CUDNN_POINTWISE_ELU_FWD", {"HIPDNN_POINTWISE_ELU_FWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 103 - {"CUDNN_POINTWISE_GELU_FWD", {"HIPDNN_POINTWISE_GELU_FWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 104 - {"CUDNN_POINTWISE_SOFTPLUS_FWD", {"HIPDNN_POINTWISE_SOFTPLUS_FWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 105 - {"CUDNN_POINTWISE_SWISH_FWD", {"HIPDNN_POINTWISE_SWISH_FWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 106 - {"CUDNN_POINTWISE_GELU_APPROX_TANH_FWD", {"HIPDNN_POINTWISE_GELU_APPROX_TANH_FWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 107 - {"CUDNN_POINTWISE_RELU_BWD", {"HIPDNN_POINTWISE_RELU_BWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 200 - {"CUDNN_POINTWISE_TANH_BWD", {"HIPDNN_POINTWISE_TANH_BWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 201 - {"CUDNN_POINTWISE_SIGMOID_BWD", {"HIPDNN_POINTWISE_SIGMOID_BWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 202 - {"CUDNN_POINTWISE_ELU_BWD", {"HIPDNN_POINTWISE_ELU_BWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 203 - {"CUDNN_POINTWISE_GELU_BWD", {"HIPDNN_POINTWISE_GELU_BWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 204 - {"CUDNN_POINTWISE_SOFTPLUS_BWD", {"HIPDNN_POINTWISE_SOFTPLUS_BWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 205 - {"CUDNN_POINTWISE_SWISH_BWD", {"HIPDNN_POINTWISE_SWISH_BWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 206 - {"CUDNN_POINTWISE_GELU_APPROX_TANH_BWD", {"HIPDNN_POINTWISE_GELU_APPROX_TANH_BWD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 207 - {"CUDNN_POINTWISE_CMP_EQ", {"HIPDNN_POINTWISE_CMP_EQ", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 300 - {"CUDNN_POINTWISE_CMP_NEQ", {"HIPDNN_POINTWISE_CMP_NEQ", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 301 - {"CUDNN_POINTWISE_CMP_GT", {"HIPDNN_POINTWISE_CMP_GT", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 302 - {"CUDNN_POINTWISE_CMP_GE", {"HIPDNN_POINTWISE_CMP_GE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 303 - {"CUDNN_POINTWISE_CMP_LT", {"HIPDNN_POINTWISE_CMP_LT", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 304 - {"CUDNN_POINTWISE_CMP_LE", {"HIPDNN_POINTWISE_CMP_LE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 305 - {"CUDNN_POINTWISE_LOGICAL_AND", {"HIPDNN_POINTWISE_LOGICAL_AND", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 400 - {"CUDNN_POINTWISE_LOGICAL_OR", {"HIPDNN_POINTWISE_LOGICAL_OR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 401 - {"CUDNN_POINTWISE_LOGICAL_NOT", {"HIPDNN_POINTWISE_LOGICAL_NOT", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 402 - {"CUDNN_POINTWISE_GEN_INDEX", {"HIPDNN_POINTWISE_GEN_INDEX", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 501 - {"CUDNN_POINTWISE_BINARY_SELECT", {"HIPDNN_POINTWISE_BINARY_SELECT", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 601 + {"CUDNN_POINTWISE_RELU_FWD", {"HIPDNN_POINTWISE_RELU_FWD", "MIOPEN_POINTWISE_RELU_FWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 100 + {"CUDNN_POINTWISE_TANH_FWD", {"HIPDNN_POINTWISE_TANH_FWD", "MIOPEN_POINTWISE_TANH_FWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 101 + {"CUDNN_POINTWISE_SIGMOID_FWD", {"HIPDNN_POINTWISE_SIGMOID_FWD", "MIOPEN_POINTWISE_SIGMOID_FWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 102 + {"CUDNN_POINTWISE_ELU_FWD", {"HIPDNN_POINTWISE_ELU_FWD", "MIOPEN_POINTWISE_ELU_FWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 103 + {"CUDNN_POINTWISE_GELU_FWD", {"HIPDNN_POINTWISE_GELU_FWD", "MIOPEN_POINTWISE_GELU_FWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 104 + {"CUDNN_POINTWISE_SOFTPLUS_FWD", {"HIPDNN_POINTWISE_SOFTPLUS_FWD", "MIOPEN_POINTWISE_SOFTPLUS_FWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 105 + {"CUDNN_POINTWISE_SWISH_FWD", {"HIPDNN_POINTWISE_SWISH_FWD", "MIOPEN_POINTWISE_SWISH_FWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 106 + {"CUDNN_POINTWISE_GELU_APPROX_TANH_FWD", {"HIPDNN_POINTWISE_GELU_APPROX_TANH_FWD", "MIOPEN_POINTWISE_GELU_APPROX_TANH_FWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 107 + {"CUDNN_POINTWISE_RELU_BWD", {"HIPDNN_POINTWISE_RELU_BWD", "MIOPEN_POINTWISE_RELU_BWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 200 + {"CUDNN_POINTWISE_TANH_BWD", {"HIPDNN_POINTWISE_TANH_BWD", "MIOPEN_POINTWISE_TANH_BWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 201 + {"CUDNN_POINTWISE_SIGMOID_BWD", {"HIPDNN_POINTWISE_SIGMOID_BWD", "MIOPEN_POINTWISE_SIGMOID_BWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 202 + {"CUDNN_POINTWISE_ELU_BWD", {"HIPDNN_POINTWISE_ELU_BWD", "MIOPEN_POINTWISE_ELU_BWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 203 + {"CUDNN_POINTWISE_GELU_BWD", {"HIPDNN_POINTWISE_GELU_BWD", "MIOPEN_POINTWISE_GELU_BWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 204 + {"CUDNN_POINTWISE_SOFTPLUS_BWD", {"HIPDNN_POINTWISE_SOFTPLUS_BWD", "MIOPEN_POINTWISE_SOFTPLUS_BWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 205 + {"CUDNN_POINTWISE_SWISH_BWD", {"HIPDNN_POINTWISE_SWISH_BWD", "MIOPEN_POINTWISE_SWISH_BWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 206 + {"CUDNN_POINTWISE_GELU_APPROX_TANH_BWD", {"HIPDNN_POINTWISE_GELU_APPROX_TANH_BWD", "MIOPEN_POINTWISE_GELU_APPROX_TANH_BWD", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 207 + {"CUDNN_POINTWISE_CMP_EQ", {"HIPDNN_POINTWISE_CMP_EQ", "MIOPEN_POINTWISE_CMP_EQ", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 300 + {"CUDNN_POINTWISE_CMP_NEQ", {"HIPDNN_POINTWISE_CMP_NEQ", "MIOPEN_POINTWISE_CMP_NEQ", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 301 + {"CUDNN_POINTWISE_CMP_GT", {"HIPDNN_POINTWISE_CMP_GT", "MIOPEN_POINTWISE_CMP_GT", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 302 + {"CUDNN_POINTWISE_CMP_GE", {"HIPDNN_POINTWISE_CMP_GE", "MIOPEN_POINTWISE_CMP_GE", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 303 + {"CUDNN_POINTWISE_CMP_LT", {"HIPDNN_POINTWISE_CMP_LT", "MIOPEN_POINTWISE_CMP_LT", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 304 + {"CUDNN_POINTWISE_CMP_LE", {"HIPDNN_POINTWISE_CMP_LE", "MIOPEN_POINTWISE_CMP_LE", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 305 + {"CUDNN_POINTWISE_LOGICAL_AND", {"HIPDNN_POINTWISE_LOGICAL_AND", "MIOPEN_POINTWISE_LOGICAL_AND", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 400 + {"CUDNN_POINTWISE_LOGICAL_OR", {"HIPDNN_POINTWISE_LOGICAL_OR", "MIOPEN_POINTWISE_LOGICAL_OR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 401 + {"CUDNN_POINTWISE_LOGICAL_NOT", {"HIPDNN_POINTWISE_LOGICAL_NOT", "MIOPEN_POINTWISE_LOGICAL_NOT", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 402 + {"CUDNN_POINTWISE_GEN_INDEX", {"HIPDNN_POINTWISE_GEN_INDEX", "MIOPEN_POINTWISE_GEN_INDEX", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 501 + {"CUDNN_POINTWISE_BINARY_SELECT", {"HIPDNN_POINTWISE_BINARY_SELECT", "MIOPEN_POINTWISE_BINARY_SELECT", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 601 {"cudnnGenStatsMode_t", {"hipdnnGenStatsMode_t", "", CONV_TYPE, API_DNN, 1, UNSUPPORTED}}, {"CUDNN_GENSTATS_SUM_SQSUM", {"HIPDNN_GENSTATS_SUM_SQSUM", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 0 {"cudnnBackendAttributeName_t", {"hipdnnBackendAttributeName_t", "miopenBackendAttributeName_t", CONV_TYPE, API_DNN, 1, HIP_UNSUPPORTED}}, @@ -904,7 +904,7 @@ const std::map CUDA_DNN_TYPE_NAME_MAP { {"cudnnFusedOpsVariantParamPack_t", {"hipdnnFusedOpsVariantParamPack_t", "", CONV_TYPE, API_DNN, 1, UNSUPPORTED | CUDA_DEPRECATED}}, {"cudnnFusedOpsPlanStruct", {"hipdnnFusedOpsPlanStruct", "", CONV_TYPE, API_DNN, 1, UNSUPPORTED | CUDA_DEPRECATED}}, {"cudnnFusedOpsPlan_t", {"hipdnnFusedOpsPlan_t", "", CONV_TYPE, API_DNN, 1, UNSUPPORTED | CUDA_DEPRECATED}}, - {"cudnnBackendDescriptor_t", {"hipdnnBackendDescriptor_t", "", CONV_TYPE, API_DNN, 1, UNSUPPORTED}}, + {"cudnnBackendDescriptor_t", {"hipdnnBackendDescriptor_t", "miopenBackendDescriptor_t", CONV_TYPE, API_DNN, 1, HIP_UNSUPPORTED}}, {"libraryPropertyType", {"hipdnnLibraryPropertyType", "", CONV_TYPE, API_DNN, 1, UNSUPPORTED}}, {"libraryPropertyType_t", {"hipdnnLibraryPropertyType_t", "", CONV_TYPE, API_DNN, 1, UNSUPPORTED | CUDA_REMOVED}}, {"cudnnFractionStruct", {"hipdnnFractionStruct", "", CONV_TYPE, API_DNN, 1, UNSUPPORTED}}, diff --git a/tests/unit_tests/synthetic/libraries/cudnn2miopen.cu b/tests/unit_tests/synthetic/libraries/cudnn2miopen.cu index d52fb27c..15caa94b 100644 --- a/tests/unit_tests/synthetic/libraries/cudnn2miopen.cu +++ b/tests/unit_tests/synthetic/libraries/cudnn2miopen.cu @@ -131,7 +131,11 @@ int main() { cudnnOpTensorOp_t OP_TENSOR_MAX = CUDNN_OP_TENSOR_MAX; // CHECK: miopenConvolutionMode_t convolutionMode; + // CHECK-NEXT: miopenConvolutionMode_t CONVOLUTION = miopenConvolution; + // CHECK-NEXT: miopenConvolutionMode_t CROSS_CORRELATION = miopenConvolution; cudnnConvolutionMode_t convolutionMode; + cudnnConvolutionMode_t CONVOLUTION = CUDNN_CONVOLUTION; + cudnnConvolutionMode_t CROSS_CORRELATION = CUDNN_CROSS_CORRELATION; // CHECK: miopenPoolingMode_t poolingMode; // CHECK-NEXT: miopenPoolingMode_t POOLING_MAX = miopenPoolingMax; @@ -1064,6 +1068,30 @@ int main() { cudnnBackendAttributeName_t ATTR_ENGINE_OPERATION_GRAPH = CUDNN_ATTR_ENGINE_OPERATION_GRAPH; cudnnBackendAttributeName_t ATTR_ENGINE_GLOBAL_INDEX = CUDNN_ATTR_ENGINE_GLOBAL_INDEX; cudnnBackendAttributeName_t ATTR_ENGINE_NUMERICAL_NOTE = CUDNN_ATTR_ENGINE_NUMERICAL_NOTE; + + // CHECK: miopenPointwiseMode_t pointwiseMode_t; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_ADD = MIOPEN_POINTWISE_ADD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_MUL = MIOPEN_POINTWISE_MUL; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_MIN = MIOPEN_POINTWISE_MIN; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_MAX = MIOPEN_POINTWISE_MAX; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_SQRT = MIOPEN_POINTWISE_SQRT; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_RELU_FWD = MIOPEN_POINTWISE_RELU_FWD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_TANH_FWD = MIOPEN_POINTWISE_TANH_FWD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_SIGMOID_FWD = MIOPEN_POINTWISE_SIGMOID_FWD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_ELU_FWD = MIOPEN_POINTWISE_ELU_FWD; + cudnnPointwiseMode_t pointwiseMode_t; + cudnnPointwiseMode_t POINTWISE_ADD = CUDNN_POINTWISE_ADD; + cudnnPointwiseMode_t POINTWISE_MUL = CUDNN_POINTWISE_MUL; + cudnnPointwiseMode_t POINTWISE_MIN = CUDNN_POINTWISE_MIN; + cudnnPointwiseMode_t POINTWISE_MAX = CUDNN_POINTWISE_MAX; + cudnnPointwiseMode_t POINTWISE_SQRT = CUDNN_POINTWISE_SQRT; + cudnnPointwiseMode_t POINTWISE_RELU_FWD = CUDNN_POINTWISE_RELU_FWD; + cudnnPointwiseMode_t POINTWISE_TANH_FWD = CUDNN_POINTWISE_TANH_FWD; + cudnnPointwiseMode_t POINTWISE_SIGMOID_FWD = CUDNN_POINTWISE_SIGMOID_FWD; + cudnnPointwiseMode_t POINTWISE_ELU_FWD = CUDNN_POINTWISE_ELU_FWD; + + // CHECK: miopenBackendDescriptor_t backendDescriptor_t; + cudnnBackendDescriptor_t backendDescriptor_t; #endif #if CUDNN_VERSION >= 8002 @@ -1180,6 +1208,27 @@ int main() { cudnnBackendAttributeName_t ATTR_OPERATION_REDUCTION_XDESC = CUDNN_ATTR_OPERATION_REDUCTION_XDESC; cudnnBackendAttributeName_t ATTR_OPERATION_REDUCTION_YDESC = CUDNN_ATTR_OPERATION_REDUCTION_YDESC; cudnnBackendAttributeName_t ATTR_OPERATION_REDUCTION_DESC = CUDNN_ATTR_OPERATION_REDUCTION_DESC; + + // CHECK: miopenPointwiseMode_t POINTWISE_GELU_FWD = MIOPEN_POINTWISE_GELU_FWD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_SOFTPLUS_FWD = MIOPEN_POINTWISE_SOFTPLUS_FWD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_SWISH_FWD = MIOPEN_POINTWISE_SWISH_FWD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_RELU_BWD = MIOPEN_POINTWISE_RELU_BWD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_TANH_BWD = MIOPEN_POINTWISE_TANH_BWD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_SIGMOID_BWD = MIOPEN_POINTWISE_SIGMOID_BWD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_ELU_BWD = MIOPEN_POINTWISE_ELU_BWD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_GELU_BWD = MIOPEN_POINTWISE_GELU_BWD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_SOFTPLUS_BWD = MIOPEN_POINTWISE_SOFTPLUS_BWD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_SWISH_BWD = MIOPEN_POINTWISE_SWISH_BWD; + cudnnPointwiseMode_t POINTWISE_GELU_FWD = CUDNN_POINTWISE_GELU_FWD; + cudnnPointwiseMode_t POINTWISE_SOFTPLUS_FWD = CUDNN_POINTWISE_SOFTPLUS_FWD; + cudnnPointwiseMode_t POINTWISE_SWISH_FWD = CUDNN_POINTWISE_SWISH_FWD; + cudnnPointwiseMode_t POINTWISE_RELU_BWD = CUDNN_POINTWISE_RELU_BWD; + cudnnPointwiseMode_t POINTWISE_TANH_BWD = CUDNN_POINTWISE_TANH_BWD; + cudnnPointwiseMode_t POINTWISE_SIGMOID_BWD = CUDNN_POINTWISE_SIGMOID_BWD; + cudnnPointwiseMode_t POINTWISE_ELU_BWD = CUDNN_POINTWISE_ELU_BWD; + cudnnPointwiseMode_t POINTWISE_GELU_BWD = CUDNN_POINTWISE_GELU_BWD; + cudnnPointwiseMode_t POINTWISE_SOFTPLUS_BWD = CUDNN_POINTWISE_SOFTPLUS_BWD; + cudnnPointwiseMode_t POINTWISE_SWISH_BWD = CUDNN_POINTWISE_SWISH_BWD; #endif #if CUDNN_VERSION >= 8200 @@ -1275,6 +1324,55 @@ int main() { cudnnBackendAttributeName_t ATTR_OPERATION_RESAMPLE_BWD_ALPHA = CUDNN_ATTR_OPERATION_RESAMPLE_BWD_ALPHA; cudnnBackendAttributeName_t ATTR_OPERATION_RESAMPLE_BWD_BETA = CUDNN_ATTR_OPERATION_RESAMPLE_BWD_BETA; cudnnBackendAttributeName_t ATTR_OPERATION_RESAMPLE_BWD_DESC = CUDNN_ATTR_OPERATION_RESAMPLE_BWD_DESC; + + // CHECK: miopenPointwiseMode_t POINTWISE_ADD_SQUARE = MIOPEN_POINTWISE_ADD_SQUARE; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_DIV = MIOPEN_POINTWISE_DIV; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_MOD = MIOPEN_POINTWISE_MOD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_POW = MIOPEN_POINTWISE_POW; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_SUB = MIOPEN_POINTWISE_SUB; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_ABS = MIOPEN_POINTWISE_ABS; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_CEIL = MIOPEN_POINTWISE_CEIL; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_COS = MIOPEN_POINTWISE_COS; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_EXP = MIOPEN_POINTWISE_EXP; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_FLOOR = MIOPEN_POINTWISE_FLOOR; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_LOG = MIOPEN_POINTWISE_LOG; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_NEG = MIOPEN_POINTWISE_NEG; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_RSQRT = MIOPEN_POINTWISE_RSQRT; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_SIN = MIOPEN_POINTWISE_SIN; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_TAN = MIOPEN_POINTWISE_TAN; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_CMP_EQ = MIOPEN_POINTWISE_CMP_EQ; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_CMP_NEQ = MIOPEN_POINTWISE_CMP_NEQ; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_CMP_GT = MIOPEN_POINTWISE_CMP_GT; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_CMP_GE = MIOPEN_POINTWISE_CMP_GE; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_CMP_LT = MIOPEN_POINTWISE_CMP_LT; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_CMP_LE = MIOPEN_POINTWISE_CMP_LE; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_LOGICAL_AND = MIOPEN_POINTWISE_LOGICAL_AND; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_LOGICAL_OR = MIOPEN_POINTWISE_LOGICAL_OR; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_LOGICAL_NOT = MIOPEN_POINTWISE_LOGICAL_NOT; + cudnnPointwiseMode_t POINTWISE_ADD_SQUARE = CUDNN_POINTWISE_ADD_SQUARE; + cudnnPointwiseMode_t POINTWISE_DIV = CUDNN_POINTWISE_DIV; + cudnnPointwiseMode_t POINTWISE_MOD = CUDNN_POINTWISE_MOD; + cudnnPointwiseMode_t POINTWISE_POW = CUDNN_POINTWISE_POW; + cudnnPointwiseMode_t POINTWISE_SUB = CUDNN_POINTWISE_SUB; + cudnnPointwiseMode_t POINTWISE_ABS = CUDNN_POINTWISE_ABS; + cudnnPointwiseMode_t POINTWISE_CEIL = CUDNN_POINTWISE_CEIL; + cudnnPointwiseMode_t POINTWISE_COS = CUDNN_POINTWISE_COS; + cudnnPointwiseMode_t POINTWISE_EXP = CUDNN_POINTWISE_EXP; + cudnnPointwiseMode_t POINTWISE_FLOOR = CUDNN_POINTWISE_FLOOR; + cudnnPointwiseMode_t POINTWISE_LOG = CUDNN_POINTWISE_LOG; + cudnnPointwiseMode_t POINTWISE_NEG = CUDNN_POINTWISE_NEG; + cudnnPointwiseMode_t POINTWISE_RSQRT = CUDNN_POINTWISE_RSQRT; + cudnnPointwiseMode_t POINTWISE_SIN = CUDNN_POINTWISE_SIN; + cudnnPointwiseMode_t POINTWISE_TAN = CUDNN_POINTWISE_TAN; + cudnnPointwiseMode_t POINTWISE_CMP_EQ = CUDNN_POINTWISE_CMP_EQ; + cudnnPointwiseMode_t POINTWISE_CMP_NEQ = CUDNN_POINTWISE_CMP_NEQ; + cudnnPointwiseMode_t POINTWISE_CMP_GT = CUDNN_POINTWISE_CMP_GT; + cudnnPointwiseMode_t POINTWISE_CMP_GE = CUDNN_POINTWISE_CMP_GE; + cudnnPointwiseMode_t POINTWISE_CMP_LT = CUDNN_POINTWISE_CMP_LT; + cudnnPointwiseMode_t POINTWISE_CMP_LE = CUDNN_POINTWISE_CMP_LE; + cudnnPointwiseMode_t POINTWISE_LOGICAL_AND = CUDNN_POINTWISE_LOGICAL_AND; + cudnnPointwiseMode_t POINTWISE_LOGICAL_OR = CUDNN_POINTWISE_LOGICAL_OR; + cudnnPointwiseMode_t POINTWISE_LOGICAL_NOT = CUDNN_POINTWISE_LOGICAL_NOT; #endif #if CUDNN_VERSION >= 8400 @@ -1285,6 +1383,11 @@ int main() { // CHECK-NEXT: miopenBackendAttributeName_t ATTR_EXECUTION_PLAN_JSON_REPRESENTATION = MIOPEN_ATTR_EXECUTION_PLAN_JSON_REPRESENTATION; cudnnBackendAttributeName_t ATTR_POINTWISE_AXIS = CUDNN_ATTR_POINTWISE_AXIS; cudnnBackendAttributeName_t ATTR_EXECUTION_PLAN_JSON_REPRESENTATION = CUDNN_ATTR_EXECUTION_PLAN_JSON_REPRESENTATION; + + // CHECK: miopenPointwiseMode_t POINTWISE_GEN_INDEX = MIOPEN_POINTWISE_GEN_INDEX; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_BINARY_SELECT = MIOPEN_POINTWISE_BINARY_SELECT; + cudnnPointwiseMode_t POINTWISE_GEN_INDEX = CUDNN_POINTWISE_GEN_INDEX; + cudnnPointwiseMode_t POINTWISE_BINARY_SELECT = CUDNN_POINTWISE_BINARY_SELECT; #endif #if CUDNN_VERSION >= 8500 @@ -1376,6 +1479,15 @@ int main() { cudnnBackendAttributeName_t ATTR_OPERATION_NORM_BWD_DBIAS_DESC = CUDNN_ATTR_OPERATION_NORM_BWD_DBIAS_DESC; cudnnBackendAttributeName_t ATTR_OPERATION_NORM_BWD_DXDESC = CUDNN_ATTR_OPERATION_NORM_BWD_DXDESC; cudnnBackendAttributeName_t ATTR_OPERATION_NORM_BWD_PEER_STAT_DESCS = CUDNN_ATTR_OPERATION_NORM_BWD_PEER_STAT_DESCS; + + // CHECK: miopenPointwiseMode_t POINTWISE_ERF = MIOPEN_POINTWISE_ERF; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_IDENTITY = MIOPEN_POINTWISE_IDENTITY; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_GELU_APPROX_TANH_FWD = MIOPEN_POINTWISE_GELU_APPROX_TANH_FWD; + // CHECK-NEXT: miopenPointwiseMode_t POINTWISE_GELU_APPROX_TANH_BWD = MIOPEN_POINTWISE_GELU_APPROX_TANH_BWD; + cudnnPointwiseMode_t POINTWISE_ERF = CUDNN_POINTWISE_ERF; + cudnnPointwiseMode_t POINTWISE_IDENTITY = CUDNN_POINTWISE_IDENTITY; + cudnnPointwiseMode_t POINTWISE_GELU_APPROX_TANH_FWD = CUDNN_POINTWISE_GELU_APPROX_TANH_FWD; + cudnnPointwiseMode_t POINTWISE_GELU_APPROX_TANH_BWD = CUDNN_POINTWISE_GELU_APPROX_TANH_BWD; #endif #if CUDNN_VERSION >= 8700 @@ -1431,6 +1543,9 @@ int main() { // CHECK-NEXT: miopenBackendAttributeName_t ATTR_MATMUL_PADDING_VALUE = MIOPEN_ATTR_MATMUL_PADDING_VALUE; cudnnBackendAttributeName_t ATTR_TENSOR_RAGGED_OFFSET_DESC = CUDNN_ATTR_TENSOR_RAGGED_OFFSET_DESC; cudnnBackendAttributeName_t ATTR_MATMUL_PADDING_VALUE = CUDNN_ATTR_MATMUL_PADDING_VALUE; + + // CHECK: miopenPointwiseMode_t POINTWISE_RECIPROCAL = MIOPEN_POINTWISE_RECIPROCAL; + cudnnPointwiseMode_t POINTWISE_RECIPROCAL = CUDNN_POINTWISE_RECIPROCAL; #endif #if CUDNN_VERSION >= 8905