Files
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

1114 lines
72 KiB
C++

// Copyright © Advanced Micro Devices, Inc., or its affiliates.
// SPDX-License-Identifier: MIT
#include "BackendEnumStringUtils.hpp"
#include <gtest/gtest.h>
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<hipdnnBackendDescriptorType_t>(-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<hipdnnBackendAttributeName_t>(-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<hipdnnOperationType_ext_t>(-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<hipdnnStatus_t>(-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<hipdnnBackendAttributeType_t>(-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<hipdnnBackendBehaviorNote_t>(-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<hipdnnPluginLoadingMode_ext_t>(-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<hipdnnDataType_t>(-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<hipdnnPluginUnloadingMode_ext_t>(-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<hipdnnConvolutionMode_t>(-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<hipdnnPointwiseMode_t>(-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<hipdnnReduceTensorOp_t>(-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<hipdnnNormFwdPhase_t>(-1)),
"HIPDNN_NORM_FWD_UNKNOWN");
}