* Copyright (c) 2025 Huawei Technologies Co., Ltd.
* This program is free software, you can redistribute it and/or modify it under the terms and conditions of
* CANN Open Software License Agreement Version 2.0 (the "License").
* Please refer to the License for details. You may not use this file except in compliance with the License.
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
* See LICENSE in the root of the software repository for the full text of the License.
*/
#ifndef DVPP_ENGINE_UTIL_DVPP_CONSTEXPR_H_
#define DVPP_ENGINE_UTIL_DVPP_CONSTEXPR_H_
#include <cstdint>
#include <string>
#include <vector>
namespace dvpp {
const std::string ATTR_NAME_PERFORMANCE_PRIOR = "_performance_prior";
const std::string ATTR_DVPP_CHECK_RESULT = "_dvpp_check_result";
const std::string ATTR_DVPP_CHECK_UNSUPPORT_REASON =
"_dvpp_check_unsupport_reason";
const std::string kSocVersionAscend910B1 = "Ascend910B1";
const std::string kSocVersionAscend910B2 = "Ascend910B2";
const std::string kSocVersionAscend910B2C = "Ascend910B2C";
const std::string kSocVersionAscend910B3 = "Ascend910B3";
const std::string kSocVersionAscend910B4 = "Ascend910B4";
const std::string kSocVersionAscend910B41 = "Ascend910B4-1";
const std::string kSocVersionAscend9109391 = "Ascend910_9391";
const std::string kSocVersionAscend9109392 = "Ascend910_9392";
const std::string kSocVersionAscend9109381 = "Ascend910_9381";
const std::string kSocVersionAscend9109382 = "Ascend910_9382";
const std::string kSocVersionAscend9109372 = "Ascend910_9372";
const std::string kSocVersionAscend9109362 = "Ascend910_9362";
const std::vector<std::string> kSocVersionMLR1 = {
kSocVersionAscend910B1,
kSocVersionAscend910B2,
kSocVersionAscend910B2C,
kSocVersionAscend910B3,
kSocVersionAscend910B4,
kSocVersionAscend910B41,
kSocVersionAscend9109391,
kSocVersionAscend9109392,
kSocVersionAscend9109381,
kSocVersionAscend9109382,
kSocVersionAscend9109372,
kSocVersionAscend9109362
};
const std::string kJsonFileAscend910B = "dvpp_ops_info_ascend910b.json";
const std::string kDvppEngineName = "DNN_VM_DVPP";
const std::string kDvppKernelSo = "libdvpp_ops.so";
const std::string kDvppFunctionName = "RunCpuKernel";
const std::string kAiCpuEngineName = "DNN_VM_AICPU";
constexpr uint32_t kAiCpuKernelType = 6;
const std::string kDvppOpDef = "op_def";
const std::string kDvppGraphOptimizer = "dvpp_graph_optimizer";
const std::string kDvppOpsKernel = "dvpp_ops_kernel";
const std::string kAiCpuDecodeOpsKernel = "aicpu_tf_kernel";
const std::string kNodeData = "Data";
const std::string kNodeNetOutput = "NetOutput";
const std::string kNodeConst = "Const";
const std::string kNodeConstant = "Constant";
const std::string kNodeSub = "Sub";
const std::string kNodeMul = "Mul";
constexpr int64_t kDynamicShape = -2;
constexpr int64_t kDynamicDim = -1;
const std::string kDvppOpsJsonFilePathBaseOnEnvPath =
"/op_impl/built-in/dvpp/dvpp_kernel/config/";
const std::string kDvppOpsJsonFilePathBaseOnEnvPathNew =
"/built-in/op_impl/dvpp/dvpp_kernel/config/";
#ifdef RUN_TEST
const std::string kDvppOpsJsonFilePath =
"../../../../../tests/engines/dvppeng/stub/";
const std::string kDvppOpsJsonFilePathNew =
"../../../../../tests/engines/dvppeng/stub/";
#else
const std::string kDvppOpsJsonFilePath =
"/usr/local/Ascend/opp/op_impl/built-in/dvpp/dvpp_kernel/config/";
const std::string kDvppOpsJsonFilePathNew =
"/usr/local/Ascend/opp/built-in/op_impl/dvpp/dvpp_kernel/config/";
#endif
const std::string kOutputMemsizeVector = "output_memsize_vector";
const std::string kOutputAlignmentVector = "output_alignment_vector";
constexpr uint64_t kAlignmentValue = 128;
const std::string kWorkspaceReuseFlag = "workspace_reuse_flag";
const std::string kResourceList = "_resource_list";
const std::string kResourceType = "resource_type";
const std::string kResourceVpcChannel = "RES_VPC_CHANNEL";
const std::string kResourceJpegdChannel = "RES_JPEGD_CHANNEL";
const std::string kResourceJpegeChannel = "RES_JPEGE_CHANNEL";
const std::string kComma = ",";
const std::string kTilde = "~";
constexpr uint32_t kNum0 = 0;
constexpr uint32_t kNum1 = 1;
constexpr uint32_t kNum2 = 2;
constexpr uint32_t kNum3 = 3;
constexpr uint32_t kNum4 = 4;
constexpr uint32_t kNum6 = 6;
constexpr uint32_t kNum8 = 8;
constexpr uint32_t kSizeOfFloat16 = 2;
constexpr int32_t kSizeOfResource = 8;
constexpr int32_t kSizeOfStringRef = 16;
constexpr int32_t kSizeOfString = 16;
constexpr int32_t kSizeOfComplex64 = 8;
constexpr int32_t kSizeOfComplex128 = 16;
constexpr int32_t kSizeOfVariant = 8;
const std::string kJsonDvppOpsInfoLibName = "libName";
const std::string kJsonDvppOpsInfoLibOps = "libOps";
const std::string kJsonDvppOpName = "opName";
const std::string kJsonDvppOpInfo = "opInfo";
const std::string kJsonDvppOpInfoEngine = "engine";
const std::string kJsonDvppOpInfoOpKernelLib = "opKernelLib";
const std::string kJsonDvppOpInfoComputeCost = "computeCost";
const std::string kJsonDvppOpInfoFlagPartial = "flagPartial";
const std::string kJsonDvppOpInfoFlagAsync = "flagAsync";
const std::string kJsonDvppOpInfoKernelSo = "kernelSo";
const std::string kJsonDvppOpInfoFunctionName = "functionName";
const std::string kJsonDvppOpInfoUserDefined = "userDefined";
const std::string kJsonDvppOpInfoWorkspaceSize = "workspaceSize";
const std::string kJsonDvppOpInfoResource = "resource";
const std::string kJsonDvppOpInfoMemoryType = "memoryType";
const std::string kJsonDvppOpInfoWidthMin = "widthMin";
const std::string kJsonDvppOpInfoWidthMax = "widthMax";
const std::string kJsonDvppOpInfoWidthAlign = "widthAlign";
const std::string kJsonDvppOpInfoHeightMin = "heightMin";
const std::string kJsonDvppOpInfoHeightMax = "heightMax";
const std::string kJsonDvppOpInfoHeightAlign = "heightAlign";
const std::string kJsonDvppOpInfoInputs = "inputs";
const std::string kJsonDvppOpInfoOutputs = "outputs";
const std::string kJsonDvppOpInfoAttrs = "attrs";
const std::string kJsonInOutInfoDataName = "dataName";
const std::string kJsonInOutInfoDataType = "dataType";
const std::string kJsonInOutInfoDataFormat = "dataFormat";
const std::string kJsonAttrInfoType = "type";
const std::string kJsonAttrInfoValue = "value";
const std::string kJsonStrInput = "input";
const std::string kJsonStrOutput = "output";
const std::string kJsonStrAttr = "attr";
const std::string kJsonStrType = "type";
const std::string kJsonStrFormat = "format";
const std::string kJsonStrName = "name";
const std::string kDvppOpDecodeAndCropJpeg = "DecodeAndCropJpeg";
const std::string kDvppOpDecodeJpeg = "DecodeJpeg";
const std::string kDvppOpDecodeJpegPre = "DecodeJpegPre";
const std::string kDvppOpNormalizeV2 = "NormalizeV2";
const std::string kDvppOpYUVToRGB = "YUVToRGB";
const std::string kDvppOpIf = "If";
const std::string kDvppOpAdjustContrastWithMean = "AdjustContrastWithMean";
const std::string kDvppOpRgbToGrayscale = "RgbToGrayscale";
const std::string kDvppOpAdjustContrast = "AdjustContrast";
const std::string kAICpuOpReduceMean = "ReduceMean";
}
#endif