// Copyright © Advanced Micro Devices, Inc., or its affiliates. // SPDX-License-Identifier: MIT #include "BackendEnumStringUtils.hpp" #include using namespace hipdnn_backend; TEST(TestBackendEnumStringUtils, GetBackendDescriptorTypeName) { EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_ENGINE_DESCRIPTOR), "HIPDNN_BACKEND_ENGINE_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_ENGINECFG_DESCRIPTOR), "HIPDNN_BACKEND_ENGINECFG_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_ENGINEHEUR_DESCRIPTOR), "HIPDNN_BACKEND_ENGINEHEUR_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR), "HIPDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR), "HIPDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR), "HIPDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_KNOB_INFO_DESCRIPTOR), "HIPDNN_BACKEND_KNOB_INFO_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR), "HIPDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR), "HIPDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR), "HIPDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_VARIANT_PACK_DESCRIPTOR), "HIPDNN_BACKEND_VARIANT_PACK_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_KERNEL_CACHE_DESCRIPTOR), "HIPDNN_BACKEND_KERNEL_CACHE_DESCRIPTOR"); EXPECT_STREQ( hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATION_PAGED_CACHE_LOAD_DESCRIPTOR), "HIPDNN_BACKEND_OPERATION_PAGED_CACHE_LOAD_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_TENSOR_DESCRIPTOR), "HIPDNN_BACKEND_TENSOR_DESCRIPTOR"); EXPECT_STREQ( hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR), "HIPDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName( HIPDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR), "HIPDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR), "HIPDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName( HIPDNN_BACKEND_OPERATION_BATCHNORM_INFERENCE_DESCRIPTOR_EXT), "HIPDNN_BACKEND_OPERATION_BATCHNORM_INFERENCE_DESCRIPTOR_EXT"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName( HIPDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR), "HIPDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName( HIPDNN_BACKEND_OPERATION_BATCHNORM_BACKWARD_DESCRIPTOR_EXT), "HIPDNN_BACKEND_OPERATION_BATCHNORM_BACKWARD_DESCRIPTOR_EXT"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName( HIPDNN_BACKEND_OPERATION_BATCHNORM_INFERENCE_VARIANCE_DESCRIPTOR_EXT), "HIPDNN_BACKEND_OPERATION_BATCHNORM_INFERENCE_VARIANCE_DESCRIPTOR_EXT"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR), "HIPDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATION_SDPA_FWD_DESCRIPTOR), "HIPDNN_BACKEND_OPERATION_SDPA_FWD_DESCRIPTOR"); EXPECT_STREQ( hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATION_RMSNORM_DESCRIPTOR_EXT), "HIPDNN_BACKEND_OPERATION_RMSNORM_DESCRIPTOR_EXT"); EXPECT_STREQ( hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATION_LAYERNORM_DESCRIPTOR_EXT), "HIPDNN_BACKEND_OPERATION_LAYERNORM_DESCRIPTOR_EXT"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName( HIPDNN_BACKEND_OPERATION_LAYERNORM_BACKWARD_DESCRIPTOR_EXT), "HIPDNN_BACKEND_OPERATION_LAYERNORM_BACKWARD_DESCRIPTOR_EXT"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName( HIPDNN_BACKEND_OPERATION_BLOCK_SCALE_QUANTIZE_DESCRIPTOR), "HIPDNN_BACKEND_OPERATION_BLOCK_SCALE_QUANTIZE_DESCRIPTOR"); EXPECT_STREQ( hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATION_BATCHNORM_DESCRIPTOR_EXT), "HIPDNN_BACKEND_OPERATION_BATCHNORM_DESCRIPTOR_EXT"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName( HIPDNN_BACKEND_OPERATION_BLOCK_SCALE_DEQUANTIZE_DESCRIPTOR), "HIPDNN_BACKEND_OPERATION_BLOCK_SCALE_DEQUANTIZE_DESCRIPTOR"); EXPECT_STREQ( hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATION_SDPA_BWD_DESCRIPTOR_EXT), "HIPDNN_BACKEND_OPERATION_SDPA_BWD_DESCRIPTOR_EXT"); EXPECT_STREQ( hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATION_CUSTOM_OP_DESCRIPTOR_EXT), "HIPDNN_BACKEND_OPERATION_CUSTOM_OP_DESCRIPTOR_EXT"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR), "HIPDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName( HIPDNN_BACKEND_OPERATION_RMSNORM_BACKWARD_DESCRIPTOR_EXT), "HIPDNN_BACKEND_OPERATION_RMSNORM_BACKWARD_DESCRIPTOR_EXT"); EXPECT_STREQ( hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR), "HIPDNN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(HIPDNN_BACKEND_PROFILING_CONTROL_EXT), "HIPDNN_BACKEND_PROFILING_CONTROL_EXT"); // Test unknown type EXPECT_STREQ(hipdnnGetBackendDescriptorTypeName(static_cast(-1)), "UNKNOWN_TYPE"); } TEST(TestBackendEnumStringUtils, GetBackendAttributeName) { EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINEHEUR_MODE), "HIPDNN_ATTR_ENGINEHEUR_MODE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINEHEUR_OPERATION_GRAPH), "HIPDNN_ATTR_ENGINEHEUR_OPERATION_GRAPH"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINEHEUR_RESULTS), "HIPDNN_ATTR_ENGINEHEUR_RESULTS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINEHEUR_SM_COUNT_TARGET), "HIPDNN_ATTR_ENGINEHEUR_SM_COUNT_TARGET"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINEHEUR_DEVICEPROP), "HIPDNN_ATTR_ENGINEHEUR_DEVICEPROP"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINECFG_ENGINE), "HIPDNN_ATTR_ENGINECFG_ENGINE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINECFG_INTERMEDIATE_INFO), "HIPDNN_ATTR_ENGINECFG_INTERMEDIATE_INFO"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINECFG_KNOB_CHOICES), "HIPDNN_ATTR_ENGINECFG_KNOB_CHOICES"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINECFG_WORKSPACE_SIZE), "HIPDNN_ATTR_ENGINECFG_WORKSPACE_SIZE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_EXECUTION_PLAN_HANDLE), "HIPDNN_ATTR_EXECUTION_PLAN_HANDLE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG), "HIPDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE), "HIPDNN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_EXECUTION_PLAN_COMPUTED_INTERMEDIATE_UIDS), "HIPDNN_ATTR_EXECUTION_PLAN_COMPUTED_INTERMEDIATE_UIDS"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_EXECUTION_PLAN_RUN_ONLY_INTERMEDIATE_UIDS), "HIPDNN_ATTR_EXECUTION_PLAN_RUN_ONLY_INTERMEDIATE_UIDS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_EXECUTION_PLAN_JSON_REPRESENTATION), "HIPDNN_ATTR_EXECUTION_PLAN_JSON_REPRESENTATION"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_EXECUTION_PLAN_KERNEL_CACHE), "HIPDNN_ATTR_EXECUTION_PLAN_KERNEL_CACHE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_EXECUTION_PLAN_DEVICEPROP), "HIPDNN_ATTR_EXECUTION_PLAN_DEVICEPROP"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_EXECUTION_PLAN_TENSOR_UIDS_EXT), "HIPDNN_ATTR_EXECUTION_PLAN_TENSOR_UIDS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_EXECUTION_PLAN_ENGINE_GLOBAL_INDEX_EXT), "HIPDNN_ATTR_EXECUTION_PLAN_ENGINE_GLOBAL_INDEX_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_EXECUTION_PLAN_IS_OVERRIDE_SHAPE_ENABLED_EXT), "HIPDNN_ATTR_EXECUTION_PLAN_IS_OVERRIDE_SHAPE_ENABLED_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_INTERMEDIATE_INFO_UNIQUE_ID), "HIPDNN_ATTR_INTERMEDIATE_INFO_UNIQUE_ID"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_INTERMEDIATE_INFO_SIZE), "HIPDNN_ATTR_INTERMEDIATE_INFO_SIZE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_INTERMEDIATE_INFO_DEPENDENT_DATA_UIDS), "HIPDNN_ATTR_INTERMEDIATE_INFO_DEPENDENT_DATA_UIDS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_INTERMEDIATE_INFO_DEPENDENT_ATTRIBUTES), "HIPDNN_ATTR_INTERMEDIATE_INFO_DEPENDENT_ATTRIBUTES"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_CHOICE_KNOB_TYPE), "HIPDNN_ATTR_KNOB_CHOICE_KNOB_TYPE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_CHOICE_KNOB_VALUE), "HIPDNN_ATTR_KNOB_CHOICE_KNOB_VALUE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATIONGRAPH_HANDLE), "HIPDNN_ATTR_OPERATIONGRAPH_HANDLE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATIONGRAPH_OPS), "HIPDNN_ATTR_OPERATIONGRAPH_OPS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT), "HIPDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATIONGRAPH_IS_DYNAMIC_SHAPE_ENABLED), "HIPDNN_ATTR_OPERATIONGRAPH_IS_DYNAMIC_SHAPE_ENABLED"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATIONGRAPH_IS_OVERRIDE_SHAPE_ENABLED_EXT), "HIPDNN_ATTR_OPERATIONGRAPH_IS_OVERRIDE_SHAPE_ENABLED_EXT"); EXPECT_NE(HIPDNN_ATTR_OPERATIONGRAPH_IS_DYNAMIC_SHAPE_ENABLED, HIPDNN_ATTR_OPERATIONGRAPH_IS_OVERRIDE_SHAPE_ENABLED_EXT); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATIONGRAPH_COMPUTE_DATA_TYPE_EXT), "HIPDNN_ATTR_OPERATIONGRAPH_COMPUTE_DATA_TYPE_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATIONGRAPH_INTERMEDIATE_DATA_TYPE_EXT), "HIPDNN_ATTR_OPERATIONGRAPH_INTERMEDIATE_DATA_TYPE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATIONGRAPH_IO_DATA_TYPE_EXT), "HIPDNN_ATTR_OPERATIONGRAPH_IO_DATA_TYPE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATIONGRAPH_PREFERRED_ENGINE_ID_EXT), "HIPDNN_ATTR_OPERATIONGRAPH_PREFERRED_ENGINE_ID_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATIONGRAPH_NAME_EXT), "HIPDNN_ATTR_OPERATIONGRAPH_NAME_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_VARIANT_PACK_UNIQUE_IDS), "HIPDNN_ATTR_VARIANT_PACK_UNIQUE_IDS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_VARIANT_PACK_DATA_POINTERS), "HIPDNN_ATTR_VARIANT_PACK_DATA_POINTERS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_VARIANT_PACK_INTERMEDIATES), "HIPDNN_ATTR_VARIANT_PACK_INTERMEDIATES"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_VARIANT_PACK_WORKSPACE), "HIPDNN_ATTR_VARIANT_PACK_WORKSPACE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_VARIANT_PACK_OVERRIDE_UNIQUE_IDS_EXT), "HIPDNN_ATTR_VARIANT_PACK_OVERRIDE_UNIQUE_IDS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_VARIANT_PACK_OVERRIDE_SHAPES_EXT), "HIPDNN_ATTR_VARIANT_PACK_OVERRIDE_SHAPES_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_VARIANT_PACK_OVERRIDE_STRIDES_EXT), "HIPDNN_ATTR_VARIANT_PACK_OVERRIDE_STRIDES_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_VARIANT_PACK_OVERRIDE_LENGTHS_EXT), "HIPDNN_ATTR_VARIANT_PACK_OVERRIDE_LENGTHS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_LAYOUT_INFO_TENSOR_UID), "HIPDNN_ATTR_LAYOUT_INFO_TENSOR_UID"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_LAYOUT_INFO_TYPES), "HIPDNN_ATTR_LAYOUT_INFO_TYPES"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_INFO_TYPE), "HIPDNN_ATTR_KNOB_INFO_TYPE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_INFO_MAXIMUM_VALUE), "HIPDNN_ATTR_KNOB_INFO_MAXIMUM_VALUE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_INFO_MINIMUM_VALUE), "HIPDNN_ATTR_KNOB_INFO_MINIMUM_VALUE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_INFO_STRIDE), "HIPDNN_ATTR_KNOB_INFO_STRIDE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_INFO_DESCRIPTION), "HIPDNN_ATTR_KNOB_INFO_DESCRIPTION"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_INFO_DEFAULT_VALUE), "HIPDNN_ATTR_KNOB_INFO_DEFAULT_VALUE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_INFO_DEPRECATED), "HIPDNN_ATTR_KNOB_INFO_DEPRECATED"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_INFO_VALID_VALUES_INT), "HIPDNN_ATTR_KNOB_INFO_VALID_VALUES_INT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_INFO_VALID_VALUES_STRING), "HIPDNN_ATTR_KNOB_INFO_VALID_VALUES_STRING"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_INFO_STRING_MAX_LENGTH), "HIPDNN_ATTR_KNOB_INFO_STRING_MAX_LENGTH"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_INFO_DEFAULT_VALUE_TYPE), "HIPDNN_ATTR_KNOB_INFO_DEFAULT_VALUE_TYPE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINE_OPERATION_GRAPH), "HIPDNN_ATTR_ENGINE_OPERATION_GRAPH"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINE_GLOBAL_INDEX), "HIPDNN_ATTR_ENGINE_GLOBAL_INDEX"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINE_KNOB_INFO), "HIPDNN_ATTR_ENGINE_KNOB_INFO"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINE_NUMERICAL_NOTE), "HIPDNN_ATTR_ENGINE_NUMERICAL_NOTE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINE_LAYOUT_INFO), "HIPDNN_ATTR_ENGINE_LAYOUT_INFO"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINE_BEHAVIOR_NOTE), "HIPDNN_ATTR_ENGINE_BEHAVIOR_NOTE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINE_CU_COUNT_TARGET_EXT), "HIPDNN_ATTR_ENGINE_CU_COUNT_TARGET_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_ENGINE_DEVICEPROP), "HIPDNN_ATTR_ENGINE_DEVICEPROP"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KERNEL_CACHE_IS_ENGINECFG_KERNEL_CACHED), "HIPDNN_ATTR_KERNEL_CACHE_IS_ENGINECFG_KERNEL_CACHED"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_DEVICEPROP_DEVICE_ID), "HIPDNN_ATTR_DEVICEPROP_DEVICE_ID"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_DEVICEPROP_HANDLE), "HIPDNN_ATTR_DEVICEPROP_HANDLE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_DEVICEPROP_JSON_REPRESENTATION), "HIPDNN_ATTR_DEVICEPROP_JSON_REPRESENTATION"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_INFO_SERIALIZED_VALUE), "HIPDNN_ATTR_KNOB_INFO_SERIALIZED_VALUE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_KNOB_CHOICE_SERIALIZED_VALUE), "HIPDNN_ATTR_KNOB_CHOICE_SERIALIZED_VALUE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_TENSOR_UNIQUE_ID), "HIPDNN_ATTR_TENSOR_UNIQUE_ID"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_TENSOR_NAME_EXT), "HIPDNN_ATTR_TENSOR_NAME_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_TENSOR_DATA_TYPE), "HIPDNN_ATTR_TENSOR_DATA_TYPE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_TENSOR_DIMENSIONS), "HIPDNN_ATTR_TENSOR_DIMENSIONS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_TENSOR_STRIDES), "HIPDNN_ATTR_TENSOR_STRIDES"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_TENSOR_IS_VIRTUAL), "HIPDNN_ATTR_TENSOR_IS_VIRTUAL"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_TENSOR_VALUE_EXT), "HIPDNN_ATTR_TENSOR_VALUE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_TENSOR_IS_BY_VALUE), "HIPDNN_ATTR_TENSOR_IS_BY_VALUE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_W), "HIPDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_W"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_X), "HIPDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_X"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_Y), "HIPDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_Y"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_CONVOLUTION_COMP_TYPE), "HIPDNN_ATTR_CONVOLUTION_COMP_TYPE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_CONVOLUTION_CONV_MODE), "HIPDNN_ATTR_CONVOLUTION_CONV_MODE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_CONVOLUTION_DILATIONS), "HIPDNN_ATTR_CONVOLUTION_DILATIONS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_CONVOLUTION_FILTER_STRIDES), "HIPDNN_ATTR_CONVOLUTION_FILTER_STRIDES"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_CONVOLUTION_POST_PADDINGS), "HIPDNN_ATTR_CONVOLUTION_POST_PADDINGS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_CONVOLUTION_PRE_PADDINGS), "HIPDNN_ATTR_CONVOLUTION_PRE_PADDINGS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_X), "HIPDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_X"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DY), "HIPDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DY"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DW), "HIPDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DW"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_X_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_X_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_MEAN_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_MEAN_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_INV_VARIANCE_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_INV_VARIANCE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_SCALE_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_SCALE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_BIAS_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_BIAS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_Y_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_Y_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_BATCHNORM_INF_COMP_TYPE_EXT), "HIPDNN_ATTR_BATCHNORM_INF_COMP_TYPE_EXT"); // Pointwise operation attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_POINTWISE_IN_0_EXT), "HIPDNN_ATTR_OPERATION_POINTWISE_IN_0_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_POINTWISE_OUT_0_EXT), "HIPDNN_ATTR_OPERATION_POINTWISE_OUT_0_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_POINTWISE_IN_1_EXT), "HIPDNN_ATTR_OPERATION_POINTWISE_IN_1_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_POINTWISE_IN_2_EXT), "HIPDNN_ATTR_OPERATION_POINTWISE_IN_2_EXT"); // Shared pointwise descriptor attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_POINTWISE_MODE), "HIPDNN_ATTR_POINTWISE_MODE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_POINTWISE_RELU_LOWER_CLIP), "HIPDNN_ATTR_POINTWISE_RELU_LOWER_CLIP"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_POINTWISE_RELU_UPPER_CLIP), "HIPDNN_ATTR_POINTWISE_RELU_UPPER_CLIP"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_POINTWISE_RELU_LOWER_CLIP_SLOPE), "HIPDNN_ATTR_POINTWISE_RELU_LOWER_CLIP_SLOPE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_POINTWISE_SWISH_BETA), "HIPDNN_ATTR_POINTWISE_SWISH_BETA"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_POINTWISE_ELU_ALPHA), "HIPDNN_ATTR_POINTWISE_ELU_ALPHA"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_POINTWISE_SOFTPLUS_BETA), "HIPDNN_ATTR_POINTWISE_SOFTPLUS_BETA"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_POINTWISE_MATH_PREC), "HIPDNN_ATTR_POINTWISE_MATH_PREC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_POINTWISE_AXIS), "HIPDNN_ATTR_POINTWISE_AXIS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DY), "HIPDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DY"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_W), "HIPDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_W"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DX), "HIPDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DX"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_DY_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_DY_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_X_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_X_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_SCALE_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_SCALE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_DX_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_DX_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_DSCALE_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_DSCALE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_DBIAS_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_DBIAS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_MEAN_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_MEAN_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_INV_VARIANCE_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_INV_VARIANCE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_BATCHNORM_BACKWARD_COMP_TYPE_EXT), "HIPDNN_ATTR_BATCHNORM_BACKWARD_COMP_TYPE_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_PEER_STATS_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_BACKWARD_PEER_STATS_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_X_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_X_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_MEAN_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_MEAN_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString( HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_VARIANCE_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_VARIANCE_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_SCALE_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_SCALE_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_BIAS_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_BIAS_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_Y_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_Y_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString( HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_EPSILON_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INFERENCE_VARIANCE_EPSILON_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_BATCHNORM_INF_VAR_COMP_TYPE_EXT), "HIPDNN_ATTR_BATCHNORM_INF_VAR_COMP_TYPE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_MATMUL_ADESC), "HIPDNN_ATTR_OPERATION_MATMUL_ADESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_MATMUL_BDESC), "HIPDNN_ATTR_OPERATION_MATMUL_BDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_MATMUL_CDESC), "HIPDNN_ATTR_OPERATION_MATMUL_CDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_MATMUL_COMP_TYPE), "HIPDNN_ATTR_MATMUL_COMP_TYPE"); // RMSNorm operation attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_X_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_X_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_SCALE_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_SCALE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_EPSILON_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_EPSILON_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_Y_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_Y_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_BIAS_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_BIAS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_INV_RMS_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_INV_RMS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_FWD_PHASE_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_FWD_PHASE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_RMSNORM_COMP_TYPE_EXT), "HIPDNN_ATTR_RMSNORM_COMP_TYPE_EXT"); // SDPA fwd operation attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_QDESC), "HIPDNN_ATTR_OPERATION_SDPA_FWD_QDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_KDESC), "HIPDNN_ATTR_OPERATION_SDPA_FWD_KDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_VDESC), "HIPDNN_ATTR_OPERATION_SDPA_FWD_VDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_ODESC), "HIPDNN_ATTR_OPERATION_SDPA_FWD_ODESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_ATTN_MASK_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_ATTN_MASK_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_SCALEDESC), "HIPDNN_ATTR_OPERATION_SDPA_FWD_SCALEDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_SEQ_LEN_QDESC), "HIPDNN_ATTR_OPERATION_SDPA_FWD_SEQ_LEN_QDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_SEQ_LEN_KVDESC), "HIPDNN_ATTR_OPERATION_SDPA_FWD_SEQ_LEN_KVDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_SEED_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_SEED_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_OFFSET_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_OFFSET_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_DROPOUT_MASK_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_DROPOUT_MASK_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_DROPOUT_SCALE_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_DROPOUT_SCALE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_PAGE_TABLE_KDESC), "HIPDNN_ATTR_OPERATION_SDPA_FWD_PAGE_TABLE_KDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_PAGE_TABLE_VDESC), "HIPDNN_ATTR_OPERATION_SDPA_FWD_PAGE_TABLE_VDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_BLOCK_MASK_DESC), "HIPDNN_ATTR_OPERATION_SDPA_FWD_BLOCK_MASK_DESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_SINK_TOKEN_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_SINK_TOKEN_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_DESCALE_Q_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_DESCALE_Q_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_DESCALE_K_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_DESCALE_K_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_DESCALE_V_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_DESCALE_V_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_DESCALE_S_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_DESCALE_S_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_SCALE_S_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_SCALE_S_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_SCALE_O_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_SCALE_O_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_STATSDESC), "HIPDNN_ATTR_OPERATION_SDPA_FWD_STATSDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_MAX_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_MAX_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_SUM_EXP_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_SUM_EXP_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_RNG_DUMP_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_RNG_DUMP_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_AMAX_S_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_AMAX_S_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_FWD_AMAX_O_EXT), "HIPDNN_ATTR_OPERATION_SDPA_FWD_AMAX_O_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_GENERATE_STATS_EXT), "HIPDNN_ATTR_SDPA_FWD_GENERATE_STATS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_ALIBI_MASK_EXT), "HIPDNN_ATTR_SDPA_FWD_ALIBI_MASK_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_PADDING_MASK_EXT), "HIPDNN_ATTR_SDPA_FWD_PADDING_MASK_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_CAUSAL_MASK_EXT), "HIPDNN_ATTR_SDPA_FWD_CAUSAL_MASK_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_CAUSAL_MASK_BOTTOM_RIGHT_EXT), "HIPDNN_ATTR_SDPA_FWD_CAUSAL_MASK_BOTTOM_RIGHT_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_DROPOUT_PROBABILITY_EXT), "HIPDNN_ATTR_SDPA_FWD_DROPOUT_PROBABILITY_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_ATTN_SCALE_VALUE_EXT), "HIPDNN_ATTR_SDPA_FWD_ATTN_SCALE_VALUE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_LEFT_BOUND_EXT), "HIPDNN_ATTR_SDPA_FWD_LEFT_BOUND_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_RIGHT_BOUND_EXT), "HIPDNN_ATTR_SDPA_FWD_RIGHT_BOUND_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_MAX_SEQ_LEN_KV_EXT), "HIPDNN_ATTR_SDPA_FWD_MAX_SEQ_LEN_KV_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_DIAGONAL_ALIGNMENT_EXT), "HIPDNN_ATTR_SDPA_FWD_DIAGONAL_ALIGNMENT_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_MMA_CORE_MODE_EXT), "HIPDNN_ATTR_SDPA_FWD_MMA_CORE_MODE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_IMPLEMENTATION_EXT), "HIPDNN_ATTR_SDPA_FWD_IMPLEMENTATION_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_FWD_COMP_TYPE_EXT), "HIPDNN_ATTR_SDPA_FWD_COMP_TYPE_EXT"); // SDPA bwd operation attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_Q_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_Q_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_K_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_K_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_V_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_V_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_O_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_O_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_DO_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_DO_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_STATS_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_STATS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_DQ_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_DQ_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_DK_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_DK_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_DV_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_DV_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_SCALE_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_SCALE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_ATTN_MASK_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_ATTN_MASK_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_SEQ_LEN_Q_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_SEQ_LEN_Q_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_SEQ_LEN_KV_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_SEQ_LEN_KV_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_SEED_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_SEED_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_OFFSET_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_OFFSET_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_DROPOUT_MASK_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_DROPOUT_MASK_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_DROPOUT_SCALE_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_DROPOUT_SCALE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_DROPOUT_SCALE_INV_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_DROPOUT_SCALE_INV_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_SDPA_BWD_DBIAS_EXT), "HIPDNN_ATTR_OPERATION_SDPA_BWD_DBIAS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_BWD_ALIBI_MASK_EXT), "HIPDNN_ATTR_SDPA_BWD_ALIBI_MASK_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_BWD_PADDING_MASK_EXT), "HIPDNN_ATTR_SDPA_BWD_PADDING_MASK_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_BWD_CAUSAL_MASK_EXT), "HIPDNN_ATTR_SDPA_BWD_CAUSAL_MASK_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_BWD_CAUSAL_MASK_BOTTOM_RIGHT_EXT), "HIPDNN_ATTR_SDPA_BWD_CAUSAL_MASK_BOTTOM_RIGHT_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_BWD_DROPOUT_PROBABILITY_EXT), "HIPDNN_ATTR_SDPA_BWD_DROPOUT_PROBABILITY_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_BWD_ATTN_SCALE_VALUE_EXT), "HIPDNN_ATTR_SDPA_BWD_ATTN_SCALE_VALUE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_BWD_LEFT_BOUND_EXT), "HIPDNN_ATTR_SDPA_BWD_LEFT_BOUND_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_BWD_RIGHT_BOUND_EXT), "HIPDNN_ATTR_SDPA_BWD_RIGHT_BOUND_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_BWD_DIAGONAL_ALIGNMENT_EXT), "HIPDNN_ATTR_SDPA_BWD_DIAGONAL_ALIGNMENT_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_SDPA_BWD_COMP_TYPE_EXT), "HIPDNN_ATTR_SDPA_BWD_COMP_TYPE_EXT"); // Layernorm operation attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_X_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_X_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_SCALE_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_SCALE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_BIAS_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_BIAS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_EPSILON_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_EPSILON_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_Y_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_Y_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_MEAN_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_MEAN_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_INV_VARIANCE_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_INV_VARIANCE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_FWD_PHASE_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_FWD_PHASE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_LAYERNORM_COMP_TYPE_EXT), "HIPDNN_ATTR_LAYERNORM_COMP_TYPE_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_NORMALIZED_DIM_COUNT_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_NORMALIZED_DIM_COUNT_EXT"); // Block scale quantize operation attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_XDESC), "HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_XDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_YDESC), "HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_YDESC"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_SCALE_DESC), "HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_SCALE_DESC"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_BLOCK_SIZE), "HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_BLOCK_SIZE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_AXIS_EXT), "HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_AXIS_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_TRANSPOSE_EXT), "HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_TRANSPOSE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_MATH_PREC), "HIPDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_MATH_PREC"); // Batchnorm training forward operation attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_X_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_X_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_SCALE_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_SCALE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_BIAS_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_BIAS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_EPSILON_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_EPSILON_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_Y_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_Y_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_PREV_RUNNING_MEAN_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_PREV_RUNNING_MEAN_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_PREV_RUNNING_VARIANCE_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_PREV_RUNNING_VARIANCE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_MOMENTUM_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_MOMENTUM_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_MEAN_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_MEAN_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_INV_VARIANCE_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_INV_VARIANCE_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_NEXT_RUNNING_MEAN_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_NEXT_RUNNING_MEAN_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_NEXT_RUNNING_VARIANCE_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_NEXT_RUNNING_VARIANCE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_BATCHNORM_COMP_TYPE_EXT), "HIPDNN_ATTR_BATCHNORM_COMP_TYPE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BATCHNORM_PEER_STATS_EXT), "HIPDNN_ATTR_OPERATION_BATCHNORM_PEER_STATS_EXT"); // Block scale dequantize operation attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_XDESC), "HIPDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_XDESC"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_SCALE_DESC), "HIPDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_SCALE_DESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_YDESC), "HIPDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_YDESC"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_BLOCK_SIZE), "HIPDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_BLOCK_SIZE"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_NEG_SCALE), "HIPDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_NEG_SCALE"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_MATH_PREC), "HIPDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_MATH_PREC"); // Custom op operation attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_CUSTOM_OP_INPUTS_EXT), "HIPDNN_ATTR_OPERATION_CUSTOM_OP_INPUTS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_CUSTOM_OP_OUTPUTS_EXT), "HIPDNN_ATTR_OPERATION_CUSTOM_OP_OUTPUTS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_CUSTOM_OP_ID_EXT), "HIPDNN_ATTR_OPERATION_CUSTOM_OP_ID_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_CUSTOM_OP_DATA_EXT), "HIPDNN_ATTR_OPERATION_CUSTOM_OP_DATA_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_CUSTOM_OP_COMP_TYPE_EXT), "HIPDNN_ATTR_CUSTOM_OP_COMP_TYPE_EXT"); // Reduction operation attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_REDUCTION_XDESC), "HIPDNN_ATTR_OPERATION_REDUCTION_XDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_REDUCTION_YDESC), "HIPDNN_ATTR_OPERATION_REDUCTION_YDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_REDUCTION_OPERATOR), "HIPDNN_ATTR_REDUCTION_OPERATOR"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_REDUCTION_COMP_TYPE), "HIPDNN_ATTR_REDUCTION_COMP_TYPE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_REDUCTION_IS_DETERMINISTIC), "HIPDNN_ATTR_REDUCTION_IS_DETERMINISTIC"); // RMSNorm backward operation attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_DY_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_DY_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_X_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_X_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_SCALE_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_SCALE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_INV_RMS_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_INV_RMS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_DX_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_DX_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_DSCALE_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_DSCALE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_DBIAS_EXT), "HIPDNN_ATTR_OPERATION_RMSNORM_BACKWARD_DBIAS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_RMSNORM_BACKWARD_COMP_TYPE_EXT), "HIPDNN_ATTR_RMSNORM_BACKWARD_COMP_TYPE_EXT"); // Layernorm backward operation attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_DY_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_DY_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_X_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_X_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_SCALE_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_SCALE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_MEAN_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_MEAN_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_INV_VARIANCE_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_INV_VARIANCE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_EPSILON_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_EPSILON_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_DX_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_DX_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_DSCALE_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_DSCALE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_DBIAS_EXT), "HIPDNN_ATTR_OPERATION_LAYERNORM_BACKWARD_DBIAS_EXT"); EXPECT_STREQ( hipdnnGetAttributeNameString(HIPDNN_ATTR_LAYERNORM_BACKWARD_NORMALIZED_DIM_COUNT_EXT), "HIPDNN_ATTR_LAYERNORM_BACKWARD_NORMALIZED_DIM_COUNT_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_LAYERNORM_BACKWARD_COMP_TYPE_EXT), "HIPDNN_ATTR_LAYERNORM_BACKWARD_COMP_TYPE_EXT"); // Operation extension attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_NAME_EXT), "HIPDNN_ATTR_OPERATION_NAME_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_TYPE_EXT), "HIPDNN_ATTR_OPERATION_TYPE_EXT"); // Resample forward operation attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RESAMPLE_FWD_XDESC), "HIPDNN_ATTR_OPERATION_RESAMPLE_FWD_XDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RESAMPLE_FWD_YDESC), "HIPDNN_ATTR_OPERATION_RESAMPLE_FWD_YDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_OPERATION_RESAMPLE_FWD_IDXDESC), "HIPDNN_ATTR_OPERATION_RESAMPLE_FWD_IDXDESC"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_RESAMPLE_MODE), "HIPDNN_ATTR_RESAMPLE_MODE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_RESAMPLE_PRE_PADDINGS), "HIPDNN_ATTR_RESAMPLE_PRE_PADDINGS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_RESAMPLE_POST_PADDINGS), "HIPDNN_ATTR_RESAMPLE_POST_PADDINGS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_RESAMPLE_STRIDES), "HIPDNN_ATTR_RESAMPLE_STRIDES"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_RESAMPLE_WINDOW_DIMS), "HIPDNN_ATTR_RESAMPLE_WINDOW_DIMS"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_RESAMPLE_PADDING_MODE), "HIPDNN_ATTR_RESAMPLE_PADDING_MODE"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_RESAMPLE_GENERATE_INDEX_EXT), "HIPDNN_ATTR_RESAMPLE_GENERATE_INDEX_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_RESAMPLE_COMP_TYPE), "HIPDNN_ATTR_RESAMPLE_COMP_TYPE"); // Profiling control descriptor attributes EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_PROFILING_HANDLE_EXT), "HIPDNN_ATTR_PROFILING_HANDLE_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_PROFILING_START_EXT), "HIPDNN_ATTR_PROFILING_START_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_PROFILING_STOP_EXT), "HIPDNN_ATTR_PROFILING_STOP_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_PROFILING_ELAPSED_MS_EXT), "HIPDNN_ATTR_PROFILING_ELAPSED_MS_EXT"); EXPECT_STREQ(hipdnnGetAttributeNameString(HIPDNN_ATTR_PROFILING_DEVICE_SYNC_EXT), "HIPDNN_ATTR_PROFILING_DEVICE_SYNC_EXT"); // Unknown attribute EXPECT_STREQ(hipdnnGetAttributeNameString(static_cast(-1)), "HIPDNN_ATTR_UNKNOWN"); } TEST(TestBackendEnumStringUtils, GetOperationTypeString) { EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_BATCHNORM_EXT), "HIPDNN_OPERATION_TYPE_BATCHNORM_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_BATCHNORM_BACKWARD_EXT), "HIPDNN_OPERATION_TYPE_BATCHNORM_BACKWARD_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_BATCHNORM_INFERENCE_EXT), "HIPDNN_OPERATION_TYPE_BATCHNORM_INFERENCE_EXT"); EXPECT_STREQ( hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_BATCHNORM_INFERENCE_VARIANCE_EXT), "HIPDNN_OPERATION_TYPE_BATCHNORM_INFERENCE_VARIANCE_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_BLOCK_SCALE_DEQUANTIZE_EXT), "HIPDNN_OPERATION_TYPE_BLOCK_SCALE_DEQUANTIZE_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_BLOCK_SCALE_QUANTIZE_EXT), "HIPDNN_OPERATION_TYPE_BLOCK_SCALE_QUANTIZE_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_CONVOLUTION_BACKWARD_DATA_EXT), "HIPDNN_OPERATION_TYPE_CONVOLUTION_BACKWARD_DATA_EXT"); EXPECT_STREQ( hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_CONVOLUTION_BACKWARD_WEIGHTS_EXT), "HIPDNN_OPERATION_TYPE_CONVOLUTION_BACKWARD_WEIGHTS_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_CONVOLUTION_FORWARD_EXT), "HIPDNN_OPERATION_TYPE_CONVOLUTION_FORWARD_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_CUSTOM_OP_EXT), "HIPDNN_OPERATION_TYPE_CUSTOM_OP_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_LAYERNORM_EXT), "HIPDNN_OPERATION_TYPE_LAYERNORM_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_MATMUL_EXT), "HIPDNN_OPERATION_TYPE_MATMUL_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_NOT_SET_EXT), "HIPDNN_OPERATION_TYPE_NOT_SET_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_POINTWISE_EXT), "HIPDNN_OPERATION_TYPE_POINTWISE_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_REDUCTION_EXT), "HIPDNN_OPERATION_TYPE_REDUCTION_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_RMSNORM_EXT), "HIPDNN_OPERATION_TYPE_RMSNORM_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_RMSNORM_BACKWARD_EXT), "HIPDNN_OPERATION_TYPE_RMSNORM_BACKWARD_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_SDPA_BACKWARD_EXT), "HIPDNN_OPERATION_TYPE_SDPA_BACKWARD_EXT"); EXPECT_STREQ(hipdnnGetOperationTypeString(HIPDNN_OPERATION_TYPE_SDPA_FORWARD_EXT), "HIPDNN_OPERATION_TYPE_SDPA_FORWARD_EXT"); // Unknown type EXPECT_STREQ(hipdnnGetOperationTypeString(static_cast(-1)), "HIPDNN_OPERATION_TYPE_UNKNOWN"); } TEST(TestBackendEnumStringUtils, GetStatusString) { EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_SUCCESS), "HIPDNN_STATUS_SUCCESS"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_NOT_INITIALIZED), "HIPDNN_STATUS_NOT_INITIALIZED"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_BAD_PARAM), "HIPDNN_STATUS_BAD_PARAM"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_BAD_PARAM_NULL_POINTER), "HIPDNN_STATUS_BAD_PARAM_NULL_POINTER"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_BAD_PARAM_NOT_FINALIZED), "HIPDNN_STATUS_BAD_PARAM_NOT_FINALIZED"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_BAD_PARAM_OUT_OF_BOUND), "HIPDNN_STATUS_BAD_PARAM_OUT_OF_BOUND"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_BAD_PARAM_SIZE_INSUFFICIENT), "HIPDNN_STATUS_BAD_PARAM_SIZE_INSUFFICIENT"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_BAD_PARAM_STREAM_MISMATCH), "HIPDNN_STATUS_BAD_PARAM_STREAM_MISMATCH"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_NOT_SUPPORTED), "HIPDNN_STATUS_NOT_SUPPORTED"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_INTERNAL_ERROR), "HIPDNN_STATUS_INTERNAL_ERROR"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_ALLOC_FAILED), "HIPDNN_STATUS_ALLOC_FAILED"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_INTERNAL_ERROR_HOST_ALLOCATION_FAILED), "HIPDNN_STATUS_INTERNAL_ERROR_HOST_ALLOCATION_FAILED"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_INTERNAL_ERROR_DEVICE_ALLOCATION_FAILED), "HIPDNN_STATUS_INTERNAL_ERROR_DEVICE_ALLOCATION_FAILED"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_EXECUTION_FAILED), "HIPDNN_STATUS_EXECUTION_FAILED"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_PLUGIN_ERROR), "HIPDNN_STATUS_PLUGIN_ERROR"); EXPECT_STREQ(hipdnnGetStatusString(HIPDNN_STATUS_VERSION_MISMATCH), "HIPDNN_STATUS_VERSION_MISMATCH"); EXPECT_STREQ(hipdnnGetStatusString(static_cast(-1)), "HIPDNN_STATUS_UNKNOWN"); } TEST(TestBackendEnumStringUtils, GetAttributeTypeString) { EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_HANDLE), "HIPDNN_TYPE_HANDLE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_DATA_TYPE), "HIPDNN_TYPE_DATA_TYPE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_BOOLEAN), "HIPDNN_TYPE_BOOLEAN"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_INT64), "HIPDNN_TYPE_INT64"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_FLOAT), "HIPDNN_TYPE_FLOAT"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_DOUBLE), "HIPDNN_TYPE_DOUBLE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_VOID_PTR), "HIPDNN_TYPE_VOID_PTR"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_HEUR_MODE), "HIPDNN_TYPE_HEUR_MODE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_KNOB_TYPE), "HIPDNN_TYPE_KNOB_TYPE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_NAN_PROPOGATION), "HIPDNN_TYPE_NAN_PROPOGATION"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_NUMERICAL_NOTE), "HIPDNN_TYPE_NUMERICAL_NOTE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_LAYOUT_TYPE), "HIPDNN_TYPE_LAYOUT_TYPE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_ATTRIB_NAME), "HIPDNN_TYPE_ATTRIB_NAME"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_BACKEND_DESCRIPTOR), "HIPDNN_TYPE_BACKEND_DESCRIPTOR"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_GENSTATS_MODE), "HIPDNN_TYPE_GENSTATS_MODE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_BN_FINALIZE_STATS_MODE), "HIPDNN_TYPE_BN_FINALIZE_STATS_MODE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_BEHAVIOR_NOTE), "HIPDNN_TYPE_BEHAVIOR_NOTE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_TENSOR_REORDERING_MODE), "HIPDNN_TYPE_TENSOR_REORDERING_MODE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_INT32), "HIPDNN_TYPE_INT32"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_CHAR), "HIPDNN_TYPE_CHAR"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_SIGNAL_MODE), "HIPDNN_TYPE_SIGNAL_MODE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_FRACTION), "HIPDNN_TYPE_FRACTION"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_NORM_FWD_PHASE), "HIPDNN_TYPE_NORM_FWD_PHASE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_RNG_DISTRIBUTION), "HIPDNN_TYPE_RNG_DISTRIBUTION"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_CONVOLUTION_MODE), "HIPDNN_TYPE_CONVOLUTION_MODE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_POINTWISE_MODE), "HIPDNN_TYPE_POINTWISE_MODE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_DIAGONAL_ALIGNMENT_EXT), "HIPDNN_TYPE_DIAGONAL_ALIGNMENT_EXT"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_ATTENTION_IMPLEMENTATION_EXT), "HIPDNN_TYPE_ATTENTION_IMPLEMENTATION_EXT"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_REDUCTION_OPERATOR_TYPE), "HIPDNN_TYPE_REDUCTION_OPERATOR_TYPE"); EXPECT_STREQ(hipdnnGetAttributeTypeString(HIPDNN_TYPE_FLATBUFFER_DATA_STRUCT_EXT), "HIPDNN_TYPE_FLATBUFFER_DATA_STRUCT_EXT"); EXPECT_STREQ(hipdnnGetAttributeTypeString(static_cast(-1)), "HIPDNN_ATTRIBUTE_UNKNOWN"); } TEST(TestBackendEnumStringUtils, GetBehaviorNoteString) { EXPECT_STREQ(hipdnnGetBehaviorNoteString(HIPDNN_BEHAVIOR_NOTE_RUNTIME_COMPILATION), "HIPDNN_BEHAVIOR_NOTE_RUNTIME_COMPILATION"); EXPECT_STREQ(hipdnnGetBehaviorNoteString(HIPDNN_BEHAVIOR_NOTE_REQUIRES_LAYOUT_TRANSFORM), "HIPDNN_BEHAVIOR_NOTE_REQUIRES_LAYOUT_TRANSFORM"); EXPECT_STREQ(hipdnnGetBehaviorNoteString(HIPDNN_BEHAVIOR_NOTE_SUPPORTS_GRAPH_CAPTURE), "HIPDNN_BEHAVIOR_NOTE_SUPPORTS_GRAPH_CAPTURE"); EXPECT_STREQ(hipdnnGetBehaviorNoteString(HIPDNN_BEHAVIOR_NOTE_EXTERNAL_LIBRARY_DEPENDENCY), "HIPDNN_BEHAVIOR_NOTE_EXTERNAL_LIBRARY_DEPENDENCY"); EXPECT_STREQ( hipdnnGetBehaviorNoteString(HIPDNN_BEHAVIOR_NOTE_SUPPORTS_EXECUTION_PLAN_SERIALIZATION), "HIPDNN_BEHAVIOR_NOTE_SUPPORTS_EXECUTION_PLAN_SERIALIZATION"); EXPECT_STREQ(hipdnnGetBehaviorNoteString(HIPDNN_BEHAVIOR_NOTE_TYPE_COUNT), "HIPDNN_BEHAVIOR_NOTE_TYPE_COUNT"); EXPECT_STREQ(hipdnnGetBehaviorNoteString(static_cast(-1)), "HIPDNN_BEHAVIOR_NOTE_UNKNOWN"); } TEST(TestBackendEnumStringUtils, GetPluginLoadingModeString) { EXPECT_STREQ(hipdnnGetPluginLoadingModeString(HIPDNN_PLUGIN_LOADING_ADDITIVE), "HIPDNN_PLUGIN_LOADING_ADDITIVE"); EXPECT_STREQ(hipdnnGetPluginLoadingModeString(HIPDNN_PLUGIN_LOADING_ABSOLUTE), "HIPDNN_PLUGIN_LOADING_ABSOLUTE"); EXPECT_STREQ(hipdnnGetPluginLoadingModeString(static_cast(-1)), "HIPDNN_PLUGIN_LOADING_UNKNOWN"); } TEST(TestBackendEnumStringUtils, GetDataTypeString) { EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_FLOAT), "HIPDNN_DATA_FLOAT"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_DOUBLE), "HIPDNN_DATA_DOUBLE"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_HALF), "HIPDNN_DATA_HALF"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_INT8), "HIPDNN_DATA_INT8"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_INT32), "HIPDNN_DATA_INT32"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_UINT8), "HIPDNN_DATA_UINT8"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_BFLOAT16), "HIPDNN_DATA_BFLOAT16"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_FP8_E4M3), "HIPDNN_DATA_FP8_E4M3"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_FP8_E5M2), "HIPDNN_DATA_FP8_E5M2"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_FP8_E8M0), "HIPDNN_DATA_FP8_E8M0"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_FP4_E2M1), "HIPDNN_DATA_FP4_E2M1"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_INT4), "HIPDNN_DATA_INT4"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_FP6_E2M3_EXT), "HIPDNN_DATA_FP6_E2M3_EXT"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_FP6_E3M2_EXT), "HIPDNN_DATA_FP6_E3M2_EXT"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_INT64), "HIPDNN_DATA_INT64"); EXPECT_STREQ(hipdnnGetDataTypeString(HIPDNN_DATA_BOOLEAN), "HIPDNN_DATA_BOOLEAN"); EXPECT_STREQ(hipdnnGetDataTypeString(static_cast(-1)), "HIPDNN_DATA_UNKNOWN"); } TEST(TestBackendEnumStringUtils, GetPluginUnloadingModeString) { EXPECT_STREQ(hipdnnGetPluginUnloadingModeString(HIPDNN_PLUGIN_UNLOAD_LAZY), "HIPDNN_PLUGIN_UNLOAD_LAZY"); EXPECT_STREQ(hipdnnGetPluginUnloadingModeString(HIPDNN_PLUGIN_UNLOAD_EAGER), "HIPDNN_PLUGIN_UNLOAD_EAGER"); EXPECT_STREQ( hipdnnGetPluginUnloadingModeString(static_cast(-1)), "HIPDNN_PLUGIN_UNLOAD_UNKNOWN"); } TEST(TestBackendEnumStringUtils, GetConvolutionModeString) { EXPECT_STREQ(hipdnnGetConvolutionModeString(HIPDNN_CONVOLUTION), "HIPDNN_CONVOLUTION"); EXPECT_STREQ(hipdnnGetConvolutionModeString(HIPDNN_CROSS_CORRELATION), "HIPDNN_CROSS_CORRELATION"); EXPECT_STREQ(hipdnnGetConvolutionModeString(static_cast(-1)), "HIPDNN_CONVOLUTION_UNKNOWN"); } TEST(TestBackendEnumStringUtils, GetPointwiseModeString) { EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_ABS), "HIPDNN_POINTWISE_ABS"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_ADD), "HIPDNN_POINTWISE_ADD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_ADD_SQUARE), "HIPDNN_POINTWISE_ADD_SQUARE"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_BINARY_SELECT), "HIPDNN_POINTWISE_BINARY_SELECT"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_CEIL), "HIPDNN_POINTWISE_CEIL"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_CMP_EQ), "HIPDNN_POINTWISE_CMP_EQ"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_CMP_GE), "HIPDNN_POINTWISE_CMP_GE"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_CMP_GT), "HIPDNN_POINTWISE_CMP_GT"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_CMP_LE), "HIPDNN_POINTWISE_CMP_LE"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_CMP_LT), "HIPDNN_POINTWISE_CMP_LT"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_CMP_NEQ), "HIPDNN_POINTWISE_CMP_NEQ"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_DIV), "HIPDNN_POINTWISE_DIV"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_ELU_BWD), "HIPDNN_POINTWISE_ELU_BWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_ELU_FWD), "HIPDNN_POINTWISE_ELU_FWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_ERF), "HIPDNN_POINTWISE_ERF"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_EXP), "HIPDNN_POINTWISE_EXP"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_FLOOR), "HIPDNN_POINTWISE_FLOOR"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_GELU_APPROX_TANH_BWD), "HIPDNN_POINTWISE_GELU_APPROX_TANH_BWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_GELU_APPROX_TANH_FWD), "HIPDNN_POINTWISE_GELU_APPROX_TANH_FWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_GELU_BWD), "HIPDNN_POINTWISE_GELU_BWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_GELU_FWD), "HIPDNN_POINTWISE_GELU_FWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_GEN_INDEX), "HIPDNN_POINTWISE_GEN_INDEX"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_IDENTITY), "HIPDNN_POINTWISE_IDENTITY"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_LOG), "HIPDNN_POINTWISE_LOG"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_LOGICAL_AND), "HIPDNN_POINTWISE_LOGICAL_AND"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_LOGICAL_NOT), "HIPDNN_POINTWISE_LOGICAL_NOT"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_LOGICAL_OR), "HIPDNN_POINTWISE_LOGICAL_OR"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_MAX), "HIPDNN_POINTWISE_MAX"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_MIN), "HIPDNN_POINTWISE_MIN"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_MUL), "HIPDNN_POINTWISE_MUL"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_NEG), "HIPDNN_POINTWISE_NEG"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_RECIPROCAL), "HIPDNN_POINTWISE_RECIPROCAL"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_RELU_BWD), "HIPDNN_POINTWISE_RELU_BWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_RELU_FWD), "HIPDNN_POINTWISE_RELU_FWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_RSQRT), "HIPDNN_POINTWISE_RSQRT"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_SIGMOID_BWD), "HIPDNN_POINTWISE_SIGMOID_BWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_SIGMOID_FWD), "HIPDNN_POINTWISE_SIGMOID_FWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_SIN), "HIPDNN_POINTWISE_SIN"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_SOFTPLUS_BWD), "HIPDNN_POINTWISE_SOFTPLUS_BWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_SOFTPLUS_FWD), "HIPDNN_POINTWISE_SOFTPLUS_FWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_SQRT), "HIPDNN_POINTWISE_SQRT"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_SUB), "HIPDNN_POINTWISE_SUB"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_SWISH_BWD), "HIPDNN_POINTWISE_SWISH_BWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_SWISH_FWD), "HIPDNN_POINTWISE_SWISH_FWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_TAN), "HIPDNN_POINTWISE_TAN"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_TANH_BWD), "HIPDNN_POINTWISE_TANH_BWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(HIPDNN_POINTWISE_TANH_FWD), "HIPDNN_POINTWISE_TANH_FWD"); EXPECT_STREQ(hipdnnGetPointwiseModeString(static_cast(-1)), "HIPDNN_POINTWISE_UNKNOWN"); } TEST(TestBackendEnumStringUtils, GetReduceTensorOpString) { EXPECT_STREQ(hipdnnGetReduceTensorOpString(HIPDNN_REDUCE_TENSOR_ADD), "HIPDNN_REDUCE_TENSOR_ADD"); EXPECT_STREQ(hipdnnGetReduceTensorOpString(HIPDNN_REDUCE_TENSOR_MUL), "HIPDNN_REDUCE_TENSOR_MUL"); EXPECT_STREQ(hipdnnGetReduceTensorOpString(HIPDNN_REDUCE_TENSOR_MIN), "HIPDNN_REDUCE_TENSOR_MIN"); EXPECT_STREQ(hipdnnGetReduceTensorOpString(HIPDNN_REDUCE_TENSOR_MAX), "HIPDNN_REDUCE_TENSOR_MAX"); EXPECT_STREQ(hipdnnGetReduceTensorOpString(HIPDNN_REDUCE_TENSOR_AMAX), "HIPDNN_REDUCE_TENSOR_AMAX"); EXPECT_STREQ(hipdnnGetReduceTensorOpString(HIPDNN_REDUCE_TENSOR_AVG), "HIPDNN_REDUCE_TENSOR_AVG"); EXPECT_STREQ(hipdnnGetReduceTensorOpString(HIPDNN_REDUCE_TENSOR_NORM1), "HIPDNN_REDUCE_TENSOR_NORM1"); EXPECT_STREQ(hipdnnGetReduceTensorOpString(HIPDNN_REDUCE_TENSOR_NORM2), "HIPDNN_REDUCE_TENSOR_NORM2"); EXPECT_STREQ(hipdnnGetReduceTensorOpString(HIPDNN_REDUCE_TENSOR_MUL_NO_ZEROS), "HIPDNN_REDUCE_TENSOR_MUL_NO_ZEROS"); EXPECT_STREQ(hipdnnGetReduceTensorOpString(static_cast(-1)), "HIPDNN_REDUCE_TENSOR_UNKNOWN"); } TEST(TestBackendEnumStringUtils, GetNormFwdPhaseString) { EXPECT_STREQ(hipdnnGetNormFwdPhaseString(HIPDNN_NORM_FWD_INFERENCE), "HIPDNN_NORM_FWD_INFERENCE"); EXPECT_STREQ(hipdnnGetNormFwdPhaseString(HIPDNN_NORM_FWD_TRAINING), "HIPDNN_NORM_FWD_TRAINING"); EXPECT_STREQ(hipdnnGetNormFwdPhaseString(static_cast(-1)), "HIPDNN_NORM_FWD_UNKNOWN"); }