# Copyright (c) Qualcomm Innovation Center, Inc.
# All rights reserved
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.

# Qualcomm specific key

# constants in backends/qualcomm/_passes & backends/qualcomm/builders
QCOM_AXIS = "axis"
QCOM_AXIS_ORDER = "axis_order"
QCOM_BITWIDTH = "bitwidth"
QCOM_BLOCK_SIZE = "block_size"
QCOM_BLOCK_SCALES = "block_scales"
QCOM_BLOCK_SCALE_BITWIDTH = "block_scale_bitwidth"
QCOM_BLOCK_SCALE_OFFSET = "block_scale_offset"
QCOM_BLOCK_STORAGE_TYPE = "block_storage_type"
QCOM_BYPASS_NODE = "bypass_node"
QCOM_DATA = "data"
QCOM_DTYPE = "dtype"
QCOM_ENCODING = "encoding"
QCOM_INSERTED_PERMUTE = "qnn_permute"
QCOM_LAYOUT_CHANGE = "layout_change"
QCOM_NUM_BLOCKS_PER_AXIS = "num_blocks_per_axis"
QCOM_OFFSET = "offset"
QCOM_ORIG_DTYPE = "orig_dtype"
QCOM_QUANTIZED_IO = "q_tensor_io"
QCOM_QUANT_ATTRS = "quant_attrs"
QCOM_QUANT_ATTRS_MAP = "quant_attrs_map"
QCOM_QUANT_MIN = "quant_min"
QCOM_QUANT_MAX = "quant_max"
QCOM_REQUANTIZE = "requantize"
QCOM_SCALE = "scale"
QCOM_SCALES = "scales"
QCOM_SCALE_OFFSET = "scale_offset"
QCOM_TENSOR_NAME = "qnn_tensor_name"
QCOM_ZERO_POINT = "zero_point"
QCOM_ZERO_POINTS = "zero_points"
QCOM_PASS_ACTIVATE_KEY = "activate"
QCOM_PASS_ARGS_KWARGS_DEFAULTS_KEY = "args_kwargs_defaults"

# constants in backends/qualcomm/tests
QCOM_ANNOTATION = "annotation"
QCOM_MODULE = "module"
QCOM_QUANT_DTYPE = "quant_dtype"
QCOM_SAMPLE_INPUTS = "sample_inputs"

# constants in backends/qualcomm/utils
QCOM_QNN_COMPILE_SPEC = "qnn_compile_spec"


# constants for environment variables
HEXAGON_SDK_ROOT = "HEXAGON_SDK_ROOT"
HEXAGON_TOOLS_ROOT = "HEXAGON_TOOLS_ROOT"
DSP_VERSION = "DSP_VERSION"
