From 8797277345a4328fdf386cd0f30ffe4ee6eb32b0 Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Fri, 23 Aug 2024 22:13:48 +0100 Subject: [PATCH] [HIPIFY][#584][#1624][MIOpen] Support for backend `graphAPI` direct translation from `cuDNN` to `MIOpen` - Part 1 + `cudnnTensorFormat_t` -> `miopenTensorLayout_t` + `cudnnBackendDescriptorType_t` -> `miopenBackendDescriptorType_t` + Updated synthetic tests, the regenerated `hipify-perl`, and `DNN` `CUDA2HIP` documentation + [ToDo] `MIOpen` API versioning --- bin/hipify-perl | 35 ++++++++ .../CUDNN_API_supported_by_HIP_and_MIOPEN.md | 70 +++++++-------- docs/tables/CUDNN_API_supported_by_MIOPEN.md | 70 +++++++-------- src/CUDA2HIP_DNN_API_types.cpp | 70 +++++++-------- .../synthetic/libraries/cudnn2miopen.cu | 86 +++++++++++++++++++ 5 files changed, 226 insertions(+), 105 deletions(-) diff --git a/bin/hipify-perl b/bin/hipify-perl index 92b1c06f..a95256c3 100755 --- a/bin/hipify-perl +++ b/bin/hipify-perl @@ -3168,6 +3168,7 @@ sub rocSubstitutions { subst("cudaDataType_t", "rocblas_datatype_", "type"); subst("cudnnActivationDescriptor_t", "miopenActivationDescriptor_t", "type"); subst("cudnnActivationMode_t", "miopenActivationMode_t", "type"); + subst("cudnnBackendDescriptorType_t", "miopenBackendDescriptorType_t", "type"); subst("cudnnBatchNormMode_t", "miopenBatchNormMode_t", "type"); subst("cudnnCTCLossAlgo_t", "miopenCTCLossAlgo_t", "type"); subst("cudnnCTCLossDescriptor_t", "miopenCTCLossDescriptor_t", "type"); @@ -3203,6 +3204,7 @@ sub rocSubstitutions { subst("cudnnSoftmaxMode_t", "miopenSoftmaxMode_t", "type"); subst("cudnnStatus_t", "miopenStatus_t", "type"); subst("cudnnTensorDescriptor_t", "miopenTensorDescriptor_t", "type"); + subst("cudnnTensorFormat_t", "miopenTensorLayout_t", "type"); subst("curandStatus", "rocrand_status", "type"); subst("curandStatus_t", "rocrand_status", "type"); subst("cusolverDnHandle_t", "rocblas_handle", "type"); @@ -3308,6 +3310,37 @@ sub rocSubstitutions { subst("CUDNN_ACTIVATION_IDENTITY", "miopenActivationPASTHRU", "numeric_literal"); subst("CUDNN_ACTIVATION_RELU", "miopenActivationRELU", "numeric_literal"); subst("CUDNN_ACTIVATION_TANH", "miopenActivationTANH", "numeric_literal"); + subst("CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR", "MIOPEN_BACKEND_CONVOLUTION_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_ENGINECFG_DESCRIPTOR", "MIOPEN_BACKEND_ENGINECFG_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR", "MIOPEN_BACKEND_ENGINEHEUR_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_ENGINE_DESCRIPTOR", "MIOPEN_BACKEND_ENGINE_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR", "MIOPEN_BACKEND_EXECUTION_PLAN_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR", "MIOPEN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR", "MIOPEN_BACKEND_KNOB_CHOICE_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR", "MIOPEN_BACKEND_KNOB_INFO_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR", "MIOPEN_BACKEND_LAYOUT_INFO_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_MATMUL_DESCRIPTOR", "MIOPEN_BACKEND_MATMUL_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR", "MIOPEN_BACKEND_OPERATIONGRAPH_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_CONCAT_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_CONCAT_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_MATMUL_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_RNG_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_RNG_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_POINTWISE_DESCRIPTOR", "MIOPEN_BACKEND_POINTWISE_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_REDUCTION_DESCRIPTOR", "MIOPEN_BACKEND_REDUCTION_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_RESAMPLE_DESCRIPTOR", "MIOPEN_BACKEND_RESAMPLE_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_RNG_DESCRIPTOR", "MIOPEN_BACKEND_RNG_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_TENSOR_DESCRIPTOR", "MIOPEN_BACKEND_TENSOR_DESCRIPTOR", "numeric_literal"); + subst("CUDNN_BACKEND_VARIANT_PACK_DESCRIPTOR", "MIOPEN_BACKEND_VARIANT_PACK_DESCRIPTOR", "numeric_literal"); subst("CUDNN_BATCHNORM_PER_ACTIVATION", "miopenBNPerActivation", "numeric_literal"); subst("CUDNN_BATCHNORM_SPATIAL", "miopenBNSpatial", "numeric_literal"); subst("CUDNN_BIDIRECTIONAL", "miopenRNNbidirection", "numeric_literal"); @@ -3369,6 +3402,8 @@ sub rocSubstitutions { subst("CUDNN_STATUS_NOT_INITIALIZED", "miopenStatusNotInitialized", "numeric_literal"); subst("CUDNN_STATUS_NOT_SUPPORTED", "miopenStatusUnsupportedOp", "numeric_literal"); subst("CUDNN_STATUS_SUCCESS", "miopenStatusSuccess", "numeric_literal"); + subst("CUDNN_TENSOR_NCHW", "miopenTensorNCHW", "numeric_literal"); + subst("CUDNN_TENSOR_NHWC", "miopenTensorNHWC", "numeric_literal"); subst("CUDNN_UNIDIRECTIONAL", "miopenRNNunidirection", "numeric_literal"); subst("CURAND_STATUS_ALLOCATION_FAILED", "ROCRAND_STATUS_ALLOCATION_FAILED", "numeric_literal"); subst("CURAND_STATUS_DOUBLE_PRECISION_REQUIRED", "ROCRAND_STATUS_DOUBLE_PRECISION_REQUIRED", "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 b8c4ddd9..eb2521b6 100644 --- a/docs/tables/CUDNN_API_supported_by_HIP_and_MIOPEN.md +++ b/docs/tables/CUDNN_API_supported_by_HIP_and_MIOPEN.md @@ -234,40 +234,40 @@ |`CUDNN_ATTR_VARIANT_PACK_INTERMEDIATES`|8.0.1| | | | | | | | | | | | | | | | |`CUDNN_ATTR_VARIANT_PACK_UNIQUE_IDS`|8.0.1| | | | | | | | | | | | | | | | |`CUDNN_ATTR_VARIANT_PACK_WORKSPACE`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_ENGINECFG_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_ENGINE_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_MATMUL_DESCRIPTOR`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | +|`CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_CONVOLUTION_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_ENGINECFG_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_ENGINECFG_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_ENGINEHEUR_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_ENGINE_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_ENGINE_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_EXECUTION_PLAN_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_KNOB_CHOICE_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_KNOB_INFO_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_LAYOUT_INFO_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_MATMUL_DESCRIPTOR`|8.1.0| | | | | | | | | |`MIOPEN_BACKEND_MATMUL_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_OPERATIONGRAPH_DESCRIPTOR`| | | | | | |`CUDNN_BACKEND_OPERATION_BN_BWD_WEIGHTS_DESCRIPTOR`|8.2.0| | | | | | | | | | | | | | | | |`CUDNN_BACKEND_OPERATION_BN_FINALIZE_STATISTICS_DESCRIPTOR`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_CONCAT_DESCRIPTOR`|8.5.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR`|8.5.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR`|8.5.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR`|8.3.0| | | | | | | | | | | | | | | | +|`CUDNN_BACKEND_OPERATION_CONCAT_DESCRIPTOR`|8.5.0| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_CONCAT_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR`|8.1.0| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_MATMUL_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR`|8.5.0| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR`|8.5.0| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR`|8.1.0| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR`|8.3.0| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR`|8.3.0| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR`| | | | | | |`CUDNN_BACKEND_OPERATION_RESHAPE_DESCRIPTOR`|8.7.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_RNG_DESCRIPTOR`|8.7.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR`|8.5.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_POINTWISE_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_REDUCTION_DESCRIPTOR`|8.1.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_RESAMPLE_DESCRIPTOR`|8.3.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_RNG_DESCRIPTOR`|8.7.0| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_TENSOR_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | -|`CUDNN_BACKEND_VARIANT_PACK_DESCRIPTOR`|8.0.1| | | | | | | | | | | | | | | | +|`CUDNN_BACKEND_OPERATION_RNG_DESCRIPTOR`|8.7.0| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_RNG_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR`|8.5.0| | | | | | | | | |`MIOPEN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_POINTWISE_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_POINTWISE_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_REDUCTION_DESCRIPTOR`|8.1.0| | | | | | | | | |`MIOPEN_BACKEND_REDUCTION_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_RESAMPLE_DESCRIPTOR`|8.3.0| | | | | | | | | |`MIOPEN_BACKEND_RESAMPLE_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_RNG_DESCRIPTOR`|8.7.0| | | | | | | | | |`MIOPEN_BACKEND_RNG_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_TENSOR_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_TENSOR_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_VARIANT_PACK_DESCRIPTOR`|8.0.1| | | | | | | | | |`MIOPEN_BACKEND_VARIANT_PACK_DESCRIPTOR`| | | | | | |`CUDNN_BATCHNORM_OPS_BN`|7.4.1|9.0.0| | | | | | | | | | | | | | | |`CUDNN_BATCHNORM_OPS_BN_ACTIVATION`|7.4.1|9.0.0| | | | | | | | | | | | | | | |`CUDNN_BATCHNORM_OPS_BN_ADD_ACTIVATION`|7.4.1|9.0.0| | | | | | | | | | | | | | | @@ -693,9 +693,9 @@ |`CUDNN_STATUS_SUBLIBRARY_VERSION_MISMATCH`|9.0.0| | | | | | | | | | | | | | | | |`CUDNN_STATUS_SUCCESS`|1.0.0| | | |`HIPDNN_STATUS_SUCCESS`| | | | | |`miopenStatusSuccess`| | | | | | |`CUDNN_STATUS_VERSION_MISMATCH`|8.0.1|9.0.0| | | | | | | | | | | | | | | -|`CUDNN_TENSOR_NCHW`|1.0.0| | | |`HIPDNN_TENSOR_NCHW`| | | | | | | | | | | | +|`CUDNN_TENSOR_NCHW`|1.0.0| | | |`HIPDNN_TENSOR_NCHW`| | | | | |`miopenTensorNCHW`| | | | | | |`CUDNN_TENSOR_NCHW_VECT_C`|6.0.0| | | |`HIPDNN_TENSOR_NCHW_VECT_C`| | | | | | | | | | | | -|`CUDNN_TENSOR_NHWC`|1.0.0| | | |`HIPDNN_TENSOR_NHWC`| | | | | | | | | | | | +|`CUDNN_TENSOR_NHWC`|1.0.0| | | |`HIPDNN_TENSOR_NHWC`| | | | | |`miopenTensorNHWC`| | | | | | |`CUDNN_TENSOR_OP_MATH`|7.0.5| | | |`HIPDNN_TENSOR_OP_MATH`| | | | | | | | | | | | |`CUDNN_TENSOR_OP_MATH_ALLOW_CONVERSION`|7.2.1| | | | | | | | | | | | | | | | |`CUDNN_TENSOR_REORDERING_F16x16`|8.8.0| | | | | | | | | | | | | | | | @@ -752,7 +752,7 @@ |`cudnnBackendAttributeName_t`|8.0.1| | | | | | | | | | | | | | | | |`cudnnBackendAttributeType_t`|8.0.1| | | | | | | | | | | | | | | | |`cudnnBackendBehaviorNote_t`|8.2.0| | | | | | | | | | | | | | | | -|`cudnnBackendDescriptorType_t`|8.0.1| | | | | | | | | | | | | | | | +|`cudnnBackendDescriptorType_t`|8.0.1| | | | | | | | | |`miopenBackendDescriptorType_t`| | | | | | |`cudnnBackendDescriptor_t`|8.0.1| | | | | | | | | | | | | | | | |`cudnnBackendHeurMode_t`|8.0.1| | | | | | | | | | | | | | | | |`cudnnBackendKnobType_t`|8.0.1| | | | | | | | | | | | | | | | @@ -863,7 +863,7 @@ |`cudnnSpatialTransformerStruct`|5.0.0| | | | | | | | | | | | | | | | |`cudnnStatus_t`|1.0.0| | | |`hipdnnStatus_t`| | | | | |`miopenStatus_t`| | | | | | |`cudnnTensorDescriptor_t`|2.0.0| | | |`hipdnnTensorDescriptor_t`| | | | | |`miopenTensorDescriptor_t`| | | | | | -|`cudnnTensorFormat_t`|1.0.0| | | |`hipdnnTensorFormat_t`| | | | | | | | | | | | +|`cudnnTensorFormat_t`|1.0.0| | | |`hipdnnTensorFormat_t`| | | | | |`miopenTensorLayout_t`| | | | | | |`cudnnTensorStruct`|2.0.0| | | | | | | | | | | | | | | | |`cudnnTensorTransformDescriptor_t`|7.5.0|9.0.0| | | | | | | | | | | | | | | |`cudnnTensorTransformStruct`|7.5.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 0e77a3de..23baafeb 100644 --- a/docs/tables/CUDNN_API_supported_by_MIOPEN.md +++ b/docs/tables/CUDNN_API_supported_by_MIOPEN.md @@ -234,40 +234,40 @@ |`CUDNN_ATTR_VARIANT_PACK_INTERMEDIATES`|8.0.1| | | | | | | | | | |`CUDNN_ATTR_VARIANT_PACK_UNIQUE_IDS`|8.0.1| | | | | | | | | | |`CUDNN_ATTR_VARIANT_PACK_WORKSPACE`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_ENGINECFG_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_ENGINE_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_MATMUL_DESCRIPTOR`|8.1.0| | | | | | | | | | -|`CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR`|8.0.1| | | | | | | | | | +|`CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_CONVOLUTION_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_ENGINECFG_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_ENGINECFG_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_ENGINEHEUR_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_ENGINE_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_ENGINE_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_EXECUTION_PLAN_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_KNOB_CHOICE_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_KNOB_INFO_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_LAYOUT_INFO_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_MATMUL_DESCRIPTOR`|8.1.0| | | |`MIOPEN_BACKEND_MATMUL_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_OPERATIONGRAPH_DESCRIPTOR`| | | | | | |`CUDNN_BACKEND_OPERATION_BN_BWD_WEIGHTS_DESCRIPTOR`|8.2.0| | | | | | | | | | |`CUDNN_BACKEND_OPERATION_BN_FINALIZE_STATISTICS_DESCRIPTOR`|8.1.0| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_CONCAT_DESCRIPTOR`|8.5.0| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR`|8.1.0| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR`|8.5.0| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR`|8.5.0| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR`|8.1.0| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR`|8.3.0| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR`|8.3.0| | | | | | | | | | +|`CUDNN_BACKEND_OPERATION_CONCAT_DESCRIPTOR`|8.5.0| | | |`MIOPEN_BACKEND_OPERATION_CONCAT_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR`|8.1.0| | | |`MIOPEN_BACKEND_OPERATION_MATMUL_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR`|8.5.0| | | |`MIOPEN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR`|8.5.0| | | |`MIOPEN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR`|8.1.0| | | |`MIOPEN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR`|8.3.0| | | |`MIOPEN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR`|8.3.0| | | |`MIOPEN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR`| | | | | | |`CUDNN_BACKEND_OPERATION_RESHAPE_DESCRIPTOR`|8.7.0| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_RNG_DESCRIPTOR`|8.7.0| | | | | | | | | | -|`CUDNN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR`|8.5.0| | | | | | | | | | -|`CUDNN_BACKEND_POINTWISE_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_REDUCTION_DESCRIPTOR`|8.1.0| | | | | | | | | | -|`CUDNN_BACKEND_RESAMPLE_DESCRIPTOR`|8.3.0| | | | | | | | | | -|`CUDNN_BACKEND_RNG_DESCRIPTOR`|8.7.0| | | | | | | | | | -|`CUDNN_BACKEND_TENSOR_DESCRIPTOR`|8.0.1| | | | | | | | | | -|`CUDNN_BACKEND_VARIANT_PACK_DESCRIPTOR`|8.0.1| | | | | | | | | | +|`CUDNN_BACKEND_OPERATION_RNG_DESCRIPTOR`|8.7.0| | | |`MIOPEN_BACKEND_OPERATION_RNG_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR`|8.5.0| | | |`MIOPEN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_POINTWISE_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_POINTWISE_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_REDUCTION_DESCRIPTOR`|8.1.0| | | |`MIOPEN_BACKEND_REDUCTION_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_RESAMPLE_DESCRIPTOR`|8.3.0| | | |`MIOPEN_BACKEND_RESAMPLE_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_RNG_DESCRIPTOR`|8.7.0| | | |`MIOPEN_BACKEND_RNG_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_TENSOR_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_TENSOR_DESCRIPTOR`| | | | | | +|`CUDNN_BACKEND_VARIANT_PACK_DESCRIPTOR`|8.0.1| | | |`MIOPEN_BACKEND_VARIANT_PACK_DESCRIPTOR`| | | | | | |`CUDNN_BATCHNORM_OPS_BN`|7.4.1|9.0.0| | | | | | | | | |`CUDNN_BATCHNORM_OPS_BN_ACTIVATION`|7.4.1|9.0.0| | | | | | | | | |`CUDNN_BATCHNORM_OPS_BN_ADD_ACTIVATION`|7.4.1|9.0.0| | | | | | | | | @@ -693,9 +693,9 @@ |`CUDNN_STATUS_SUBLIBRARY_VERSION_MISMATCH`|9.0.0| | | | | | | | | | |`CUDNN_STATUS_SUCCESS`|1.0.0| | | |`miopenStatusSuccess`| | | | | | |`CUDNN_STATUS_VERSION_MISMATCH`|8.0.1|9.0.0| | | | | | | | | -|`CUDNN_TENSOR_NCHW`|1.0.0| | | | | | | | | | +|`CUDNN_TENSOR_NCHW`|1.0.0| | | |`miopenTensorNCHW`| | | | | | |`CUDNN_TENSOR_NCHW_VECT_C`|6.0.0| | | | | | | | | | -|`CUDNN_TENSOR_NHWC`|1.0.0| | | | | | | | | | +|`CUDNN_TENSOR_NHWC`|1.0.0| | | |`miopenTensorNHWC`| | | | | | |`CUDNN_TENSOR_OP_MATH`|7.0.5| | | | | | | | | | |`CUDNN_TENSOR_OP_MATH_ALLOW_CONVERSION`|7.2.1| | | | | | | | | | |`CUDNN_TENSOR_REORDERING_F16x16`|8.8.0| | | | | | | | | | @@ -752,7 +752,7 @@ |`cudnnBackendAttributeName_t`|8.0.1| | | | | | | | | | |`cudnnBackendAttributeType_t`|8.0.1| | | | | | | | | | |`cudnnBackendBehaviorNote_t`|8.2.0| | | | | | | | | | -|`cudnnBackendDescriptorType_t`|8.0.1| | | | | | | | | | +|`cudnnBackendDescriptorType_t`|8.0.1| | | |`miopenBackendDescriptorType_t`| | | | | | |`cudnnBackendDescriptor_t`|8.0.1| | | | | | | | | | |`cudnnBackendHeurMode_t`|8.0.1| | | | | | | | | | |`cudnnBackendKnobType_t`|8.0.1| | | | | | | | | | @@ -863,7 +863,7 @@ |`cudnnSpatialTransformerStruct`|5.0.0| | | | | | | | | | |`cudnnStatus_t`|1.0.0| | | |`miopenStatus_t`| | | | | | |`cudnnTensorDescriptor_t`|2.0.0| | | |`miopenTensorDescriptor_t`| | | | | | -|`cudnnTensorFormat_t`|1.0.0| | | | | | | | | | +|`cudnnTensorFormat_t`|1.0.0| | | |`miopenTensorLayout_t`| | | | | | |`cudnnTensorStruct`|2.0.0| | | | | | | | | | |`cudnnTensorTransformDescriptor_t`|7.5.0|9.0.0| | | | | | | | | |`cudnnTensorTransformStruct`|7.5.0|9.0.0| | | | | | | | | diff --git a/src/CUDA2HIP_DNN_API_types.cpp b/src/CUDA2HIP_DNN_API_types.cpp index 8e39f587..81e704bf 100644 --- a/src/CUDA2HIP_DNN_API_types.cpp +++ b/src/CUDA2HIP_DNN_API_types.cpp @@ -96,9 +96,9 @@ const std::map CUDA_DNN_TYPE_NAME_MAP { {"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 - {"cudnnTensorFormat_t", {"hipdnnTensorFormat_t", "", CONV_TYPE, API_DNN, 1, ROC_UNSUPPORTED}}, - {"CUDNN_TENSOR_NCHW", {"HIPDNN_TENSOR_NCHW", "", CONV_NUMERIC_LITERAL, API_DNN, 1, ROC_UNSUPPORTED}}, // 0 - {"CUDNN_TENSOR_NHWC", {"HIPDNN_TENSOR_NHWC", "", CONV_NUMERIC_LITERAL, API_DNN, 1, ROC_UNSUPPORTED}}, // 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 {"CUDNN_TENSOR_NCHW_VECT_C", {"HIPDNN_TENSOR_NCHW_VECT_C", "", CONV_NUMERIC_LITERAL, API_DNN, 1, ROC_UNSUPPORTED}}, // 2 {"cudnnFoldingDirection_t", {"hipdnnFoldingDirection_t", "", CONV_TYPE, API_DNN, 1, UNSUPPORTED}}, {"CUDNN_TRANSFORM_FOLD", {"HIPDNN_TRANSFORM_FOLD", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 0U @@ -685,41 +685,41 @@ const std::map CUDA_DNN_TYPE_NAME_MAP { {"CUDNN_TYPE_NORM_MODE", {"HIPDNN_TYPE_NORM_MODE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, {"CUDNN_TYPE_NORM_FWD_PHASE", {"HIPDNN_TYPE_NORM_FWD_PHASE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, {"CUDNN_TYPE_RNG_DISTRIBUTION", {"HIPDNN_TYPE_RNG_DISTRIBUTION", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"cudnnBackendDescriptorType_t", {"hipdnnBackendDescriptorType_t", "", CONV_TYPE, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_POINTWISE_DESCRIPTOR", {"HIPDNN_BACKEND_POINTWISE_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR", {"HIPDNN_BACKEND_CONVOLUTION_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_ENGINE_DESCRIPTOR", {"HIPDNN_BACKEND_ENGINE_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_ENGINECFG_DESCRIPTOR", {"HIPDNN_BACKEND_ENGINECFG_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR", {"HIPDNN_BACKEND_ENGINEHEUR_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR", {"HIPDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR", {"HIPDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR", {"HIPDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR", {"HIPDNN_BACKEND_KNOB_INFO_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR", {"HIPDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_VARIANT_PACK_DESCRIPTOR", {"HIPDNN_BACKEND_VARIANT_PACK_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_TENSOR_DESCRIPTOR", {"HIPDNN_BACKEND_TENSOR_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_MATMUL_DESCRIPTOR", {"HIPDNN_BACKEND_MATMUL_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, + {"cudnnBackendDescriptorType_t", {"hipdnnBackendDescriptorType_t", "miopenBackendDescriptorType_t", CONV_TYPE, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_POINTWISE_DESCRIPTOR", {"HIPDNN_BACKEND_POINTWISE_DESCRIPTOR", "MIOPEN_BACKEND_POINTWISE_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR", {"HIPDNN_BACKEND_CONVOLUTION_DESCRIPTOR", "MIOPEN_BACKEND_CONVOLUTION_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_ENGINE_DESCRIPTOR", {"HIPDNN_BACKEND_ENGINE_DESCRIPTOR", "MIOPEN_BACKEND_ENGINE_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_ENGINECFG_DESCRIPTOR", {"HIPDNN_BACKEND_ENGINECFG_DESCRIPTOR", "MIOPEN_BACKEND_ENGINECFG_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR", {"HIPDNN_BACKEND_ENGINEHEUR_DESCRIPTOR", "MIOPEN_BACKEND_ENGINEHEUR_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR", {"HIPDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR", "MIOPEN_BACKEND_EXECUTION_PLAN_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR", {"HIPDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR", "MIOPEN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR", {"HIPDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR", "MIOPEN_BACKEND_KNOB_CHOICE_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR", {"HIPDNN_BACKEND_KNOB_INFO_DESCRIPTOR", "MIOPEN_BACKEND_KNOB_INFO_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR", {"HIPDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR", "MIOPEN_BACKEND_LAYOUT_INFO_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR", "MIOPEN_BACKEND_OPERATIONGRAPH_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_VARIANT_PACK_DESCRIPTOR", {"HIPDNN_BACKEND_VARIANT_PACK_DESCRIPTOR", "MIOPEN_BACKEND_VARIANT_PACK_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_TENSOR_DESCRIPTOR", {"HIPDNN_BACKEND_TENSOR_DESCRIPTOR", "MIOPEN_BACKEND_TENSOR_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_MATMUL_DESCRIPTOR", {"HIPDNN_BACKEND_MATMUL_DESCRIPTOR", "MIOPEN_BACKEND_MATMUL_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_MATMUL_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, {"CUDNN_BACKEND_OPERATION_BN_FINALIZE_STATISTICS_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_BN_FINALIZE_STATISTICS_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_REDUCTION_DESCRIPTOR", {"HIPDNN_BACKEND_REDUCTION_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, + {"CUDNN_BACKEND_REDUCTION_DESCRIPTOR", {"HIPDNN_BACKEND_REDUCTION_DESCRIPTOR", "MIOPEN_BACKEND_REDUCTION_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, {"CUDNN_BACKEND_OPERATION_BN_BWD_WEIGHTS_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_BN_BWD_WEIGHTS_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_RESAMPLE_DESCRIPTOR", {"HIPDNN_BACKEND_RESAMPLE_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_CONCAT_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_CONCAT_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, + {"CUDNN_BACKEND_RESAMPLE_DESCRIPTOR", {"HIPDNN_BACKEND_RESAMPLE_DESCRIPTOR", "MIOPEN_BACKEND_RESAMPLE_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_CONCAT_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_CONCAT_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_CONCAT_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, {"CUDNN_BACKEND_OPERATION_RESHAPE_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_RESHAPE_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_RNG_DESCRIPTOR", {"HIPDNN_BACKEND_RNG_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, - {"CUDNN_BACKEND_OPERATION_RNG_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_RNG_DESCRIPTOR", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, + {"CUDNN_BACKEND_RNG_DESCRIPTOR", {"HIPDNN_BACKEND_RNG_DESCRIPTOR", "MIOPEN_BACKEND_RNG_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, + {"CUDNN_BACKEND_OPERATION_RNG_DESCRIPTOR", {"HIPDNN_BACKEND_OPERATION_RNG_DESCRIPTOR", "MIOPEN_BACKEND_OPERATION_RNG_DESCRIPTOR", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, {"cudnnBackendNumericalNote_t", {"hipdnnBackendNumericalNote_t", "", CONV_TYPE, API_DNN, 1, UNSUPPORTED}}, {"CUDNN_NUMERICAL_NOTE_TENSOR_CORE", {"HIPDNN_NUMERICAL_NOTE_TENSOR_CORE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, {"CUDNN_NUMERICAL_NOTE_DOWN_CONVERT_INPUTS", {"HIPDNN_NUMERICAL_NOTE_DOWN_CONVERT_INPUTS", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, diff --git a/tests/unit_tests/synthetic/libraries/cudnn2miopen.cu b/tests/unit_tests/synthetic/libraries/cudnn2miopen.cu index 418ccc93..d930ae9c 100644 --- a/tests/unit_tests/synthetic/libraries/cudnn2miopen.cu +++ b/tests/unit_tests/synthetic/libraries/cudnn2miopen.cu @@ -292,6 +292,13 @@ int main() { cudnnCTCLossAlgo_t CTCLossAlgo; cudnnCTCLossAlgo_t CTC_LOSS_ALGO_DETERMINISTIC = CUDNN_CTC_LOSS_ALGO_DETERMINISTIC; + // CHECK: miopenTensorLayout_t tensorFormat; + // CHECK-NEXT: miopenTensorLayout_t TENSOR_NCHW = miopenTensorNCHW; + // CHECK-NEXT: miopenTensorLayout_t TENSOR_NHWC = miopenTensorNHWC; + cudnnTensorFormat_t tensorFormat; + cudnnTensorFormat_t TENSOR_NCHW = CUDNN_TENSOR_NCHW; + cudnnTensorFormat_t TENSOR_NHWC = CUDNN_TENSOR_NHWC; + // CUDA: cudnnStatus_t CUDNNWINAPI cudnnCreateTensorDescriptor(cudnnTensorDescriptor_t* tensorDesc); // MIOPEN: MIOPEN_EXPORT miopenStatus_t miopenCreateTensorDescriptor(miopenTensorDescriptor_t* tensorDesc); // CHECK: status = miopenCreateTensorDescriptor(&tensorDescriptor); @@ -815,5 +822,84 @@ int main() { // CHECK: status = miopenReduceTensor(handle, ReduceTensorDescriptor, indices, indicesSizeInBytes, workSpace, workSpaceSizeInBytes, alpha, aD, A, beta, cD, C); status = cudnnReduceTensor(handle, ReduceTensorDescriptor, indices, indicesSizeInBytes, workSpace, workSpaceSizeInBytes, alpha, aD, A, beta, cD, C); +#if CUDNN_VERSION >= 80001 + // CHECK: miopenBackendDescriptorType_t backendDescriptorType_t; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_POINTWISE_DESCRIPTOR = MIOPEN_BACKEND_POINTWISE_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_CONVOLUTION_DESCRIPTOR = MIOPEN_BACKEND_CONVOLUTION_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_ENGINE_DESCRIPTOR = MIOPEN_BACKEND_ENGINE_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_ENGINECFG_DESCRIPTOR = MIOPEN_BACKEND_ENGINECFG_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_ENGINEHEUR_DESCRIPTOR = MIOPEN_BACKEND_ENGINEHEUR_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_EXECUTION_PLAN_DESCRIPTOR = MIOPEN_BACKEND_EXECUTION_PLAN_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_INTERMEDIATE_INFO_DESCRIPTOR = MIOPEN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_KNOB_CHOICE_DESCRIPTOR = MIOPEN_BACKEND_KNOB_CHOICE_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_KNOB_INFO_DESCRIPTOR = MIOPEN_BACKEND_KNOB_INFO_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_LAYOUT_INFO_DESCRIPTOR = MIOPEN_BACKEND_LAYOUT_INFO_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATION_POINTWISE_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATION_GEN_STATS_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATIONGRAPH_DESCRIPTOR = MIOPEN_BACKEND_OPERATIONGRAPH_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_VARIANT_PACK_DESCRIPTOR = MIOPEN_BACKEND_VARIANT_PACK_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_TENSOR_DESCRIPTOR = MIOPEN_BACKEND_TENSOR_DESCRIPTOR; + cudnnBackendDescriptorType_t backendDescriptorType_t; + cudnnBackendDescriptorType_t BACKEND_POINTWISE_DESCRIPTOR = CUDNN_BACKEND_POINTWISE_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_CONVOLUTION_DESCRIPTOR = CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_ENGINE_DESCRIPTOR = CUDNN_BACKEND_ENGINE_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_ENGINECFG_DESCRIPTOR = CUDNN_BACKEND_ENGINECFG_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_ENGINEHEUR_DESCRIPTOR = CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_EXECUTION_PLAN_DESCRIPTOR = CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_INTERMEDIATE_INFO_DESCRIPTOR = CUDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_KNOB_CHOICE_DESCRIPTOR = CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_KNOB_INFO_DESCRIPTOR = CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_LAYOUT_INFO_DESCRIPTOR = CUDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR = CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR = CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR = CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_POINTWISE_DESCRIPTOR = CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_GEN_STATS_DESCRIPTOR = CUDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATIONGRAPH_DESCRIPTOR = CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_VARIANT_PACK_DESCRIPTOR = CUDNN_BACKEND_VARIANT_PACK_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_TENSOR_DESCRIPTOR = CUDNN_BACKEND_TENSOR_DESCRIPTOR; +#endif + +#if CUDNN_VERSION >= 80100 + // CHECK: miopenBackendDescriptorType_t BACKEND_MATMUL_DESCRIPTOR = MIOPEN_BACKEND_MATMUL_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATION_MATMUL_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_MATMUL_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_REDUCTION_DESCRIPTOR = MIOPEN_BACKEND_REDUCTION_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATION_REDUCTION_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_MATMUL_DESCRIPTOR = CUDNN_BACKEND_MATMUL_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_MATMUL_DESCRIPTOR = CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_REDUCTION_DESCRIPTOR = CUDNN_BACKEND_REDUCTION_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_REDUCTION_DESCRIPTOR = CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR; +#endif + +#if CUDNN_VERSION >= 80300 + // CHECK: miopenBackendDescriptorType_t BACKEND_RESAMPLE_DESCRIPTOR = MIOPEN_BACKEND_RESAMPLE_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_RESAMPLE_DESCRIPTOR = CUDNN_BACKEND_RESAMPLE_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR = CUDNN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR = CUDNN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR; +#endif + +#if CUDNN_VERSION >= 80500 + // CHECK: miopenBackendDescriptorType_t BACKEND_OPERATION_CONCAT_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_CONCAT_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATION_SIGNAL_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_CONCAT_DESCRIPTOR = CUDNN_BACKEND_OPERATION_CONCAT_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_SIGNAL_DESCRIPTOR = CUDNN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR = CUDNN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR = CUDNN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR; +#endif + +#if CUDNN_VERSION >= 80700 + // CHECK: miopenBackendDescriptorType_t BACKEND_RNG_DESCRIPTOR = MIOPEN_BACKEND_RNG_DESCRIPTOR; + // CHECK-NEXT: miopenBackendDescriptorType_t BACKEND_OPERATION_RNG_DESCRIPTOR = MIOPEN_BACKEND_OPERATION_RNG_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_RNG_DESCRIPTOR = CUDNN_BACKEND_RNG_DESCRIPTOR; + cudnnBackendDescriptorType_t BACKEND_OPERATION_RNG_DESCRIPTOR = CUDNN_BACKEND_OPERATION_RNG_DESCRIPTOR; +#endif + return 0; }