Compare commits

...

Author SHA1 Message Date
  yanghaoran 8ac63cd76d
!2136 upgrade Ascend software package 3 Nov 22 2 years ago
  yanghaoran a693b462bb upgrade Ascend software package 3 Nov 22 2 years ago
52 changed files with 1602 additions and 662 deletions
Split View
  1. +2
    -2
      inc/external/acl/acl.h
  2. +62
    -0
      inc/external/acl/acl_rt.h
  3. +78
    -3
      inc/external/acl/acl_tdt_queue.h
  4. +31
    -0
      inc/external/ge/ge_api.h
  5. +2
    -2
      inc/external/ge/ge_api_error_codes.h
  6. +12
    -14
      inc/external/ge/ge_api_types.h
  7. +60
    -0
      inc/external/ge/ge_data_flow_api.h
  8. +10
    -14
      inc/external/hccl/hccl.h
  9. +0
    -6
      inc/external/hccl/hccl_types.h
  10. +4
    -0
      inc/framework/common/debug/ge_log.h
  11. +12
    -2
      inc/framework/common/debug/log.h
  12. +25
    -1
      inc/framework/common/ge_types.h
  13. +1
    -0
      inc/framework/common/taskdown_common.h
  14. +0
    -5
      inc/framework/common/util.h
  15. +1
    -1
      inc/framework/executor/ge_executor.h
  16. +7
    -4
      inc/framework/generator/ge_generator.h
  17. +412
    -412
      inc/framework/omg/parser/parser_types.h
  18. +31
    -0
      inc/framework/pne/graph_deployment_optimizer.h
  19. +1
    -1
      inc/framework/pne/process_node_engine.h
  20. +1
    -0
      inc/framework/runtime/block.h
  21. +4
    -4
      inc/framework/runtime/exe_graph_executor.h
  22. +1
    -0
      inc/framework/runtime/exe_graph_resource_guard.h
  23. +18
    -3
      inc/framework/runtime/gert_api.h
  24. +12
    -3
      inc/framework/runtime/mem_allocator.h
  25. +4
    -3
      inc/framework/runtime/model_desc.h
  26. +43
    -7
      inc/framework/runtime/model_v2_executor.h
  27. +52
    -0
      inc/framework/runtime/stream_executor.h
  28. +8
    -8
      inc/framework/runtime/subscriber/built_in_subscriber_definitions.h
  29. +5
    -8
      inc/framework/runtime/subscriber/executor_subscribers_scheduler.h
  30. +10
    -17
      inc/framework/runtime/subscriber/global_dumper.h
  31. +3
    -3
      inc/framework/runtime/subscriber/global_profiler.h
  32. +1
    -1
      metadef
  33. +29
    -45
      third_party/fwkacllib/inc/hccl/base.h
  34. +25
    -34
      third_party/fwkacllib/inc/ops/OWNERS
  35. +1
    -0
      third_party/fwkacllib/inc/ops/all_ops.h
  36. +172
    -0
      third_party/fwkacllib/inc/ops/data_flow_ops.h
  37. +43
    -15
      third_party/fwkacllib/inc/ops/elewise_calculation_ops.h
  38. +114
    -0
      third_party/fwkacllib/inc/ops/experiment_ops.h
  39. +94
    -0
      third_party/fwkacllib/inc/ops/image_ops.h
  40. +12
    -12
      third_party/fwkacllib/inc/ops/math_ops.h
  41. +41
    -7
      third_party/fwkacllib/inc/ops/nn_norm_ops.h
  42. +1
    -1
      third_party/fwkacllib/inc/ops/nn_pooling_ops.h
  43. +32
    -0
      third_party/fwkacllib/inc/ops/random_ops.h
  44. +4
    -4
      third_party/fwkacllib/inc/ops/selection_ops.h
  45. +8
    -6
      third_party/fwkacllib/inc/runtime/config.h
  46. +18
    -1
      third_party/fwkacllib/inc/runtime/dev.h
  47. +15
    -4
      third_party/fwkacllib/inc/runtime/kernel.h
  48. +18
    -7
      third_party/fwkacllib/inc/runtime/mem.h
  49. +38
    -0
      third_party/fwkacllib/inc/runtime/rt_mem_queue.h
  50. +11
    -0
      third_party/fwkacllib/inc/runtime/rt_stars.h
  51. +12
    -2
      third_party/fwkacllib/inc/runtime/stream.h
  52. +1
    -0
      third_party/fwkacllib/inc/toolchain/slog.h

+ 2
- 2
inc/external/acl/acl.h View File

@@ -25,9 +25,9 @@
extern "C" {
#endif

// Current version is 1.3.0
// Current version is 1.4.0
#define ACL_MAJOR_VERSION 1
#define ACL_MINOR_VERSION 3
#define ACL_MINOR_VERSION 4
#define ACL_PATCH_VERSION 0

/**


+ 62
- 0
inc/external/acl/acl_rt.h View File

@@ -98,6 +98,12 @@ typedef enum aclrtGroupAttr {
ACL_GROUP_GROUPID_INT
} aclrtGroupAttr;

typedef enum aclrtFloatOverflowMode {
ACL_RT_OVERFLOW_MODE_SATURATION = 0,
ACL_RT_OVERFLOW_MODE_INFNAN,
ACL_RT_OVERFLOW_MODE_UNDEF,
} aclrtFloatOverflowMode;

typedef struct tagRtGroupInfo aclrtGroupInfo;

typedef struct rtExceptionInfo aclrtExceptionInfo;
@@ -867,6 +873,20 @@ ACL_FUNC_VISIBILITY aclError aclrtSynchronizeStream(aclrtStream stream);

/**
* @ingroup AscendCL
* @brief block the host until all tasks
* in the specified stream have completed
*
* @param stream [IN] the stream to wait
* @param timeout [IN] timeout value,the unit is milliseconds
* -1 means waiting indefinitely, 0 means check whether synchronization is complete immediately
*
* @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure
*/
ACL_FUNC_VISIBILITY aclError aclrtSynchronizeStreamWithTimeout(aclrtStream stream, int32_t timeout);

/**
* @ingroup AscendCL
* @brief Blocks the operation of the specified Stream until
* the specified Event is completed.
* Support for multiple streams waiting for the same event.
@@ -1035,6 +1055,48 @@ ACL_FUNC_VISIBILITY aclError aclrtGetMemInfo(aclrtMemAttr attr, size_t *free, si
*/
ACL_FUNC_VISIBILITY aclError aclrtSetOpWaitTimeout(uint32_t timeout);

/**
* @ingroup AscendCL
* @brief enable or disable overflow switch on some stream
* @param stream [IN] set overflow switch on this stream
* @param flag [IN] 0 : disable 1 : enable
*
* @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure
*/
ACL_FUNC_VISIBILITY aclError aclrtSetStreamOverflowSwitch(aclrtStream stream, uint32_t flag);

/**
* @ingroup AscendCL
* @brief get overflow switch on some stream
* @param stream [IN] get overflow switch on this stream
* @param flag [OUT] current overflow switch, 0 : disable others : enable
*
* @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure
*/
ACL_FUNC_VISIBILITY aclError aclrtGetStreamOverflowSwitch(aclrtStream stream, uint32_t *flag);

/**
* @ingroup AscendCL
* @brief set saturation mode
* @param mode [IN] target saturation mode
*
* @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure
*/
ACL_FUNC_VISIBILITY aclError aclrtSetDeviceSatMode(aclrtFloatOverflowMode mode);

/**
* @ingroup AscendCL
* @brief get saturation mode
* @param mode [OUT] get saturation mode
*
* @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure
*/
ACL_FUNC_VISIBILITY aclError aclrtGetDeviceSatMode(aclrtFloatOverflowMode *mode);

#ifdef __cplusplus
}
#endif


+ 78
- 3
inc/external/acl/acl_tdt_queue.h View File

@@ -27,6 +27,10 @@ extern "C" {
#define ACL_TDT_QUEUE_PERMISSION_DEQUEUE 2
#define ACL_TDT_QUEUE_PERMISSION_ENQUEUE 4

#define ACL_TDT_QUEUE_ROUTE_UNBIND 0
#define ACL_TDT_QUEUE_ROUTE_BIND 1
#define ACL_TDT_QUEUE_ROUTE_BIND_ABNORMAL 2

typedef void *acltdtBuf;
typedef struct tagMemQueueAttr acltdtQueueAttr;
typedef struct acltdtQueueRouteList acltdtQueueRouteList;
@@ -43,8 +47,9 @@ typedef enum {

typedef enum {
ACL_TDT_QUEUE_ROUTE_QUERY_SRC = 0,
ACL_TDT_QUEUE_ROUTE_QUERY_DST,
ACL_TDT_QUEUE_ROUTE_QUERY_SRC_AND_DST
ACL_TDT_QUEUE_ROUTE_QUERY_DST = 1,
ACL_TDT_QUEUE_ROUTE_QUERY_SRC_AND_DST = 2,
ACL_TDT_QUEUE_ROUTE_QUERY_ABNORMAL = 100
} acltdtQueueRouteQueryMode;

typedef enum {
@@ -261,6 +266,76 @@ ACL_FUNC_VISIBILITY aclError acltdtGetBufData(const acltdtBuf buf, void **dataPt

/**
* @ingroup AscendCL
* @brief set data buf effective len
*
* @param buf [IN] acltdtBuf
* @param len [IN] set effective len to data buf which must be smaller than size acquired by acltdtGetBufData
*
* @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure
*
* @see acltdtGetBufData acltdtGetBufDataLen
*/
ACL_FUNC_VISIBILITY aclError acltdtSetBufDataLen(acltdtBuf buf, size_t len);

/**
* @ingroup AscendCL
* @brief get data buf effective len
*
* @param buf [IN] acltdtBuf
* @param len [OUT] get effective len which is set by acltdtSetBufDataLen
*
* @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure
*
* @see acltdtSetBufDataLen
*/
ACL_FUNC_VISIBILITY aclError acltdtGetBufDataLen(acltdtBuf buf, size_t *len);

/**
* @ingroup AscendCL
* @brief append acltdtBuf to acltdtBuf chain
*
* @param headBuf [IN] acltdtBuf chain head
* @param buf [IN] acltdtBuf will be appended
*
* @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure
*
*/
ACL_FUNC_VISIBILITY aclError acltdtAppendBufChain(acltdtBuf headBuf, acltdtBuf buf);

/**
* @ingroup AscendCL
* @brief get acltdtBuf chain total size
*
* @param headBuf [IN] acltdtBuf chain head
* @param num [OUT] acltdtBuf chain total size
*
* @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure
*
* @see acltdtAppendBufChain
*/
ACL_FUNC_VISIBILITY aclError acltdtGetBufChainNum(acltdtBuf headBuf, uint32_t *num);

/**
* @ingroup AscendCL
* @brief get acltdtBuf from acltdtBuf chain by index
*
* @param headBuf [IN] acltdtBuf chain head
* @param index [IN] the index which is smaller than num acquired from acltdtGetBufChainNum
* @param buf [OUT] the acltdtBuf from acltdtBuf on index
*
* @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure
*
* @see acltdtAppendBufChain acltdtGetBufChainNum
*/
ACL_FUNC_VISIBILITY aclError acltdtGetBufFromChain(acltdtBuf headBuf, uint32_t index, acltdtBuf *buf);

/**
* @ingroup AscendCL
* @brief get private data buf address and size
*
* @param buf [IN] acltdtBuf
@@ -522,4 +597,4 @@ ACL_FUNC_VISIBILITY aclError acltdtSetQueueRouteQueryInfo(acltdtQueueRouteQueryI
}
#endif

#endif // INC_EXTERNAL_ACL_ACL_TDT_QUEUE_H_
#endif // INC_EXTERNAL_ACL_ACL_TDT_QUEUE_H_

+ 31
- 0
inc/external/ge/ge_api.h View File

@@ -23,6 +23,7 @@

#include "ge/ge_api_error_codes.h"
#include "ge/ge_api_types.h"
#include "ge/ge_data_flow_api.h"
#include "graph/graph.h"
#include "graph/tensor.h"

@@ -193,6 +194,36 @@ class GE_FUNC_VISIBILITY Session {

uint64_t GetSessionId() const;

/// @ingroup ge_graph
/// @brief Feed input data to graph.
/// @param [in] graph_id graph id
/// @param [in] inputs input data
/// @param [in] info intput data flow flag
/// @param [in] timeout data feed timeout(ms), -1 means never timeout
/// @return Status result of function
Status FeedDataFlowGraph(uint32_t graph_id, const std::vector<Tensor> &inputs, const DataFlowInfo &info,
int32_t timeout);

/// @ingroup ge_graph
/// @brief Fetch graph output data in order.
/// @param [in] graph_id graph id
/// @param [out] outputs output data
/// @param [out] info output data flow flag
/// @param [in] timeout data fetch timeout(ms), -1 means never timeout
/// @return Status result of function
Status FetchDataFlowGraph(uint32_t graph_id, std::vector<Tensor> &outputs, DataFlowInfo &info, int32_t timeout);

/// @ingroup ge_graph
/// @brief Fetch graph output data in order.
/// @param [in] graph_id graph id
/// @param [in] indexes fetch output data order(index cannot be duplicated)
/// @param [out] outputs output data
/// @param [out] info output data flow flag
/// @param [in] timeout data ftech timeout(ms), -1 means never timeout
/// @return Status result of function
Status FetchDataFlowGraph(uint32_t graph_id, const std::vector<uint32_t> &indexes, std::vector<Tensor> &outputs,
DataFlowInfo &info, int32_t timeout);

private:
uint64_t sessionId_;
};


+ 2
- 2
inc/external/ge/ge_api_error_codes.h View File

@@ -36,9 +36,9 @@
(static_cast<uint32_t>(0xFFU & (static_cast<uint32_t>(sysid))) << 17U) | \
(static_cast<uint32_t>(0xFFU & (static_cast<uint32_t>(modid))) << 12U) | \
(static_cast<uint32_t>(0x0FFFU) & (static_cast<uint32_t>(value))); \
const ErrorNoRegisterar g_errorno_##name((name), (desc));
const ErrorNoRegisterar g_errorno_##name((name), (desc))

#define GE_ERRORNO_EXTERNAL(name, desc) const ErrorNoRegisterar g_errorno_##name((name), (desc));
#define GE_ERRORNO_EXTERNAL(name, desc) const ErrorNoRegisterar g_errorno_##name((name), (desc))

namespace ge {
class GE_FUNC_VISIBILITY StatusFactory {


+ 12
- 14
inc/external/ge/ge_api_types.h View File

@@ -30,9 +30,6 @@ namespace ge {
// Option key: graph run mode
const char_t *const OPTION_GRAPH_RUN_MODE = "ge.graphRunMode";
const char_t *const OPTION_DEVICE_TYPE = "ge.deviceType";
// Option key: topo sorting mode
const char *const OPTION_TOPO_SORTING_MODE = "ge.topoSortingMode";

// Option key: ome init
const char_t *const OPTION_EXEC_SESSION_ID = "ge.exec.sessionId";
const char_t *const OPTION_EXEC_DEVICE_ID = "ge.exec.deviceId";
@@ -43,6 +40,9 @@ const char_t *const OPTION_EXEC_RANK_ID = "ge.exec.rankId";
const char_t *const OPTION_EXEC_POD_NAME = "ge.exec.podName";
const char_t *const OPTION_EXEC_DEPLOY_MODE = "ge.exec.deployMode";
const char_t *const OPTION_EXEC_RANK_TABLE_FILE = "ge.exec.rankTableFile";
const char_t *const OPTION_EXEC_RANK_TABLE = "ge.exec.rankTable";
const char_t *const OPTION_EXEC_HCOM_GROUPLIST = "ge.exec.hcomGrouplist";
const char_t *const OPTION_EXEC_HCOM_RANK_MAPPING = "ge.exec.hcomRankMapping";
const char_t *const GE_AICPU_FLAG = "ge.aicpuFlag";
const char_t *const OPTION_EXEC_EXTERN_PLUGIN_PATH = "ge.soLoadPath";
// Dump flag and para
@@ -82,9 +82,12 @@ const char_t *const VARIABLE_MEMORY_MAX_SIZE = "ge.variableMemoryMaxSize";
const char_t *const OPTION_EXEC_REUSE_ZERO_COPY_MEMORY = "ge.exec.reuseZeroCopyMemory";

const std::string ATOMIC_CLEAN_POLICY = "ge.exec.atomicCleanPolicy";
const std::string ATOMIC_CLEAN_POLICY_SUB = "atomic_clean_policy";

const char_t *const OPTION_EXEC_LOGICAL_DEVICE_CLUSTER_DEPLOY_MODE = "ge.exec.logicalDeviceClusterDeployMode";
const char_t *const OPTION_EXEC_LOGICAL_DEVICE_ID = "ge.exec.logicalDeviceId";
const char_t *const OPTION_EXEC_MODEL_DEPLOY_MODE = "ge.exec.modelDeployMode";
const char_t *const OPTION_EXEC_MODEL_DEPLOY_DEVICELIST = "ge.exec.modelDeployDevicelist";

namespace configure_option {
const char_t *const STREAM_NUM = "ge.streamNum";
@@ -134,6 +137,8 @@ const char_t *const OP_PRECISION_MODE = "ge.exec.op_precision_mode";
const char_t *const CUSTOMIZE_DTYPES = "ge.customizeDtypes";
const char_t *const COMPRESSION_OPTIMIZE_CONF = "ge.compressionOptimizeConf";
const char_t *const OP_DEBUG_CONFIG = "op_debug_config";
const char_t *const ATOMIC_CLEAN_POLICY = "ge.exec.atomicCleanPolicy";
const char_t *const ATOMIC_CLEAN_POLICY_SUB = "atomic_clean_policy";
} // namespace configure_option
// Configure stream num by Session constructor options param,
// its value should be int32_t type, default value is "1"
@@ -389,18 +394,8 @@ const std::string OP_EXECUTE_TIMEOUT = "ge.exec.opExecuteTimeout";

const char_t *const FILE_CONSTANT_PATH = "ge.exec.value_bins";

const char_t *const ENABLE_GRAPH_PARALLEL = "ge.enableGraphParallel";

const char_t *const RESOURCE_CONFIG_PATH = "ge.resourceConfigPath";

const std::string RECOMPUTE = "ge.recompute";

const char_t *const GRAPH_PARALLEL_OPTION_PATH = "ge.graphParallelOptionPath";

// Graph run mode
enum GraphRunMode { PREDICTION = 0, TRAIN };
// Topo sorting mode
enum class TopoSortingMode { BFS = 0, DFS = 1 };
// Input/Output tensor info
struct InputTensorInfo {
uint32_t data_type; // data type
@@ -486,6 +481,8 @@ static const char_t *const CUSTOMIZE_DTYPES = "ge.customizeDtypes";
static const char_t *const COMPRESSION_OPTIMIZE_CONF = "ge.compressionOptimizeConf";
static const char_t *const INPUT_DATA_NAMES = "input_data_names";
static const char_t *const OP_DEBUG_CONFIG = "op_debug_config";
static const char_t *const ATOMIC_CLEAN_POLICY = "ge.exec.atomicCleanPolicy";
static const char_t *const ATOMIC_CLEAN_POLICY_SUB = "atomic_clean_policy";

// for interface: aclgrphBuildModel
#ifdef __GNUC__
@@ -518,7 +515,8 @@ const std::set<std::string> ir_builder_suppported_options = {INPUT_FORMAT,
MODIFY_MIXLIST,
CUSTOMIZE_DTYPES,
BUILD_INNER_MODEL,
OP_DEBUG_CONFIG};
OP_DEBUG_CONFIG,
EXCLUDE_ENGINES};

// for interface: aclgrphParse
const std::set<std::string> ir_parser_suppported_options = {


+ 60
- 0
inc/external/ge/ge_data_flow_api.h View File

@@ -0,0 +1,60 @@
/**
* Copyright 2019-2022 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#ifndef INC_EXTERNAL_GE_GE_DATA_FLOW_API_H
#define INC_EXTERNAL_GE_GE_DATA_FLOW_API_H
#include <memory>
#include "ge_error_codes.h"

namespace ge {
enum class DataFlowFlag : uint32_t {
DATA_FLOW_FLAG_EOS = (1U << 0U), // data flag end
DATA_FLOW_FLAG_SEG = (1U << 1U) // segment flag for discontinuous
};

class DataFlowInfoImpl;
class GE_FUNC_VISIBILITY DataFlowInfo {
public:
DataFlowInfo();
~DataFlowInfo();

DataFlowInfo(const DataFlowInfo &context) = delete;
DataFlowInfo(const DataFlowInfo &&context) = delete;
DataFlowInfo &operator=(const DataFlowInfo &context) = delete;
DataFlowInfo &operator=(const DataFlowInfo &&context) = delete;

void SetStartTime(const uint64_t start_time);
uint64_t GetStartTime() const;

void SetEndTime(const uint64_t end_time);
uint64_t GetEndTime() const;

/**
* @brief Set the Flow Flags object.
* @param flow_flags can use operate | to merge multi DataFlowFla to flags.
*/
void SetFlowFlags(const uint32_t flow_flags);
/**
* @brief Get the Flow Flags object.
* @return uint32_t flow flags, can use operate & with DataFlowFlag to check which bit is set.
*/
uint32_t GetFlowFlags() const;

private:
std::shared_ptr<DataFlowInfoImpl> impl_;
};
} // namespace ge
#endif // INC_EXTERNAL_GE_GE_DATA_FLOW_API_H

+ 10
- 14
inc/external/hccl/hccl.h View File

@@ -14,11 +14,6 @@
* limitations under the License.
*/

/**
* @file hccl.h
* @brief HCCL API
*/

#ifndef HCCL_H_
#define HCCL_H_

@@ -66,8 +61,8 @@ extern HcclResult HcclCommInitRootInfo(uint32_t nRanks, const HcclRootInfo *root
* @param sendBuf A pointer identifying the input data address of the operator.
* @param recvBuf A pointer identifying the output data address of the operator.
* @param count An integer(u64) identifying the number of the output data.
* @param dataType The data type of the operator, must be one of the following types: int8, int16, int32, float16,
* float32.
* @param dataType The data type of the operator, must be one of the following types: int8, int16, int32,
float16, float32, bfloat16.
* @param op The reduction type of the operator, must be one of the following types: sum, min, max, prod.
* @param comm A pointer identifying the communication resource based on.
* @param stream A pointer identifying the stream information.
@@ -82,7 +77,7 @@ extern HcclResult HcclAllReduce(void *sendBuf, void *recvBuf, uint64_t count, Hc
* @param buf A pointer identifying the data address of the operator.
* @param count An integer(u64) identifying the number of the data.
* @param dataType The data type of the operator, must be one of the following types: int8, int16, int32, int64,
uint8, uint16, uint32, uint64, float16, float32, float64.
uint8, uint16, uint32, uint64, float16, float32, float64, bfloat16.
* @param root An integer(u32) identifying the the root rank in the operator.
* @param comm A pointer identifying the communication resource based on
* @param stream A pointer identifying the stream information.
@@ -97,7 +92,8 @@ extern HcclResult HcclBroadcast(void *buf, uint64_t count, HcclDataType dataType
* @param sendBuf A pointer identifying the input data address of the operator.
* @param recvBuf A pointer identifying the output data address of the operator.
* @param recvCount An integer(u64) identifying the number of the output data.
* @param dataType The data type of the operator, must be one of the following types: int8, int32, float16, float32.
* @param dataType The data type of the operator, must be one of the following types: int8, int32,
float16, float32, bfloat16.
* @param op The reduction type of the operator, must be one of the following types: sum, min, max, prod.
* @param comm A pointer identifying the communication resource based on.
* @param stream A pointer identifying the stream information.
@@ -113,7 +109,7 @@ extern HcclResult HcclReduceScatter(void *sendBuf, void *recvBuf, uint64_t recvC
* @param recvBuf A pointer identifying the output data address of the operator.
* @param sendCount An integer(u64) identifying the number of the input data.
* @param dataType The data type of the operator, must be one of the following types: int8, int16, int32, int64,
uint8, uint16, uint32, uint64, float16, float32, float64.
uint8, uint16, uint32, uint64, float16, float32, float64, bfloat16.
* @param comm A pointer identifying the communication resource based on.
* @param stream A pointer identifying the stream information.
* @return HcclResult
@@ -152,7 +148,7 @@ extern HcclResult HcclBarrier(HcclComm comm, aclrtStream stream);
* @param sendBuff A pointer identifying the input data address of the operator.
* @param count An integer(u64) identifying the number of the send data.
* @param dataType The data type of the operator, must be one of the following types: int8, int16, int32, int64,
uint8, uint16, uint32, uint64, float16, float32, float64.
uint8, uint16, uint32, uint64, float16, float32, float64, bfloat16.
* @param destRank An integer identifying the destination rank.
* @param comm A pointer identifying the communication resource based on.
* @param stream A pointer identifying the stream information.
@@ -166,7 +162,7 @@ extern HcclResult HcclSend(void *sendBuf, uint64_t count, HcclDataType dataType,
* @param recvBuff A pointer identifying the output data address of the operator.
* @param count An integer(u64) identifying the number of the receive data.
* @param dataType The data type of the operator, must be one of the following types: int8, int16, int32, int64,
uint8, uint16, uint32, uint64, float16, float32, float64.
uint8, uint16, uint32, uint64, float16, float32, float64, bfloat16.
* @param srcRank An integer identifying the source rank.
* @param comm A pointer identifying the communication resource based on.
* @param stream A pointer identifying the stream information.
@@ -183,7 +179,7 @@ extern HcclResult HcclRecv(void *recvBuf, uint64_t count, HcclDataType dataType,
* @param sdispls Integer array, where entry i specifies the displacement (offset from sendbuf, in units of sendtype)
from which to send data to rank i.
* @param sendType Datatype of send buffer elements, must be one of the following types: int8, int16, int32, int64,
uint8, uint16, uint32, uint64, float16, float32, float64.
uint8, uint16, uint32, uint64, float16, float32, float64, bfloat16.
* @param recvBuf A pointer identifying the output data address of the operator.
* @param recvCounts Integer array, where entry j specifies the number of elements to receive from rank j.
* @param rdispls Integer array, where entry j specifies the displacement (offset from recvbuf, in units of recvtype) to
@@ -206,7 +202,7 @@ extern HcclResult HcclAlltoAllV(const void *sendBuf, const void *sendCounts, con
* @param recvBuf A pointer identifying the output data address of the operator.
* @param count An integer(u64) identifying the number of the output data.
* @param dataType The data type of the operator, must be one of the following types: int8, int16, int32, float16,
* float32.
* float32, bfloat16.
* @param op The reduction type of the operator, must be one of the following types: sum, min, max, prod.
* @param root An integer(u32) identifying the the root rank in the operator.
* @param comm A pointer identifying the communication resource based on.


+ 0
- 6
inc/external/hccl/hccl_types.h View File

@@ -14,12 +14,6 @@
* limitations under the License.
*/

/**
* @file hccl_types.h
* @brief HCCL data type definition
*
*/

#ifndef HCCL_TYPES_H_
#define HCCL_TYPES_H_



+ 4
- 0
inc/framework/common/debug/ge_log.h View File

@@ -35,6 +35,7 @@ extern "C" {
#endif

#define GE_MODULE_NAME static_cast<int32_t>(GE)
#define GE_MODULE_NAME_U16 static_cast<uint16_t>(GE)

// trace status of log
enum TraceStatus { TRACE_INIT = 0, TRACE_RUNNING, TRACE_WAITING, TRACE_STOP };
@@ -89,6 +90,9 @@ inline bool IsLogEnable(const int32_t module_name, const int32_t log_level) {
do { \
dlog_event((RUN_LOG_MASK | GE_MODULE_NAME), "%" PRIu64 " %s:" fmt, GeLog::GetTid(), &__FUNCTION__[0], \
##__VA_ARGS__); \
if (IsLogEnable(GE_MODULE_NAME, DLOG_INFO)) { \
dlog_info(GE_MODULE_NAME, "%" PRIu64 " %s:" fmt, GeLog::GetTid(), &__FUNCTION__[0], ##__VA_ARGS__); \
} \
} while (false)

#define GELOGT(VALUE, fmt, ...) \


+ 12
- 2
inc/framework/common/debug/log.h View File

@@ -110,6 +110,16 @@
} \
} while (false)

// If expr is true, print info log and return the specified status
#define GE_CHK_BOOL_RET_SPECIAL_STATUS(expr, _status, ...) \
do { \
const bool b = (expr); \
if (b) { \
GELOGI(__VA_ARGS__); \
return (_status); \
} \
} while (false)

// If expr is not true, print the log and return the specified status
#define GE_CHK_BOOL_RET_STATUS_NOLOG(expr, _status, ...) \
do { \
@@ -141,13 +151,13 @@

// If expr is not RT_ERROR_NONE, print the log and execute the exec_expr expression
#define GE_CHK_RT_EXEC(expr, exec_expr) \
do { \
{ \
const rtError_t _rt_ret = (expr); \
if (_rt_ret != RT_ERROR_NONE) { \
GELOGE(ge::RT_FAILED, "Call rt api failed, ret: 0x%X", _rt_ret); \
exec_expr; \
} \
} while (false)
}

// If expr is not RT_ERROR_NONE, print the log and return
#define GE_CHK_RT_RET(expr) \


+ 25
- 1
inc/framework/common/ge_types.h View File

@@ -67,7 +67,10 @@ const char_t *const GE_OPTION_EXEC_PLACEMENT = "ge.exec.placement";
// profiling data

const std::string kTaskTypeAicore = "AI_CORE";
const std::string kTaskTypeMixAic = "MIX_AIC";
const std::string kTaskTypeMixAiv = "MIX_AIV";
const std::string kTaskTypeAicpu = "AI_CPU";
const std::string kTaskTypeDsa = "DSA";
const std::string kTaskTypeWriteBackData = "WRITE_BACK";
const std::string kTaskTypeInvalidData = "INVALID";
const std::string kTaskTypeInvalid = "TASK_TYPE_INVALID";
@@ -81,8 +84,11 @@ const std::string kEngineNameGeLocal = "DNN_VM_GE_LOCAL_OP_STORE";
const std::string kEngineNameAiCpu = "aicpu_ascend_kernel";
const std::string kEngineNameAiCpuTf = "aicpu_tf_kernel";
const std::string kEngineNameAiCore = "AIcoreEngine";
const std::string kEngineNameDvpp = "dvpp_ops_kernel";
const std::string kEngineNameDsa = "DSAEngine";
const std::string kAtomicOpType = "DynamicAtomicAddrClean";

const char_t *const kAICpuKernelLibName = "aicpu_kernel_lib_name";
const char *const kPartiallySupported = "partially_supported";
const std::string kShapeTypeStatic = "static";
const std::string kShapeTypeDynamic = "dynamic";
const std::string kAtomicPrefix = "_atomic";
@@ -387,5 +393,23 @@ struct ModelQueueParam {
// internal options
// 1: Graph resource evaluation does not limit model memory size.
const char_t *const EVALUATE_GRAPH_RESOURCE_MODE = "ge.evaluateGraphResourceMode";

// 2: Enable graph parallel options
const char_t *const ENABLE_GRAPH_PARALLEL = "ge.enableGraphParallel";

// 3: Config all resource and device mesh
const char_t *const RESOURCE_CONFIG_PATH = "ge.resourceConfigPath";

// 4: Config graph parallel options path(should specific file name)
const char_t *const GRAPH_PARALLEL_OPTION_PATH = "ge.graphParallelOptionPath";

// 5: auto recompute attribute
const char_t *const RECOMPUTE = "ge.recompute";

// 6: Topological Sorting Mode
const char_t *const OPTION_TOPOSORTING_MODE = "ge.topoSortingMode";
const std::set<std::string> ir_builder_suppported_options_inner = {
EVALUATE_GRAPH_RESOURCE_MODE, ENABLE_GRAPH_PARALLEL, RESOURCE_CONFIG_PATH, GRAPH_PARALLEL_OPTION_PATH, RECOMPUTE,
OPTION_TOPOSORTING_MODE};
} // namespace ge
#endif // INC_FRAMEWORK_COMMON_GE_TYPES_H_

+ 1
- 0
inc/framework/common/taskdown_common.h View File

@@ -46,6 +46,7 @@ enum class ccKernelType {
AI_CPU = 6, /* aicpu */
CUST_AI_CPU = 7, /* custom aicpu */
HOST_CPU = 8, /* host cpu */
DVPP = 9, /* dvpp */
INVALID = 10000 /* unknown kernel type */
};



+ 0
- 5
inc/framework/common/util.h View File

@@ -222,12 +222,10 @@ namespace ge {
*/
constexpr int32_t OM_PROTO_VERSION = 2;

///
/// @ingroup domi_common
/// @brief onverts Vector of a number to a string.
/// @param [in] v Vector of a number
/// @return string
///
template <typename T>
GE_FUNC_VISIBILITY std::string ToString(const std::vector<T> &v) {
bool first = true;
@@ -277,12 +275,9 @@ GE_FUNC_VISIBILITY std::string CurrentTimeInStr();
/// @return Timestamp, in microseconds (US)
GE_FUNC_VISIBILITY uint64_t GetCurrentTimestamp();

///
/// @ingroup domi_common
/// @brief Obtains the absolute time (timestamp) of the current system.
/// @return Timestamp, in seconds (US)
///
///
GE_FUNC_VISIBILITY uint32_t GetCurrentSecondTimestap();

/// @ingroup domi_common


+ 1
- 1
inc/framework/executor/ge_executor.h View File

@@ -236,7 +236,7 @@ class GE_FUNC_VISIBILITY GeExecutor {
/// @return: 0 for success / others for fail
///
Status LoadModelWithQ(uint32_t &model_id, const std::shared_ptr<GeRootModel> &root_model,
const ModelQueueParam &model_queue_param);
const ModelQueueParam &model_queue_param) const;

///
/// @ingroup ge


+ 7
- 4
inc/framework/generator/ge_generator.h View File

@@ -109,8 +109,7 @@ class GE_FUNC_VISIBILITY GeGenerator {
Graph &graph, std::vector<std::pair<std::string, std::string>> &inputs_name_type) const;
Status BuildOriginalGraphInfo(OpDescPtr &op_desc, const std::vector<GeTensor> &inputs,
const std::vector<GeTensor> &outputs, const std::string &model_file_name,
bool is_offline, int32_t compile_flag, GraphStage graph_stage, Graph &graph,
ComputeGraphPtr &compute_graph, bool &fuzz_compile_flag,
bool is_offline, GraphStage graph_stage, Graph &graph, ComputeGraphPtr &compute_graph,
std::vector<std::pair<std::string, std::string>> &inputs_name_type);

private:
@@ -125,7 +124,7 @@ class GE_FUNC_VISIBILITY GeGenerator {
Status CheckForSingleOp(const OpDescPtr &op_desc, const std::vector<GeTensor> &inputs,
const std::vector<GeTensor> &outputs) const;
Status InferFormatForSingleOp(const OpDescPtr &op_desc, const Graph &graph) const;
Status ResetAiCpuToDynamicShape(const ComputeGraphPtr &graph);
Status ResetAiCpuToDynamicShape(const ComputeGraphPtr &graph) const;

using GeRootModelPtr = std::shared_ptr<ge::GeRootModel>;
Status SetModelNameForDump(const GeRootModelPtr &ge_root_model);
@@ -133,9 +132,13 @@ class GE_FUNC_VISIBILITY GeGenerator {
const std::vector<GeTensor> &outputs,
const std::vector<std::pair<std::string, std::string>> &inputs_name_type,
std::vector<ge::NamedAttrs> &generalized_build_attrs) const;
void AddExcludeEnginesOption(const OpDescPtr &op_desc, std::map<std::string, std::string> &graph_options) const;
void AddShapeGeneralizedOption(std::map<std::string, std::string> &graph_options);
void SetFuzzCompile(const std::vector<GeTensor> &inputs, int32_t compile_flag);
bool IsFuzzCompileEnable();
void ConvertOpInfosToOptions(const OpDescPtr &op_desc);

class Impl;

std::shared_ptr<Impl> impl_;
};
} // namespace ge


+ 412
- 412
inc/framework/omg/parser/parser_types.h View File

@@ -14,8 +14,8 @@
* limitations under the License.
*/

#ifndef PARSER_COMMON_TYPES_H_
#define PARSER_COMMON_TYPES_H_
#ifndef INC_FRAMEWORK_OMG_PARSER_TYPES_H_
#define INC_FRAMEWORK_OMG_PARSER_TYPES_H_

#include <cstdint>
#include <string>
@@ -41,428 +41,428 @@

namespace ge {
namespace parser {
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DATA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *AIPPDATA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONVOLUTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CORRELATION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CORRELATIONV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DECONVOLUTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *POOLING;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ELTWISE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RELU;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RELU6;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SIGMOID;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ABSVAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *TANH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PRELU;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *BATCHNORM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FUSIONBATCHNORM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SCALE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FULL_CONNECTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SOFTMAX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PLUS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ACTIVATION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FLATTEN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ADD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SUB;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MUL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MATMUL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RSQRT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *BIASADD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RESHAPE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REFORMAT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DEPCONVOLUTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DROPOUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DROPOUTGENMASK;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DROPOUTDOMASK;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONCAT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ROIPOOLING;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PROPOSAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FSRDETECTIONOUTPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DETECTIONPOSTPROCESS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LRN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *TRANSDATA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PERMUTE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SSDNORMALIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SSDPRIORBOX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *NETOUTPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SSDDETECTIONOUTPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REFINEDETDETECTIONOUTPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CHANNELAXPY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PSROIPOOLING;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *POWER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *POW;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ROIALIGN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PYTHON;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FREESPACEEXTRACT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SPATIALTF;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SHAPE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SHAPEN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ARGMAX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *GATHERND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *GATHER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REALDIV;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PACK;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SLICE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SLICED;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FLOORDIV;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SQUEEZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *UNSQUEEZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *STRIDEDSLICE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RANGE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RPNPROPOSALS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DECODEBBOX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PADV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MIRRORPAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *TILE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CLIPBOXES;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FASTRCNNPREDICTIONS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SPLIT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SPLITV;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *EXPANDDIMS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *EMPTY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MEAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *GREATER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SWITCH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SWITCHN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MERGE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SYMBOLICGRADIENT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REMOTECALL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *_IF;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *STATELESSIF;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *IF;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CASE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *STATELESSCASE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *_WHILE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *WHILE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *STATELESSWHILE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PARTITIONEDCALL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *STATEFULPARTITIONEDCALL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FAKEPARAM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *TRANSPOSE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *TRANSPOSED;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CAST;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REGION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *YOLO;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *YOLODETECTIONOUTPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FILL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REVERSE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *UNPACK;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *YOLO2REORG;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REDUCESUM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SUM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONSTANT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FILECONSTANT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RESIZEBILINEAR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RESIZEBILINEARGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MAXIMUM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FRAMEWORKOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ARG;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FUSEDBATCHNORMGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LSTM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HIGHWAY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RNN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ATTENTIONDECODER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LOGICAL_NOT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LOGICAL_AND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LOGICAL_OR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *EQUAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *NOTEQUAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *INTERP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SHUFFLECHANNEL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *AIPP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MULTISHAPE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RECIPROCAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SELU;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ELU;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ACOSH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ASINH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MINIMUM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CLIP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *L2NORMALIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CROPANDRESIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *UNUSEDCONST;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SPARSETODENSE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *NONMAXSUPPRESSION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *TOPKV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *INVERTPERMUTATION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MULTINOMIAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REVERSESEQUENCE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REDUCEPROD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REDUCEMAX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REDUCEMIN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *EXTRACTIMAGEPATCHES;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SQRT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REDUCEALL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RESIZENEARESTNEIGHBOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SPACETOBATCHND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *BATCHTOSPACEND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ASSERT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *GREATEREQUAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FLOOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RANDOMUNIFORM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *BATCHMATMUL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SPACETODEPTH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DEPTHTOSPACE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RINT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ATAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ATAN2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ATANH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ACOS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ASIN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *NEG;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LOG;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *TAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ROUND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *UPSAMPLE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FLOORMOD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LESS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LESSEQUAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ONEHOT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REFSWITCH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REFMERGE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ENTER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REFENTER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LOOPCOND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *NEXTITERATION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REFNEXTITERATION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *EXIT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REFEXIT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONTROLTRIGGER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ZEROSLIKE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *EXP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *WHERE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FAKEQUANTWITHMINMAXVARS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SOFTPLUS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SOFTSIGN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *COSH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SINH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SQUAREDDIFFERENCE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DATA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const AIPPDATA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONVOLUTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CORRELATION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CORRELATIONV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DECONVOLUTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const POOLING;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ELTWISE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RELU;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RELU6;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SIGMOID;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ABSVAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const TANH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PRELU;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const BATCHNORM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FUSIONBATCHNORM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SCALE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FULL_CONNECTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SOFTMAX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PLUS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ACTIVATION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FLATTEN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ADD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SUB;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MUL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MATMUL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RSQRT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const BIASADD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RESHAPE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REFORMAT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DEPCONVOLUTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DROPOUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DROPOUTGENMASK;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DROPOUTDOMASK;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONCAT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ROIPOOLING;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PROPOSAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FSRDETECTIONOUTPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DETECTIONPOSTPROCESS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LRN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const TRANSDATA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PERMUTE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SSDNORMALIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SSDPRIORBOX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const NETOUTPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SSDDETECTIONOUTPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REFINEDETDETECTIONOUTPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CHANNELAXPY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PSROIPOOLING;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const POWER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const POW;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ROIALIGN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PYTHON;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FREESPACEEXTRACT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SPATIALTF;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SHAPE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SHAPEN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ARGMAX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const GATHERND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const GATHER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REALDIV;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PACK;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SLICE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SLICED;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FLOORDIV;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SQUEEZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const UNSQUEEZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const STRIDEDSLICE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RANGE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RPNPROPOSALS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DECODEBBOX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PADV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MIRRORPAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const TILE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CLIPBOXES;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FASTRCNNPREDICTIONS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SPLIT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SPLITV;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const EXPANDDIMS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const EMPTY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MEAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const GREATER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SWITCH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SWITCHN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MERGE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SYMBOLICGRADIENT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REMOTECALL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const _IF;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const STATELESSIF;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const IF;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CASE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const STATELESSCASE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const _WHILE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const WHILE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const STATELESSWHILE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PARTITIONEDCALL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const STATEFULPARTITIONEDCALL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FAKEPARAM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const TRANSPOSE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const TRANSPOSED;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CAST;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REGION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const YOLO;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const YOLODETECTIONOUTPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FILL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REVERSE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const UNPACK;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const YOLO2REORG;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REDUCESUM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SUM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONSTANT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FILECONSTANT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RESIZEBILINEAR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RESIZEBILINEARGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MAXIMUM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FRAMEWORKOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ARG;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FUSEDBATCHNORMGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LSTM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HIGHWAY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RNN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ATTENTIONDECODER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LOGICAL_NOT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LOGICAL_AND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LOGICAL_OR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const EQUAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const NOTEQUAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const INTERP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SHUFFLECHANNEL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const AIPP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MULTISHAPE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RECIPROCAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SELU;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ELU;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ACOSH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ASINH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MINIMUM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CLIP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const L2NORMALIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CROPANDRESIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const UNUSEDCONST;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SPARSETODENSE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const NONMAXSUPPRESSION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const TOPKV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const INVERTPERMUTATION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MULTINOMIAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REVERSESEQUENCE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REDUCEPROD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REDUCEMAX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REDUCEMIN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const EXTRACTIMAGEPATCHES;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SQRT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REDUCEALL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RESIZENEARESTNEIGHBOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SPACETOBATCHND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const BATCHTOSPACEND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ASSERT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const GREATEREQUAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FLOOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RANDOMUNIFORM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const BATCHMATMUL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SPACETODEPTH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DEPTHTOSPACE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RINT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ATAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ATAN2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ATANH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ACOS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ASIN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const NEG;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LOG;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const TAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ROUND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const UPSAMPLE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FLOORMOD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LESS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LESSEQUAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ONEHOT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REFSWITCH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REFMERGE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ENTER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REFENTER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LOOPCOND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const NEXTITERATION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REFNEXTITERATION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const EXIT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REFEXIT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONTROLTRIGGER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ZEROSLIKE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const EXP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const WHERE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FAKEQUANTWITHMINMAXVARS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SOFTPLUS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SOFTSIGN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const COSH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SINH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SQUAREDDIFFERENCE;
// for retinanet scope fusion
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REQUIREDSPACETOBATCHPADDINGS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SSDPOSTPROCESSOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RETINANETBOXES;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RETINAMULTIANCHORS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RETINANETCLIPPEDBOXES;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RETINANETFILTEREDDETECTIONS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RETINANETPOSTPROCESSOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RETINANETANCHORS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FASTERRCNNMAP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FASTERRCNNMAP1;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FASTERRCNNSECONDSTAGEPOSTPROCESSOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FASTERRCNNROIINTERPOOLING;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FASTERRCNNFIRSTSTAGEPOSTPROCESSOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FASTERRCNNGRIDANCHORGENERATOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ROIINTERPOOLING;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FASTERRCNNCLIPTOWINDOW;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *EMBEDLOOKUP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HASHLOOKUP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LSH_PROJ;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SVDF;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SSDANCHORGENERATOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *IDENTITY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *IDENTITYN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PLACEHOLDERWITHDEFAULT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SELECT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *GETSPAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *STOPGRADIENT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PREVENTGRADIENT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *GUARANTEECONST;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *BROADCASTGRADIENTARGS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *BROADCASTARGS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONFUSIONMATRIX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RANK;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PLACEHOLDER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *END;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *BASICLSTMCELL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *GETNEXT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *INITDATA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REFIDENTITY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *BITCAST;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REQUIREDSPACETOBATCHPADDINGS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SSDPOSTPROCESSOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RETINANETBOXES;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RETINAMULTIANCHORS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RETINANETCLIPPEDBOXES;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RETINANETFILTEREDDETECTIONS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RETINANETPOSTPROCESSOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RETINANETANCHORS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FASTERRCNNMAP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FASTERRCNNMAP1;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FASTERRCNNSECONDSTAGEPOSTPROCESSOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FASTERRCNNROIINTERPOOLING;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FASTERRCNNFIRSTSTAGEPOSTPROCESSOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FASTERRCNNGRIDANCHORGENERATOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ROIINTERPOOLING;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FASTERRCNNCLIPTOWINDOW;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const EMBEDLOOKUP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HASHLOOKUP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LSH_PROJ;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SVDF;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SSDANCHORGENERATOR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const IDENTITY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const IDENTITYN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PLACEHOLDERWITHDEFAULT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SELECT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const GETSPAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const STOPGRADIENT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PREVENTGRADIENT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const GUARANTEECONST;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const BROADCASTGRADIENTARGS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const BROADCASTARGS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONFUSIONMATRIX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RANK;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PLACEHOLDER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const END;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const BASICLSTMCELL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const GETNEXT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const INITDATA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REFIDENTITY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const BITCAST;

/***************Ann special operator*************************/
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_MEAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_CONVOLUTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_DEPCONVOLUTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_FULLCONNECTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_NETOUTPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_DATA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_RESHAPE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_ADD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_MUL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_SUB;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_DIV;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_DEQUANTIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_QUANTIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_PAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANN_RESIZE_BILINEAR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_MEAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_CONVOLUTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_DEPCONVOLUTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_FULLCONNECTION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_NETOUTPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_DATA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_RESHAPE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_ADD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_MUL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_SUB;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_DIV;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_DEQUANTIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_QUANTIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_PAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANN_RESIZE_BILINEAR;

/***************************************************/
/******************Training operator*************************/
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *GATHERV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONVGRADFILTER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONV2D;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONV2DBACKPROPINPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FUSEDBATCHNORM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *BIASADDGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ACTIVATIONGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MAXPOOLWITHARGMAX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MAXPOOLGRADWITHARGMAX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SPARSESOFTMAXCROSSENTROPYWITHLOGITS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SNAPSHOT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *VAR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MEANGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *TRANSLATE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ADDN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *L2LOSS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MULTIPLY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HUBERLOSSGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HUBERLOSS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *NEGATIVE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SSDCAST;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SPARSESOFTMAXCROSSENTROPY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SPARSESOFTMAXCROSSENTROPYGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SSDSQUEEZEFUSION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONCATFOUR2FIVE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONCATFIVE2FOUR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SSDREALDIVTILEMUL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SSDSUMMULREALDIVMEAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *VARIABLEV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *VARHANDLEOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *TEMPORARYVARIABLE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DESTROYTEMPORARYVARIABLE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *VARIABLE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ASSIGN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ASSIGNVARIABLEOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ASSIGNADD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ASSIGNADDVARIABLEOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ASSIGNSUB;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ASSIGNSUBVARIABLEOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYMOMENTUM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RESOURCEAPPLYMOMENTUM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SGD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *NOOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *READVARIABLEOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *PARALLELCONCATSTART;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONSTANTOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DEPTHWISECONV2DBACKPROPFILTER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DEPTHWISECONV2DBACKPORPINPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DEPTHWISECONV2DFORWARDNATIVE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DROPOUTGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYRMSPROPMIXEDPRECISION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYRMSPROP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RELU6GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *AVGPOOLGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONCATV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONCATOFFSET;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LAYERNORMGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LAYERNORM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LARS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DYNAMICSTITCH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const GATHERV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONVGRADFILTER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONV2D;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONV2DBACKPROPINPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FUSEDBATCHNORM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const BIASADDGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ACTIVATIONGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MAXPOOLWITHARGMAX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MAXPOOLGRADWITHARGMAX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SPARSESOFTMAXCROSSENTROPYWITHLOGITS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SNAPSHOT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const VAR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MEANGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const TRANSLATE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ADDN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const L2LOSS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MULTIPLY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HUBERLOSSGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HUBERLOSS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const NEGATIVE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SSDCAST;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SPARSESOFTMAXCROSSENTROPY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SPARSESOFTMAXCROSSENTROPYGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SSDSQUEEZEFUSION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONCATFOUR2FIVE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONCATFIVE2FOUR;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SSDREALDIVTILEMUL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SSDSUMMULREALDIVMEAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const VARIABLEV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const VARHANDLEOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const TEMPORARYVARIABLE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DESTROYTEMPORARYVARIABLE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const VARIABLE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ASSIGN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ASSIGNVARIABLEOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ASSIGNADD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ASSIGNADDVARIABLEOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ASSIGNSUB;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ASSIGNSUBVARIABLEOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYMOMENTUM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RESOURCEAPPLYMOMENTUM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SGD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const NOOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const READVARIABLEOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const PARALLELCONCATSTART;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONSTANTOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DEPTHWISECONV2DBACKPROPFILTER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DEPTHWISECONV2DBACKPORPINPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DEPTHWISECONV2DFORWARDNATIVE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DROPOUTGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYRMSPROPMIXEDPRECISION;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYRMSPROP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RELU6GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const AVGPOOLGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONCATV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONCATOFFSET;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LAYERNORMGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LAYERNORM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LARS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DYNAMICSTITCH;

/***************************************************/
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SQUARE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HCOMBROADCAST;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HCOMALLGATHER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HCOMALLREDUCE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HCOMREDUCESCATTER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HCOMSEND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HCOMRECEIVE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HCOMREMOTEREAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HCOMREMOTEREFREAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HCOMREMOTEWRITE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HCOMREMOTESCATTERWRITE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *VARASSIGN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *VARISINITIALIZEDOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LogTimeStamp;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ISVARIABLEINITIALIZED;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *STREAMSWITCH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *STREAMSWITCHN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *STREAMACTIVE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MEMCPYASYNC;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *MEMCPYADDRASYNC;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *STREAMMERGE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ENDGRAPH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SEND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *RECV;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ENDOFSEQUENCE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LABELSET;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LABELGOTO;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LABELGOTOEX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LABELSWITCH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *LABELSWITCHBYINDEX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ATOMICADDRCLEAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ABS_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ACCUMULATE_N_V2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ACOS_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ACOSH_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ANY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPROXIMATE_EQUAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ASIN_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ASINH_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ATAN_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *BROADCAST_TO;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ELU_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ADD_V2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DATAFORMATDIMMAP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DATAFORMATVECPERMUTE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *BESSELI0E;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *BESSELI1E;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYADADELTA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYADAGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYADAGRADDA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYADAM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYADAMAX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYADDSIGN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYCENTEREDRMSPROP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYFTRL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYFTRLV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYGRADIENTDESCENT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYPOWERSIGN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYPROXIMALADAGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *APPLYPROXIMALGRADIENTDESCENT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DEQUANTIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FOCAL_LOSS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *FOCAL_LOSS_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SMOOTHL1_LOSS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SMOOTHL1_LOSS_grad;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *REDUCEMEAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CONCAT_V2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *ONEHOT_V2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SLICE_V2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *TILE_V2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SUM_V2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SQUARE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HCOMBROADCAST;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HCOMALLGATHER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HCOMALLREDUCE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HCOMREDUCESCATTER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HCOMSEND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HCOMRECEIVE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HCOMREMOTEREAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HCOMREMOTEREFREAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HCOMREMOTEWRITE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HCOMREMOTESCATTERWRITE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const VARASSIGN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const VARISINITIALIZEDOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LogTimeStamp;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ISVARIABLEINITIALIZED;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const STREAMSWITCH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const STREAMSWITCHN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const STREAMACTIVE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MEMCPYASYNC;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const MEMCPYADDRASYNC;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const STREAMMERGE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ENDGRAPH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SEND;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const RECV;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ENDOFSEQUENCE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LABELSET;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LABELGOTO;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LABELGOTOEX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LABELSWITCH;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const LABELSWITCHBYINDEX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ATOMICADDRCLEAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ABS_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ACCUMULATE_N_V2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ACOS_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ACOSH_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ANY;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPROXIMATE_EQUAL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ASIN_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ASINH_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ATAN_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const BROADCAST_TO;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ELU_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ADD_V2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DATAFORMATDIMMAP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DATAFORMATVECPERMUTE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const BESSELI0E;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const BESSELI1E;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYADADELTA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYADAGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYADAGRADDA;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYADAM;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYADAMAX;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYADDSIGN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYCENTEREDRMSPROP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYFTRL;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYFTRLV2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYGRADIENTDESCENT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYPOWERSIGN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYPROXIMALADAGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const APPLYPROXIMALGRADIENTDESCENT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DEQUANTIZE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FOCAL_LOSS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const FOCAL_LOSS_GRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SMOOTHL1_LOSS;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SMOOTHL1_LOSS_grad;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const REDUCEMEAN;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CONCAT_V2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const ONEHOT_V2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SLICE_V2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const TILE_V2;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SUM_V2;
// Common type when the operator has the same name
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DETECTIONOUTPUT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DETECTIONOUTPUT;
// Custom operator
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CUSTOMOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CUSTOMOP_NCHW;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CUSTOMOP_NHWC;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *CUSTOMOP_NC1HWC0;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CUSTOMOP;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CUSTOMOP_NCHW;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CUSTOMOP_NHWC;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const CUSTOMOP_NC1HWC0;

// Depthwise 4d_2_6d,6d_2_4d
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DEPTHWISEWEIGHT4D26D;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *DEPTHWISEWEIGHT6D24D;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DEPTHWISEWEIGHT4D26D;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const DEPTHWISEWEIGHT6D24D;

FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SQRTGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *SIGMOIDGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SQRTGRAD;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const SIGMOIDGRAD;

FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *TRANSSHAPE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const TRANSSHAPE;

// Horovod operator
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HVDCALLBACKALLREDUCE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HVDCALLBACKALLGATHER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HVDCALLBACKBROADCAST;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *HVDWAIT;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HVDCALLBACKALLREDUCE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HVDCALLBACKALLGATHER;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HVDCALLBACKBROADCAST;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const ge::char_t *const HVDWAIT;

///
/// @brief Magic number of model file
@@ -477,10 +477,10 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const uint32_t MODEL_FIL
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const uint32_t MODEL_VERSION; ///< Model version 1.0///

// alpha default value
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const float ALPHA_DEFAULT_VALUE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const float32_t ALPHA_DEFAULT_VALUE;

// beta default value
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const float BETA_DEFAULT_VALUE;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const float32_t BETA_DEFAULT_VALUE;

///
/// @ingroup domi_omg
@@ -490,7 +490,7 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const std::string INPUT_
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const std::string DUMMY_DATA;

// dim default size value
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY static const int32_t DIM_DEFAULT_SIZE = 4;
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY constexpr int32_t DIM_DEFAULT_SIZE = 4;

// for fusion op plugin
FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const std::string ATTR_NAME_FUSIONOP_ORIGINAL_TYPE;
@@ -510,4 +510,4 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const std::string NODE_N
} // namespace parser
} // namespace ge

#endif // PARSER_COMMON_TYPES_H_
#endif // INC_FRAMEWORK_OMG_PARSER_TYPES_H_

+ 31
- 0
inc/framework/pne/graph_deployment_optimizer.h View File

@@ -0,0 +1,31 @@
/**
* Copyright (c) Huawei Technologies Co., Ltd. 2022. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#ifndef AIR_INC_FRAMEWORK_PNE_GRAPH_DEPLOYMENT_OPTIMIZER_H_
#define AIR_INC_FRAMEWORK_PNE_GRAPH_DEPLOYMENT_OPTIMIZER_H_

#include <map>
#include "framework/common/ge_inner_error_codes.h"
#include "graph/compute_graph.h"

namespace ge {
class GraphDeploymentOptimizer {
public:
static Status OptimizeForAutoDeploy(const ComputeGraphPtr &compute_graph, ComputeGraphPtr &optimized_graph);
};
} // namespace ge

#endif // AIR_INC_FRAMEWORK_PNE_GRAPH_DEPLOYMENT_OPTIMIZER_H_

+ 1
- 1
inc/framework/pne/process_node_engine.h View File

@@ -69,7 +69,7 @@ class ProcessNodeEngine {
return SUCCESS;
}

virtual Status ParallelPartition(const ComputeGraphPtr &compute_graph) {
virtual Status ParallelPartition(ComputeGraphPtr &compute_graph) {
(void)compute_graph;
return NOT_CHANGED;
}


+ 1
- 0
inc/framework/runtime/block.h View File

@@ -22,6 +22,7 @@ namespace memory {
class Block {
public:
// todo use TensorAddress
// todo 需要考虑虚函数对性能的影响
virtual const void *Addr() const = 0;
virtual void *MutableAddr() = 0;
virtual size_t GetSize() const = 0;


+ 4
- 4
inc/framework/runtime/exe_graph_executor.h View File

@@ -34,10 +34,10 @@ class VISIBILITY_EXPORT ExeGraphExecutor {
/**
* 设置图执行的输入/输出,需要注意的是,使用者需要自己保证inputs/outputs刷新完全!!!
*/
ge::graphStatus SpecifyInputs(void **inputs, size_t start, size_t num);
ge::graphStatus SpecifyOutputs(void **outputs, size_t num);
ge::graphStatus Execute();
ge::graphStatus Execute(ExecutorSubscriber *callback);
ge::graphStatus SpecifyInputs(void *const *inputs, size_t start, size_t num) const;
ge::graphStatus SpecifyOutputs(void *const *outputs, size_t num) const;
ge::graphStatus Execute() const;
ge::graphStatus Execute(ExecutorSubscriber *callback) const;

const void *GetExecutionData() const {
return execution_data_;


+ 1
- 0
inc/framework/runtime/exe_graph_resource_guard.h View File

@@ -19,6 +19,7 @@
#include <memory>
#include <vector>
#include <cstdint>
#include <cstdlib>
#include "common/ge_visibility.h"

namespace gert {


+ 18
- 3
inc/framework/runtime/gert_api.h View File

@@ -17,22 +17,37 @@
#ifndef AIR_CXX_INC_FRAMEWORK_RUNTIME_GERT_API_H_
#define AIR_CXX_INC_FRAMEWORK_RUNTIME_GERT_API_H_
#include "model_v2_executor.h"
#include "stream_executor.h"
#include "common/ge_types.h"
#include "common/ge_visibility.h"
#include "mem_allocator.h"

namespace gert {
VISIBILITY_EXPORT
std::unique_ptr<ModelV2Executor> LoadExecutorFromFile(const char *model_path, ge::graphStatus &error_code);
std::unique_ptr<ModelV2Executor> LoadExecutorFromFile(const ge::char_t *model_path, ge::graphStatus &error_code);

VISIBILITY_EXPORT
std::unique_ptr<ModelV2Executor> LoadExecutorFromModelData(const ge::ModelData &model_data,
ge::graphStatus &error_code);

VISIBILITY_EXPORT
std::unique_ptr<StreamExecutor> LoadStreamExecutorFromModelData(const ge::ModelData &model_data, const void *weight_ptr,
const size_t weight_size, ge::graphStatus &error_code);

VISIBILITY_EXPORT
ge::graphStatus IsDynamicModel(const void *const model, size_t model_size, bool &is_dynamic_model);
VISIBILITY_EXPORT
ge::graphStatus IsDynamicModel(const char *model_path, bool &is_dynamic_model);
ge::graphStatus IsDynamicModel(const ge::char_t *model_path, bool &is_dynamic_model);

VISIBILITY_EXPORT
std::unique_ptr<ExternalAllocators> CreateSingleOpAllocator();
ge::graphStatus LoadDataFromFile(const ge::char_t *model_path, ge::ModelData &model_data);

VISIBILITY_EXPORT
std::unique_ptr<ModelV2Executor> LoadExecutorFromModelDataWithMem(const ge::ModelData &model_data,
ge::graphStatus &error_code, const void *weight_ptr,
const size_t weight_size);

VISIBILITY_EXPORT
std::unique_ptr<ExternalAllocators> CreateDefaultAllocator();
} // namespace gert
#endif // AIR_CXX_INC_FRAMEWORK_RUNTIME_GERT_API_H_

+ 12
- 3
inc/framework/runtime/mem_allocator.h View File

@@ -13,8 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef AIR_CXX_MEM_ALLOCATOR_H
#define AIR_CXX_MEM_ALLOCATOR_H
#ifndef AIR_MEM_ALLOCATOR_H
#define AIR_MEM_ALLOCATOR_H

#include "exe_graph/runtime/tensor_data.h"
#include "block.h"
#include "exe_graph/runtime/allocator.h"

@@ -24,11 +26,18 @@ struct MemAllocator {
virtual Block *Malloc(size_t size) = 0;
virtual ~MemAllocator() = default;
};

struct MemSynchronizer {
MemSynchronizer() = default;
virtual ~MemSynchronizer() = default;
// Wait until the memory is actually freed after task completed
virtual void Synchronize() const = 0;
};
} // namespace memory

struct ExternalAllocators {
public:
memory::MemAllocator *GetAllocator(size_t placement, size_t usage);
memory::MemAllocator *GetAllocator(TensorPlacement placement, size_t usage);
ge::Status SetAllocator(size_t placement, size_t usage, std::unique_ptr<memory::MemAllocator> allocator);

private:


+ 4
- 3
inc/framework/runtime/model_desc.h View File

@@ -43,7 +43,7 @@ class VISIBILITY_EXPORT ShapeRange {

class VISIBILITY_EXPORT ModelIoDesc {
public:
const char *GetName() const;
const ge::char_t *GetName() const;
int32_t GetDataType() const;
ge::Format GetStorageFormat() const;
ge::Format GetOriginFormat() const;
@@ -55,7 +55,7 @@ class VISIBILITY_EXPORT ModelIoDesc {
std::vector<std::pair<int64_t, int64_t>> GetOriginShapeRangeVector() const;
std::vector<std::pair<int64_t, int64_t>> GetStorageShapeRangeVector() const;

void SetName(const char *name);
void SetName(const ge::char_t *name);
void SetDataType(int32_t data_type);
void SetStorageFormat(ge::Format format);
void SetOriginFormat(ge::Format format);
@@ -65,7 +65,7 @@ class VISIBILITY_EXPORT ModelIoDesc {
ShapeRange &MutableStorageShapeRange();

private:
const char *name_;
const ge::char_t *name_;
int32_t data_type_;
StorageFormat format_;
StorageShape shape_;
@@ -100,6 +100,7 @@ class VISIBILITY_EXPORT ModelDesc {
size_t output_num_;
ContinuousVector model_io_descs_;
};
static_assert(std::is_trivial<ModelDesc>::value, "The class ModelDesc must be a POD");
} // namespace gert

#endif // AIR_CXX_INC_FRAMEWORK_RUNTIME_MODEL_DESC_H_

+ 43
- 7
inc/framework/runtime/model_v2_executor.h View File

@@ -27,24 +27,23 @@
#include "exe_graph_executor.h"
#include "subscriber/executor_subscribers_scheduler.h"
#include "common/ge_types.h"
#include "gert_api.h"
#include "mem_allocator.h"

namespace gert {
enum class ExecutorState { kInit, kLoaded };
enum SubExeGraphType { kInitExeGraph, kMainExeGraph, kDeInitExeGraph, kSubExeGraphTypeEnd };
inline const char *GetSubExeGraphTypeStr(SubExeGraphType type) {
constexpr const char *kSubExeGraphTypeStrs[kSubExeGraphTypeEnd] = {"Init", "Main", "DeInit"};
inline const ge::char_t *GetSubExeGraphTypeStr(const SubExeGraphType type) {
constexpr const ge::char_t *kSubExeGraphTypeStrs[kSubExeGraphTypeEnd] = {"Init", "Main", "DeInit"};
return kSubExeGraphTypeStrs[type];
}

enum class ExecuteArgIndex { kExternalAllocator = -2, kStream = -1, kEnd };
enum class ExecuteArgIndex { kExternalAllocator = -2, kStream, kEnd };

struct ModelExecuteArg {
rtStream_t stream;
ExternalAllocators *external_allocator;
ModelExecuteArg() : stream(nullptr), external_allocator(nullptr) {}
ModelExecuteArg(rtStream_t stream_, ExternalAllocators *external_allocator_ = nullptr)
ModelExecuteArg(const rtStream_t stream_, ExternalAllocators *const external_allocator_ = nullptr)
: stream(stream_), external_allocator(external_allocator_) {}
};
static_assert(std::is_standard_layout<ModelExecuteArg>::value, "The class ModelExecuteArg must be a POD");
@@ -55,6 +54,43 @@ class VISIBILITY_EXPORT ModelV2Executor {
static std::unique_ptr<ModelV2Executor> Create(const ge::ComputeGraphPtr &root_graph);

ge::graphStatus Load();
/**
* 加载模型,本接口需要在模型执行前被调用。加载流程会完成模型的初始化、将重要数据拷贝到NPU等整个模型生命周期内仅需要执行一次的行为。
* @param arg
* 模型的执行参数,需要注意的是,此处传入的执行参数应该与Execute接口传入的执行参数具有相同的stream和allocator,
* 否则在load完成后,外部需要调用流同步以保证不出现时序问题
* @return 成功时返回`ge::GRAPH_SUCCESS`
*/
ge::graphStatus Load(const ModelExecuteArg &arg);

/**
* 异步执行模型,本接口将模型异步下发到NPU执行,本接口返回不代表模型执行完成,用户需要手动调用流同步等待模型执行完成。
* 调用本接口前,请确保已经调用`Load`接口
*
* 用户可以通过多种方式指定输出Tensor,其行为分别为:
*
* * 调用本接口前,用户自行申请了足量空间的输出内存,并通过输出Tensor传入:执行完成后,输出内容被写入到用户申请的输出Tensor。
* 若用户申请的输出Tensor不够长,那么本接口返回失败。
* * 用户生成了输出Tensor,但是没有申请输出内存,将不包含输出内存的Tensor传入:本接口内部主动申请输出内存,并将输出内存传出。
* 若用户没有在arg中指定Allocator,那么本接口输出的内存生命周期与本Executor一致;
* 如果用户在arg中传入了Allocator,那么输出内存将使用用户传入的Allocator申请
*
* 注意:
*
* 1. 本接口不支持并发调用
* 2.
* 如果外部指定了Allocator,那么建议Allocator应该与stream绑定,如果出现同一个allocator,匹配不同的stream多次调用Execute接口时,
* 需要满足两个条件:不可以并发调用,在切换stream执行中间,需要对上一条stream做流同步
* 3.
* 若外部指定了Allocator,在模型执行完成前,不可以将Allocator中的内存归还给操作系统(即使这块内存已经由执行器归还给Allocator)
*
* @param arg 执行参数
* @param inputs 网络的输入tensor,从调用本接口开始,到流同步等待本模型执行结束之前,用户需要保证传入的Tensor有效
* @param input_num 输入tensor的数量
* @param outputs 网络的输出tensor
* @param output_num 输出tensor的数量
* @return 成功时返回`ge::GRAPH_SUCCESS`
*/
ge::graphStatus Execute(const ModelExecuteArg &arg, Tensor **inputs, size_t input_num, Tensor **outputs,
size_t output_num);
ge::graphStatus ExecuteSync(Tensor **inputs, size_t input_num, Tensor **outputs, size_t output_num);
@@ -62,7 +98,7 @@ class VISIBILITY_EXPORT ModelV2Executor {

const ModelDesc &GetModelDesc() const;
void SetModelDesc(ModelDesc *model_desc);
ExeGraphExecutor *GetExeGraphExecutor(SubExeGraphType type) {
ExeGraphExecutor *GetExeGraphExecutor(const SubExeGraphType type) {
if (type >= kSubExeGraphTypeEnd) {
return nullptr;
}
@@ -82,8 +118,8 @@ class VISIBILITY_EXPORT ModelV2Executor {
ModelV2Executor();

private:
std::array<ExeGraphExecutor, kSubExeGraphTypeEnd> graphs_;
ResourceGuard resource_guard_;
std::array<ExeGraphExecutor, kSubExeGraphTypeEnd> graphs_;
ModelDesc *model_desc_ = nullptr;
rtStream_t default_stream_ = nullptr;
ExecutorSubscribersScheduler subscribers_;


+ 52
- 0
inc/framework/runtime/stream_executor.h View File

@@ -0,0 +1,52 @@
/**
* Copyright (c) Huawei Technologies Co., Ltd. 2022. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#ifndef AIR_CXX_STREAM_EXECUTOR_H
#define AIR_CXX_STREAM_EXECUTOR_H
#include <map>
#include <memory>
#include "runtime/base.h"
#include "common/checker.h"
#include "model_v2_executor.h"
namespace gert {
// do not expose the Builder class definition to external api
class ModelV2ExecutorBuilder;
class VISIBILITY_EXPORT StreamExecutor {
public:
explicit StreamExecutor(ModelV2ExecutorBuilder *builder);
StreamExecutor(const StreamExecutor &) = delete;
StreamExecutor &operator=(const StreamExecutor &) = delete;
StreamExecutor(StreamExecutor &&) = delete;
StreamExecutor &operator==(StreamExecutor &&) = delete;
~StreamExecutor();
ModelV2Executor *GetOrCreateLoaded(rtStream_t stream, const ModelExecuteArg &arg) {
const auto &iter = streams_to_executor_.find(stream);
if (iter != streams_to_executor_.cend()) {
return iter->second.get();
}
return CreateAndLoad(stream, arg);
}
ge::graphStatus Erase(rtStream_t stream);

private:
ModelV2Executor *CreateAndLoad(rtStream_t stream, const ModelExecuteArg &arg);

private:
ModelV2ExecutorBuilder *builder_;
std::map<rtStream_t, std::unique_ptr<ModelV2Executor>> streams_to_executor_;
};
} // namespace gert
#endif // AIR_CXX_STREAM_EXECUTOR_H

+ 8
- 8
inc/framework/runtime/subscriber/built_in_subscriber_definitions.h View File

@@ -36,17 +36,17 @@ constexpr size_t kInitSubscriberSize = 2UL;
enum class BuiltInSubscriberType { kProfiling, kDumper, kNum };

enum class ProfilingType {
kCannHost, // 打开Host侧调度的profiling
kDevice,
kGeHost, // 打开GE Host侧调度的profiling
kNum,
kCannHost = 0, // 打开Host侧调度的profiling
kDevice = 1,
kGeHost = 2, // 打开GE Host侧调度的profiling
kNum = 3,
kAll = kNum
};
static_assert(static_cast<size_t>(ProfilingType::kNum) < sizeof(uint64_t) * 8,
static_assert(static_cast<size_t>(ProfilingType::kNum) < sizeof(uint64_t) * static_cast<size_t>(8),
"The max num of profiling type must less than the width of uint64");

enum class DumpType { kDataDump, kExceptionDump, kNum, kAll = kNum };
static_assert(static_cast<size_t>(DumpType::kNum) < sizeof(uint64_t) * 8,
enum class DumpType { kDataDump = 0, kExceptionDump = 1, kNum = 2, kAll = kNum };
static_assert(static_cast<size_t>(DumpType::kNum) < sizeof(uint64_t) * static_cast<size_t>(8),
"The max num of dumper type must less than the width of uint64");
class ModelV2Executor;
struct SubscriberExtendInfo {
@@ -70,7 +70,7 @@ class VISIBILITY_EXPORT BuiltInSubscriberUtil {
int>::type = 0>
static uint64_t BuildEnableFlags(const std::vector<T> &enable_types) {
uint64_t flag = 0UL;
for (auto et : enable_types) {
for (const auto &et : enable_types) {
if (et == T::kAll) {
return EnableBit(T::kNum) - 1UL;
}


+ 5
- 8
inc/framework/runtime/subscriber/executor_subscribers_scheduler.h View File

@@ -21,13 +21,13 @@
#include "built_in_subscriber_definitions.h"
#include "executor_subscriber_guarder.h"
#include "framework/common/ge_visibility.h"
#include "global_profiling.h"
#include "global_profiler.h"
#include "global_dumper.h"
#include "graph/any_value.h"
namespace gert {
class VISIBILITY_EXPORT ExecutorSubscribersScheduler {
public:
static void OnExecuteEvent(ExecutorSubscribersScheduler *ins, ExecutorEvent event, const void *node,
static void OnExecuteEvent(const ExecutorSubscribersScheduler *ins, ExecutorEvent event, const void *node,
KernelStatus result);

ExecutorSubscribersScheduler()
@@ -35,9 +35,6 @@ class VISIBILITY_EXPORT ExecutorSubscribersScheduler {
built_in_subscribers_ptr_(),
subscribers_(),
subscriber_wrapper_({reinterpret_cast<::SubscriberFunc>(ExecutorSubscribersScheduler::OnExecuteEvent), this}) {}
#ifdef ONLY_COMPILE_OPEN_SRC
~ExecutorSubscribersScheduler();
#endif
void Init(const SubscriberExtendInfo &extend_info);
ExecutorSubscribersScheduler(const ExecutorSubscribersScheduler &) = delete;
ExecutorSubscribersScheduler &operator=(const ExecutorSubscribersScheduler &) = delete;
@@ -83,7 +80,7 @@ class VISIBILITY_EXPORT ExecutorSubscribersScheduler {
* @param subscriber_type
*/
void AddBuiltIn(BuiltInSubscriberType subscriber_type, uint64_t enable_flag, const SubscriberExtendInfo &extend_info);
void RemoveSubscriber(void *subscriber_ptr) {
void RemoveSubscriber(const void *subscriber_ptr) {
for (auto iter = subscribers_.begin(); iter != subscribers_.end(); ++iter) {
if (iter->GetSubscriber().arg == subscriber_ptr) {
subscribers_.erase(iter);
@@ -111,8 +108,8 @@ class VISIBILITY_EXPORT ExecutorSubscribersScheduler {
}

bool IsEnable() const {
return enabled_ || GlobalProfilingWrapper::GetInstance()->GetEnableFlags() ||
GlobalDumper::GetInstance()->GetEnableFlags();
return enabled_ || static_cast<bool>(GlobalProfilingWrapper::GetInstance()->GetEnableFlags()) ||
static_cast<bool>(GlobalDumper::GetInstance()->GetEnableFlags());
}
void SetEnable(bool enable_flag) {
enabled_ = enable_flag;


+ 10
- 17
inc/framework/runtime/subscriber/global_dumper.h View File

@@ -15,7 +15,6 @@
*/
#ifndef AIR_CXX_INC_FRAMEWORK_RUNTIME_EXECUTOR_GLOBAL_DUMPER_H_
#define AIR_CXX_INC_FRAMEWORK_RUNTIME_EXECUTOR_GLOBAL_DUMPER_H_
#include <vector>
#include <mutex>

#include "built_in_subscriber_definitions.h"
@@ -23,10 +22,17 @@
#include "graph/compute_graph.h"
#include "runtime/base.h"

namespace ge {
class ExceptionDumper;
}
namespace gert {
// for global info for exception_dump and global switch
class VISIBILITY_EXPORT GlobalDumper {
public:
GlobalDumper(const GlobalDumper &) = delete;
GlobalDumper(GlobalDumper &&) = delete;
GlobalDumper &operator=(const GlobalDumper &) = delete;
GlobalDumper &operator==(GlobalDumper &&) = delete;
static GlobalDumper *GetInstance() {
static GlobalDumper global_dumper;
return &global_dumper;
@@ -34,14 +40,9 @@ class VISIBILITY_EXPORT GlobalDumper {

static void OnGlobalDumperSwitch(void *ins, uint64_t enable_flags);

void AddExceptionInfo(const rtExceptionInfo *exception_data) {
const std::lock_guard<std::mutex> lk(exception_infos_mutex_);
exception_infos_.emplace_back(*exception_data);
}
void AddExceptionInfo(const rtExceptionInfo *exception_data) const;

const std::vector<rtExceptionInfo> &GetExceptionInfos() const {
return exception_infos_;
}
ge::ExceptionDumper *MutableExceptionDumper() const;

void SetEnableFlags(const uint64_t enable_flags) {
enable_flags_ = enable_flags;
@@ -52,20 +53,12 @@ class VISIBILITY_EXPORT GlobalDumper {
};

bool IsEnable(DumpType dump_type) const {
return enable_flags_ & BuiltInSubscriberUtil::EnableBit<DumpType>(dump_type);
return static_cast<bool>(enable_flags_ & BuiltInSubscriberUtil::EnableBit<DumpType>(dump_type));
}

private:
GlobalDumper();
GlobalDumper(const GlobalDumper &) = delete;
GlobalDumper(GlobalDumper &&) = delete;
GlobalDumper &operator=(const GlobalDumper &) = delete;
GlobalDumper &operator==(GlobalDumper &&) = delete;

private:
uint64_t enable_flags_{0UL};
std::vector<rtExceptionInfo> exception_infos_;
std::mutex exception_infos_mutex_;
};
} // namespace gert
#endif

inc/framework/runtime/subscriber/global_profiling.h → inc/framework/runtime/subscriber/global_profiler.h View File

@@ -13,8 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef AIR_CXX_INC_FRAMEWORK_RUNTIME_SUBSCRIBER_GLOBAL_PROFILING_H_
#define AIR_CXX_INC_FRAMEWORK_RUNTIME_SUBSCRIBER_GLOBAL_PROFILING_H_
#ifndef AIR_CXX_INC_FRAMEWORK_RUNTIME_SUBSCRIBER_GLOBAL_PROFILER_H_
#define AIR_CXX_INC_FRAMEWORK_RUNTIME_SUBSCRIBER_GLOBAL_PROFILER_H_
#include <algorithm>
#include <memory>
@@ -77,7 +77,7 @@ class VISIBILITY_EXPORT GlobalProfilingWrapper {
return global_profiler_.get();
}
void SetEnableFlags(uint64_t enable_flags) {
void SetEnableFlags(const uint64_t enable_flags) {
enable_flags_ = enable_flags;
}

+ 1
- 1
metadef

@@ -1 +1 @@
Subproject commit dd39e0ff029fc32d7cfff0147824e7c302d7796a
Subproject commit b0adaafa9183a8e453ebcd23710ca9c61159c51f

+ 29
- 45
third_party/fwkacllib/inc/hccl/base.h View File

@@ -1,23 +1,8 @@
/**
* Copyright 2019-2020 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/**
* @file base.h
* @brief HCOM data type definition
*
/*
* Copyright (c) Huawei Technologies Co., Ltd. 2019-2022. All rights reserved.
* Description: HCOM data type definition
* Author: ligang
* Create: 2019-05-24
*/

#ifndef HCCL_BASE_H_
@@ -139,22 +124,12 @@ typedef void *rtModel_t;

struct HcomOperation {
std::string hcclType;
void *inputPtr;
void *outputPtr;
u64 count;
HcclDataType dataType;
HcclReduceOp opType;
u32 root;

HcomOperation()
{
inputPtr = nullptr;
outputPtr = nullptr;
count = 0;
dataType = HCCL_DATA_TYPE_RESERVED;
opType = HCCL_REDUCE_RESERVED;
root = 0;
}
void *inputPtr{nullptr};
void *outputPtr{nullptr};
u64 count{0};
HcclDataType dataType{HCCL_DATA_TYPE_RESERVED};
HcclReduceOp opType{HCCL_REDUCE_RESERVED};
u32 root{0};
};

struct HcomRemoteAccessAddrInfo {
@@ -165,15 +140,24 @@ struct HcomRemoteAccessAddrInfo {
};

struct HcomAllToAllVParams {
void *sendbuf; // device mem
void *sendcounts; // device mem; Type: uint_64
void *sdispls; // device mem; Type: uint_64
HcclDataType sendtype;
void *recvbuf; // device mem
void *recvcounts; // device mem; Type: uint_64
void *rdispls; // device mem; Type: uint_64
HcclDataType recvtype;
const char *group; // not used now
void *sendbuf{nullptr}; // device mem
void *sendcounts{nullptr}; // device mem; Type: uint_64
void *sdispls{nullptr}; // device mem; Type: uint_64
HcclDataType sendtype{HCCL_DATA_TYPE_RESERVED};
void *recvbuf{nullptr}; // device mem
void *recvcounts{nullptr}; // device mem; Type: uint_64
void *rdispls{nullptr}; // device mem; Type: uint_64
HcclDataType recvtype{HCCL_DATA_TYPE_RESERVED};
const char *group{nullptr}; // not used now
};

struct HcomAllToAllVCParams {
void *sendbuf{nullptr}; // device mem
HcclDataType sendtype{HCCL_DATA_TYPE_RESERVED};
void *recvbuf{nullptr}; // device mem
HcclDataType recvtype{HCCL_DATA_TYPE_RESERVED};
void *sendcountmatrix{nullptr}; // device mem; Type: uint_64
const char *group{nullptr}; // not used now
};

struct HcomGatherAllToAllVParams {


+ 25
- 34
third_party/fwkacllib/inc/ops/OWNERS View File

@@ -1,60 +1,51 @@
approvers:
- gegenhua
- zhoujian25
- qiaohairong
reviewers:
- chuqingxi
- wang-jintang
- luanma_bl
- chen-kang30
- li-xulong
- Allan_Yu
- minshen
- pan-jixing
- yl_wang
- lijie176
- mabing726
- miao-fangzheng
- huang-qiang002
- su-yueming
- chenpeng-hw
- wang_jianle
- luanma_bl
- LDLD0524
- wywismygod2020
- koala-zhang
- zhu-jingjing
- zhaozhihui5
- simbaliuxx
- lyxyz
- zhou-qilong
- block0219
- hanfuwei
- xchu42
- sheng-nan
- yangjing88
- alexlak
- xig514
- jellylj
- brightlyking
- chengsheng304064
- liuzhenyuhw
- djh602
- wangjiangben_hw
- li1jie
- liujun2014
- soupkey
- wu-shengji
- cimeng
- granpad7
- tc1qaz
- Ronnie_zheng
- xiexianhu
- zhaoping12
- tanshengshun
- fanqirui
- xu-binglin
- yangyang016
- zhangzhongzt
- gegenhua
- qiaohairong
- wu-mingli
- fang-guocan
- wangtao43
- changhaixun
- yan-cailiang
- jiangtao_vector
- shunqi
- wangjun-qt
- brightlyking
- wangchao285
- wu-jinfu
- llim
- Wang_Xing001
- liuyi66
- fan-zhaoyun
- tangqunzhang
- chy_huawei
- ly-qianxiao
- wangzhendong07
- crystalhu
- lin-wei32
- wangjiangben_hw
- clinglai
options:
no_parent_owners: true

+ 1
- 0
third_party/fwkacllib/inc/ops/all_ops.h View File

@@ -65,6 +65,7 @@
#include "resource_variable_ops.h"
#include "rnn.h"
#include "rpn_ops.h"
#include "randomdsa_ops.h"
#include "save_ops.h"
#include "selection_ops.h"
#include "set_ops.h"


+ 172
- 0
third_party/fwkacllib/inc/ops/data_flow_ops.h View File

@@ -2576,5 +2576,177 @@ REG_OP(FlowFunc)
.ATTR(output_shapes, ListListInt, {})
.REQUIRED_ATTR(output_types, ListType)
.OP_END_FACTORY_REG(FlowFunc)

/**
* @brief ouputs a tensor copy from the tensor at 'position' in input_sequence. \n

* @par Inputs:
* @li handle: the handle of sequence.
* @li index: position of the tensor in the sequence. negative value means
* counting position from back, accepted range in [-n, n - 1],
* where n is the number of tensors in sequence,
* it must be a scalar(tensor of empty shape), it is scalar. \n

* @par Outputs:
* @li y: output tensor at the specified position in the input sequence. \n
*/
REG_OP(SequenceAt)
.INPUT(handle, TensorType({DT_RESOURCE}))
.INPUT(index, TensorType({DT_INT32, DT_INT64}))
.OUTPUT(y, TensorType({DT_UINT8, DT_UINT16, DT_UINT32, DT_UINT64, DT_INT8, DT_INT16, \
DT_INT32, DT_INT64, DT_FLOAT16, DT_FLOAT, DT_DOUBLE, DT_BOOL, DT_COMPLEX64, \
DT_COMPLEX128}))
.OP_END_FACTORY_REG(SequenceAt)

/**
* @brief constrct a tensor sequence cotaining 'input' tensors,
* all tensors in 'inputs' must have the same data type. \n

* @par Inputs:
* @li inputs: A list of input tensor objects. It's a dynamic input. \n

* @par Outputs:
* @li handle: Sequence enclosing the input tensors. \n
*/
REG_OP(SequenceConstruct)
.DYNAMIC_INPUT(inputs, TensorType({DT_UINT8, DT_UINT16, DT_UINT32, DT_UINT64, DT_INT8, \
DT_INT16, DT_INT32, DT_INT64, DT_FLOAT16, DT_FLOAT, DT_DOUBLE, DT_BOOL, DT_COMPLEX64, \
DT_COMPLEX128}))
.OUTPUT(handle, TensorType({DT_RESOURCE}))
.OP_END_FACTORY_REG(SequenceConstruct)

/**
* @brief construct an empty tensor sequence, with given data type. \n

* @par Outputs:
* @li handle: empty sequence. \n

* @par Attributes:
* @li dtype: the data type of the tensors in the output sequence,
* the default value is float. \n
*/
REG_OP(SequenceEmpty)
.OUTPUT(handle, TensorType({DT_RESOURCE}))
.ATTR(dtype, Type, DT_FLOAT)
.OP_END_FACTORY_REG(SequenceEmpty)

/**
* @brief ouputs a tensor sequence that remove the tensor at 'position' from input_sequence. \n

* @par Inputs:
* @li handle: the handle of sequence.
* @li index: position of the tensor in the sequence. negative value means
* counting position from back, accepted range in [-n, n - 1],
* where n is the number of tensors in sequence,
* it must be a scalar(tensor of empty shape), it is scalar. \n

* @par Outputs:
* @li handle_y: the handle of the sequence that has the tensor
* at the specified position removed. \n
*/
REG_OP(SequenceErase)
.INPUT(handle, TensorType({DT_RESOURCE}))
.OPTIONAL_INPUT(index, TensorType({DT_INT32, DT_INT64}))
.OUTPUT(handle_y, TensorType({DT_RESOURCE}))
.OP_END_FACTORY_REG(SequenceErase)

/**
* @brief ouputs a tensor sequence that insert tensor into sequence at 'position',
* tensor must have the same data type as input_sequence. \n

* @par Inputs:
* @li handle: the handle of sequence.
* @li value: tensor to be inserted into the input sequence. \n
* @li index: position of the tensor in the sequence. negative value means
* counting position from back, accepted range in [-n, n - 1],
* where n is the number of tensors in sequence,
* it must be a scalar(tensor of empty shape), it is scalar. \n

* @par Outputs:
* @li handle_y: output sequence that contains the inserted tensor
* at the given positon. \n
*/
REG_OP(SequenceInsert)
.INPUT(handle, TensorType({DT_RESOURCE}))
.INPUT(value, TensorType({DT_UINT8, DT_UINT16, DT_UINT32, DT_UINT64, DT_INT8, \
DT_INT16, DT_INT32, DT_INT64, DT_FLOAT16, DT_FLOAT, DT_DOUBLE, DT_BOOL, DT_COMPLEX64, \
DT_COMPLEX128}))
.OPTIONAL_INPUT(index, TensorType({DT_INT32, DT_INT64}))
.OUTPUT(handle_y, TensorType({DT_RESOURCE}))
.OP_END_FACTORY_REG(SequenceInsert)

/**
* @brief produces a scalar(tensor of empty shape) containing the number
* of tensors in input_sequence. \n

* @par Inputs:
* @li handle: the handle of sequence. \n

* @par Outputs:
* @li length: length of input sequence, it must be a scalar (tensor of empty shape) \n
*/
REG_OP(SequenceLength)
.INPUT(handle, TensorType({DT_RESOURCE}))
.OUTPUT(length, TensorType({DT_INT64}))
.OP_END_FACTORY_REG(SequenceLength)

/**
* @brief split a tensor into a sequence of tensors, along the specified axis,
* length of the parts can be specified using argument 'split'. \n

* @par Inputs:
* @li x: the tensor to split. \n
* @li split: length of each output, it cat be either a scalar or 1-D tensor,
* all value must be >= 0. if split is a scalar, then input will be split into
* equally sized chunks, last chunk will be smaller if input size along the given
* axis is not divisible by split, otherwise the tensor is split into size(split)
* chunks, with lengths of the parts on axis specified in split. in the scenario,
* the sum of entries in split must be equal to the dimision size of input tensor
* on axis \n

* @par Outputs:
* @li handle: one or more outputs forming a sequence of tensor after spliting. \n

* @par Attributes:
* @li axis: which axis to split on, a negative value means counting dimensions from
* the back, accepted range is [-rank, rank - 1].
* @li keep_dims: keep the split dimension or not, default 1,which means we keep split
* dimension,if input 'split' is specified, this attribute is ignored.
*/
REG_OP(SplitToSequence)
.INPUT(x, TensorType({DT_UINT8, DT_UINT16, DT_UINT32, DT_UINT64, DT_INT8, \
DT_INT16, DT_INT32, DT_INT64, DT_FLOAT16, DT_FLOAT, DT_DOUBLE, DT_BOOL, DT_COMPLEX64, \
DT_COMPLEX128}))
.OPTIONAL_INPUT(split, TensorType({DT_INT32, DT_INT64}))
.OUTPUT(handle, TensorType({DT_RESOURCE}))
.ATTR(axis, Int, 0)
.ATTR(keepdims, Bool, true)
.OP_END_FACTORY_REG(SplitToSequence)

/**
* @brief concatenate a sequence of tensors into a single tensor, all input tensors must
* have the same shape, except for the dimension size of the axis to concatenate on. by default
* new_axis is 0, the behavior is similar to numpy.concatenate. when new_axis is 1, the behavior
* is similar to numpy.stack. \n

* @par Inputs:
* @li handle: sequence of tensors for concatenation. \n

* @par Outputs:
* @li y: concatenated tensor. \n

* @par Attributes:
* @li axis: which axis to concat on, accepted range in [-r, r - 1], where r is the rank of input
* tensor, when new_axis is 1,accepted range is [-r - 1, r]
* @li new_axis: insert and concatnate on a new axis or not. default 0 means do not insert new axis.
*/
REG_OP(ConcatFromSequence)
.INPUT(handle, TensorType({DT_RESOURCE}))
.OUTPUT(y, TensorType({DT_UINT8, DT_UINT16, DT_UINT32, DT_UINT64, DT_INT8, \
DT_INT16, DT_INT32, DT_INT64, DT_FLOAT16, DT_FLOAT, DT_DOUBLE, DT_BOOL, DT_COMPLEX64, \
DT_COMPLEX128}))
.REQUIRED_ATTR(axis, Int)
.ATTR(new_axis, Int, 0)
.OP_END_FACTORY_REG(ConcatFromSequence)
} // namespace ge
#endif // OPS_BUILT_IN_OP_PROTO_INC_DATA_FLOW_OPS_H_

+ 43
- 15
third_party/fwkacllib/inc/ops/elewise_calculation_ops.h View File

@@ -2944,9 +2944,9 @@ REG_OP(AdamApplyOne)

*@par Outputs:
*Three outputs, including:
* @li output0: A Tensor. Must be one of the following types: float16, float32.
* @li output1: A Tensor. Must be one of the following types: float16, float32.
* @li output2: A Tensor. Must be one of the following types: float16, float32. \n
* @li input1: A Tensor. Must be one of the following types: float16, float32.
* @li input2: A Tensor. Must be one of the following types: float16, float32.
* @li input3: A Tensor. Must be one of the following types: float16, float32. \n

*@par Restrictions:
*Warning: THIS FUNCTION IS EXPERIMENTAL. Please do not use.
@@ -2963,9 +2963,9 @@ REG_OP(AdamApplyOneWithDecayAssign)
.INPUT(mul3_x, TensorType({DT_FLOAT16,DT_FLOAT}))
.INPUT(mul4_x, TensorType({DT_FLOAT16,DT_FLOAT}))
.INPUT(add2_y, TensorType({DT_FLOAT16,DT_FLOAT}))
.OUTPUT(output0, TensorType({DT_FLOAT16,DT_FLOAT}))
.OUTPUT(output1, TensorType({DT_FLOAT16,DT_FLOAT}))
.OUTPUT(output2, TensorType({DT_FLOAT16,DT_FLOAT}))
.OUTPUT(input1, TensorType({DT_FLOAT16,DT_FLOAT}))
.OUTPUT(input2, TensorType({DT_FLOAT16,DT_FLOAT}))
.OUTPUT(input3, TensorType({DT_FLOAT16,DT_FLOAT}))
.OP_END_FACTORY_REG(AdamApplyOneWithDecayAssign)

/**
@@ -2986,9 +2986,9 @@ REG_OP(AdamApplyOneWithDecayAssign)

*@par Outputs:
*Three outputs, including:
* @li output0: A Tensor. Must be one of the following types: float16, float32.
* @li output1: A Tensor. Must be one of the following types: float16, float32.
* @li output2: A Tensor. Must be one of the following types: float16, float32. \n
* @li input1: A Tensor. Must be one of the following types: float16, float32.
* @li input2: A Tensor. Must be one of the following types: float16, float32.
* @li input3: A Tensor. Must be one of the following types: float16, float32. \n

*@par Restrictions:
*Warning: THIS FUNCTION IS EXPERIMENTAL. Please do not use.
@@ -3004,9 +3004,9 @@ REG_OP(AdamApplyOneAssign)
.INPUT(mul2_x, TensorType({DT_FLOAT16,DT_FLOAT}))
.INPUT(mul3_x, TensorType({DT_FLOAT16,DT_FLOAT}))
.INPUT(add2_y, TensorType({DT_FLOAT16,DT_FLOAT}))
.OUTPUT(output0, TensorType({DT_FLOAT16,DT_FLOAT}))
.OUTPUT(output1, TensorType({DT_FLOAT16,DT_FLOAT}))
.OUTPUT(output2, TensorType({DT_FLOAT16,DT_FLOAT}))
.OUTPUT(input1, TensorType({DT_FLOAT16,DT_FLOAT}))
.OUTPUT(input2, TensorType({DT_FLOAT16,DT_FLOAT}))
.OUTPUT(input3, TensorType({DT_FLOAT16,DT_FLOAT}))
.OP_END_FACTORY_REG(AdamApplyOneAssign)

/**
@@ -3383,17 +3383,20 @@ REG_OP(Muls)

*@par Inputs:
*One input, including:
*x: A Tensor. Must be one of the following types:float32, float16, int64, int32, int16, bool.
*x: A Tensor. Must be one of the following types:double, float32, float16, int64, int32, int16, bool.

*@par Outputs:
*y: A Tensor. Has the same type and shape as "x1". \n

*@par Attributes:
*value: A scale. Must be float. \n

*@par Third-party framework compatibility:
* Compatible with the Pytorch operator fills.
*/
REG_OP(Fills)
.INPUT(x, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT64, DT_INT32, DT_INT16, DT_BOOL}))
.OUTPUT(y, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT64, DT_INT32, DT_INT16, DT_BOOL}))
.INPUT(x, TensorType({DT_DOUBLE, DT_FLOAT, DT_FLOAT16, DT_INT64, DT_INT32, DT_INT16, DT_BOOL}))
.OUTPUT(y, TensorType({DT_DOUBLE, DT_FLOAT, DT_FLOAT16, DT_INT64, DT_INT32, DT_INT16, DT_BOOL}))
.REQUIRED_ATTR(value, Float)
.OP_END_FACTORY_REG(Fills)

@@ -4032,6 +4035,31 @@ REG_OP(Dawsn)
.INPUT(x, TensorType({DT_BF16, DT_FLOAT16, DT_FLOAT, DT_DOUBLE}))
.OUTPUT(y, TensorType({DT_BF16, DT_FLOAT16, DT_FLOAT, DT_DOUBLE}))
.OP_END_FACTORY_REG(Dawsn)

/**
* @brief The operator casts the elements of a given input tensor (the first input)
* to the same data type as the elements of the second input tensor. \n

* @par Inputs:
* Two inputs, including:
* @li x:A Tensor. Must be one of the following types:
float16, float, int8, int32, uint32, uint8, int64, uint64, int16, uint16, double,
complex64, complex128, qint8, quint8, qint16, quint16, qint32, bfloat16, bool, string. \n
* @li target:A Tensor. Must be one of the following types:
float16, float, int8, int32, uint32, uint8, int64, uint64, int16, uint16, double,
complex64, complex128, qint8, quint8, qint16, quint16, qint32, bfloat16, bool, string. \n

* @par Outputs:
* y:A Tensor with same shape as x, and data type is specified by target.

* @par Third-party framework compatibility
* Compatible with the onnx operator CastLike.
*/
REG_OP(CastLike)
.INPUT(x, TensorType({BasicType(), DT_BOOL, DT_STRING}))
.INPUT(target, TensorType({BasicType(), DT_BOOL, DT_STRING}))
.OUTPUT(y, TensorType({BasicType(), DT_BOOL, DT_STRING}))
.OP_END_FACTORY_REG(CastLike)
} // namespace ge

#endif // OPS_BUILT_IN_OP_PROTO_INC_ELEWISE_CALCULATION_OPS_H_

+ 114
- 0
third_party/fwkacllib/inc/ops/experiment_ops.h View File

@@ -219,6 +219,40 @@ REG_OP(Index)
.OP_END_FACTORY_REG(Index)

/**
* @brief According to the index number of indexes, replace the value
* corresponding to X with the value.

* @par Inputs:
* Five inputs, including:
* @li x: A ND Tensor.
* @li value: A Tensor of the same type as "x".
* @li indexed_sizes: A 1D Tensor of int64 with shape (N). Sizes for each one of the indexed data.
* @li indexed_strides: A 1D Tensor of int64 with shape (N). Strides for each one of the indexed data.
* @li indices: Dynamic input. A Tensor of the indices.

* @par Attributes:
* @li accumulate: Does it support self accumulation. Defaults to false.

* @par Outputs:
* @li x: A Tensor.

* @par Third-party framework compatibility
* Compatible with the Pytorch operator index_put.

* @par Restrictions:
* Warning:THIS FUNCTION IS EXPERIMENTAL. Please do not use.
*/
REG_OP(IndexPutV2)
.INPUT(x, TensorType::BasicType())
.INPUT(value, TensorType::BasicType())
.INPUT(indexed_sizes, TensorType({DT_INT64}))
.INPUT(indexed_strides, TensorType({DT_INT64}))
.DYNAMIC_INPUT(indices, TensorType({DT_INT64}))
.OUTPUT(x, TensorType::BasicType())
.ATTR(accumulate, Bool, false)
.OP_END_FACTORY_REG(IndexPutV2)

/**
* @brief Performs average pooling on the input. Used in the combination of conv + avgpoolupdate to replace avgpool
* @par Inputs:
* x1: Output of upstream Conv2d. A tensor of type float16, float32.
@@ -374,6 +408,86 @@ REG_OP(DecodeJpegPre)
.REQUIRED_ATTR(w_range, ListInt)
.REQUIRED_ATTR(h_range, ListInt)
.OP_END_FACTORY_REG(DecodeJpegPre)

/**
* @brief init PartitionMap table. \n

* @par Inputs:
* @li ps_num: A Tensor, dtype is uint32. 0-D. indicates ps number.
* @li ps_ids: A Tensor, dtype is uint32. 1-D. indicates the id of ps. \n

* @par Attributes:
* @li partition_num: A Int, indicates the number of partition. \n
*/
REG_OP(InitPartitionMap)
.INPUT(ps_num, TensorType({DT_UINT32}))
.INPUT(ps_ids, TensorType({DT_UINT32}))
.ATTR(partition_num, Int, 65537)
.OP_END_FACTORY_REG(InitPartitionMap)

/**
* @brief uninit PartitionMap table. \n
*/
REG_OP(UninitPartitionMap)
.OP_END_FACTORY_REG(UninitPartitionMap)

/**
* @brief init Embedding hashtable. \n

* @par Inputs:
* @li table_id: A Tensor, dtype is uint32. 0-D. indicates the id of hashtable. \n

* @par Attributes:
* @li bucket_size: A Int. \n
*/
REG_OP(InitEmbeddingHashmap)
.INPUT(table_id, TensorType({DT_UINT32}))
.ATTR(bucket_size, Int, 0)
.OP_END_FACTORY_REG(InitEmbeddingHashmap)

/**
* @brief embedding hsahtable data import. \n

* @par Inputs:
* @li file_path: A Tensor, dtype is string. 0-D. indicates embedding filepath.
* @li file_name: A Tensor, dtype is string. 0-D. indicates embedding filename.
* @li ps_id: A Tensor, dtype is uint32. 0-D. indicates the id of ps.
* @li table_id: A Tensor, dtype is uint32. 0-D. indicates the id of hashtable.
* @li embedding_dim: A Tensor, dtype is uint32. 0-D. indicates the hashtable value number. \n
*/
REG_OP(EmbeddingTableImport)
.INPUT(file_path, TensorType({DT_STRING}))
.INPUT(file_name, TensorType({DT_STRING}))
.INPUT(ps_id, TensorType({DT_UINT32}))
.INPUT(table_id, TensorType({DT_UINT32}))
.INPUT(embedding_dim, TensorType({DT_UINT32}))
.OP_END_FACTORY_REG(EmbeddingTableImport)

/**
* @brief embedding hsahtable data lookup. \n

* @par Inputs:
* @li table_id: A Tensor, dtype is uint32. 0-D. indicates the id of hashtable.
* @li keys: A Tensor, dtype is uint32. 1-D. indicates the hashtable key. \n

* @par Outputs:
* @li values: indicates the hashtable value. \n
*/
REG_OP(EmbeddingTableFind)
.INPUT(table_id, TensorType({DT_UINT32}))
.INPUT(keys, TensorType({DT_UINT64}))
.OUTPUT(values, TensorType({DT_FLOAT}))
.OP_END_FACTORY_REG(EmbeddingTableFind)

/**
* @brief uninit embedding hsahtable. \n

* @par Inputs:
* @li table_id: A Tensor, dtype is uint32. 0-D. indicates the id of hashtable. \n
*/
REG_OP(UninitEmbeddingHashmap)
.INPUT(table_id, TensorType({DT_UINT32}))
.OP_END_FACTORY_REG(UninitEmbeddingHashmap)
} // namespace ge

#endif // OPS_BUILT_IN_OP_PROTO_INC_EXPERIMENT_OPS_H_

+ 94
- 0
third_party/fwkacllib/inc/ops/image_ops.h View File

@@ -167,6 +167,56 @@ REG_OP(CropAndResize)
.OP_END_FACTORY_REG(CropAndResize)

/**
* @brief Extracts crops from the input image tensor and resizes them. Extracts
crops from the input image tensor and resizes them using bilinear sampling or
nearest neighbor sampling to a common output size specified by crop_size . \n

* @par Inputs:
* Input x must be a 4-D tensor. Inputs include:
* @li x: A Tensor. Must be one of the following types:uint8, uint16, int8,
int16, int32, int64, float16, float, double. A 4-D tensor of shape
[batch, image_height, image_width, depth]. The format must be NHWC.
* @li boxes: A Tensor. Must be the float types.
A 2-D tensor of shape [num_boxes, 4].
* @li box_index: A Tensor of type int32. A 1-D tensor of shape [num_boxes] with
int32 values in [0, batch).
* @li crop_size: A Tensor of type int32. A 1-D tensor of 2 elements,
crop_size = [crop_height, crop_width].
All cropped image patches are resized to this size . \n

* @par Attributes:
* @li extrapolation_value: An optional float. Defaults to 0. Value used for
extrapolation, when applicable.
* @li method: An optional string from: '"bilinear", "nearest"'. Defaults to
"bilinear". Currently two sampling methods are supported: Bilinear
and NearestNeighbor .
* @li dtype: An Type attr, support type list [uint8, float16, float].
Defaults to DT_FLOAT . \n

* @par Outputs:
* y: A Tensor. Must be one of the following types: uint8, float16, float.
The format must be NHWC. \n

* @attention Constraints:
* Input images must be a 4-D tensor . \n

* @par Third-party framework compatibility
* Compatible with tensorflow CropAndResize operator.
*/

REG_OP(CropAndResizeV2)
.INPUT(x, TensorType({DT_UINT8, DT_UINT16, DT_INT8, \
DT_INT16, DT_INT32, DT_INT64, DT_FLOAT16, DT_FLOAT, DT_DOUBLE}))
.INPUT(boxes, TensorType({DT_FLOAT}))
.INPUT(box_index, TensorType({DT_INT32}))
.INPUT(crop_size, TensorType({DT_INT32}))
.OUTPUT(y, TensorType({DT_UINT8, DT_FLOAT16, DT_FLOAT}))
.ATTR(extrapolation_value, Float, 0)
.ATTR(method, String, "bilinear")
.ATTR(dtype, Type, DT_FLOAT)
.OP_END_FACTORY_REG(CropAndResizeV2)

/**
*@brief Extracts crops from the input image tensor and resizes them.
* Extracts crops from the input image tensor and resizes them using bilinear sampling or
* nearest neighbor sampling to a common output size specified by crop_size . \n
@@ -2395,6 +2445,50 @@ REG_OP(EncodeJpegVariableQuality)
.OP_END_FACTORY_REG(EncodeJpegVariableQuality)

/**
* @brief Select top 'pre_nms_topn' scoring boxes, decodes them with respect to anchors, applies non-maximal suppression
* on overlapping boxes with higher than 'nms_threshold' intersection-over-union (IoU) value, discarding boxes where
* shorter side is less than 'min_size'. \n

* @par Inputs:
* scores: 4-D tensor with shape of [num_images, height, width, num_anchors], containing the scores of the boxes for
* given anchors, can be unsorted. Must be one of the following types: float32 . \n
* bbox_deltas: 4-D tensor with shape of [num_images, height, width, 4 * num_anchors], encoding boxes with respect to
* each anchor. Coordinates are given in the form [dy, dx, dh, dw]. Must be one of the following types: float32.. \n
* image_info: 2-D tensor with shape of [num_images, 5], containing image information Height, Width, Scale. Must be one
* of the following types: float32. \n
* anchors: 3-D tensor with shape of [height, width, 4 * num_anchors], describing the anchor boxes. Boxes are formatted
* in the form [y1, x1, y2, x2]. Must be one of the following types: float32. \n
* nms_threshold: A scalar of type float32, non-maximal suppression threshold. \n
* pre_nms_topn: A scalar of type int32, number of top scoring boxes to be used as input. \n
* min_size: A scalar of type float32, Any boxes that has a smaller size than min_size will be discarded. \n

* @par Attributes:
* post_nms_topn: An optional float. Maximum number of rois in the output. Defaults to be 300. \n

* @par Outputs:
* @li rois: 3-D tensor with shape of [num_images, post_nms_topn, 4], padded by 0 if less than 'post_nms_topn'. Must be
* one of the following types: float32 . \n
* @li rois_probabilities: 2-D tensor with shape of [num_images, post_nms_topn], probability of each roi in 'rois'
* padded by 0 if needed, sorted by scores. Must be one of the following types: float32. \n

* @attention Constraints:+
* Only supports 2864 input boxes at one time.\n

*/
REG_OP(GenerateBoundingBoxProposals)
.INPUT(scores, TensorType({DT_FLOAT}))
.INPUT(bbox_deltas, TensorType({DT_FLOAT}))
.INPUT(image_info, TensorType({DT_FLOAT}))
.INPUT(anchors, TensorType({DT_FLOAT}))
.INPUT(nms_threshold, TensorType({DT_FLOAT}))
.INPUT(pre_nms_topn, TensorType({DT_INT32}))
.INPUT(min_size, TensorType({DT_FLOAT}))
.OUTPUT(rois, TensorType({DT_FLOAT}))
.OUTPUT(rois_probabilities, TensorType({DT_FLOAT}))
.ATTR(post_nms_topn, Int, 300)
.OP_END_FACTORY_REG(GenerateBoundingBoxProposals)

/**
* @brief image to transforms. \n

* @par Inputs:


+ 12
- 12
third_party/fwkacllib/inc/ops/math_ops.h View File

@@ -261,11 +261,11 @@ sorted and can be repeated . \n

REG_OP(SparseSegmentSum)
.INPUT(x, TensorType({DT_INT8, DT_UINT8, DT_INT16, DT_UINT16,
DT_INT32, DT_INT64, DT_DOUBLE, DT_FLOAT, DT_FLOAT16}))
.INPUT(indices, TensorType({DT_INT32}))
.INPUT(segment_ids, TensorType({DT_INT32}))
DT_INT32, DT_UINT32, DT_INT64, DT_UINT64, DT_DOUBLE, DT_FLOAT, DT_FLOAT16}))
.INPUT(indices, TensorType({DT_INT32, DT_INT64}))
.INPUT(segment_ids, TensorType({DT_INT32, DT_INT64}))
.OUTPUT(y, TensorType({DT_INT8, DT_UINT8, DT_INT16, DT_UINT16,
DT_INT32, DT_INT64, DT_DOUBLE, DT_FLOAT, DT_FLOAT16}))
DT_INT32, DT_UINT32, DT_INT64, DT_UINT64, DT_DOUBLE, DT_FLOAT, DT_FLOAT16}))
.OP_END_FACTORY_REG(SparseSegmentSum)

/**
@@ -287,10 +287,10 @@ sorted and can be repeated . \n
*/

REG_OP(SparseSegmentMean)
.INPUT(x, TensorType({DT_FLOAT, DT_DOUBLE}))
.INPUT(indices, TensorType({DT_INT32}))
.INPUT(segment_ids, TensorType({DT_INT32}))
.OUTPUT(y, TensorType({DT_FLOAT, DT_DOUBLE}))
.INPUT(x, TensorType({DT_FLOAT, DT_DOUBLE, DT_FLOAT16}))
.INPUT(indices, TensorType({DT_INT32, DT_INT64}))
.INPUT(segment_ids, TensorType({DT_INT32, DT_INT64}))
.OUTPUT(y, TensorType({DT_FLOAT, DT_DOUBLE, DT_FLOAT16}))
.OP_END_FACTORY_REG(SparseSegmentMean)

/**
@@ -315,11 +315,11 @@ SparseSegmentMean op . \n
*/

REG_OP(SparseSegmentMeanGrad)
.INPUT(x, TensorType({DT_FLOAT, DT_DOUBLE}))
.INPUT(indices, TensorType({DT_INT32}))
.INPUT(segment_ids, TensorType({DT_INT32}))
.INPUT(x, TensorType({DT_FLOAT, DT_DOUBLE, DT_FLOAT16}))
.INPUT(indices, TensorType({DT_INT32, DT_INT64}))
.INPUT(segment_ids, TensorType({DT_INT32, DT_INT64}))
.INPUT(output_dim0, TensorType({DT_INT32}))
.OUTPUT(y, TensorType({DT_FLOAT, DT_DOUBLE}))
.OUTPUT(y, TensorType({DT_FLOAT, DT_DOUBLE, DT_FLOAT16}))
.OP_END_FACTORY_REG(SparseSegmentMeanGrad)

/**


+ 41
- 7
third_party/fwkacllib/inc/ops/nn_norm_ops.h View File

@@ -211,7 +211,7 @@ REG_OP(SigmoidCrossEntropyWithLogitsV2)
* reduction type to be applied to the output. Defaults to "mean". \n

* @par Outputs:
* loss: Sigmoid focal loss between the predicted value and target value. Has the same dimensions as "pred". \n
* y: Sigmoid focal loss between the predicted value and target value. Has the same dimensions as "pred". \n

* @par Third-party framework compatibility
* Compatible with mmcv operator SigmoidFocalLoss.
@@ -220,13 +220,47 @@ REG_OP(SigmoidFocalLoss)
.INPUT(pred, TensorType({DT_FLOAT16,DT_FLOAT}))
.INPUT(target, TensorType({DT_INT32}))
.OPTIONAL_INPUT(weight, TensorType({DT_FLOAT16, DT_FLOAT}))
.OUTPUT(loss, TensorType({DT_FLOAT16,DT_FLOAT}))
.OUTPUT(y, TensorType({DT_FLOAT16,DT_FLOAT}))
.ATTR(gamma, Float, 2.0)
.ATTR(alpha, Float, 0.25)
.ATTR(reduction, String, "mean")
.OP_END_FACTORY_REG(SigmoidFocalLoss)

/**
* @brief Computes the softmax focal loss of "pred" and "target".

* @par Inputs:
* Three inputs, including:
* @li pred: A 2-dimensional Tensor of type float16 or float32, specifying the predicted value.
* @li target: A 1-dimensional Tensor of type int32, specifying the target value.
* @li weight: A 1-dimensional Tensor, specifying the weight value on class_wise. \n

* @par Attributes:
* @li gamma: An optional float, specifying the exponent of the modulating factor (1 - pt)
* to balance easy/hard examples. Defaults to 2.0.
* @li alpha: An optional float, specifying the weighting factor in range (1, 0) to balance
* the importance of positive/negative examples or less than 0 for ignore. Defaults to 0.25.
* @li reduction: A optional character string from "none", "mean", and "sum", specifying the
* reduction type to be applied to the output. Defaults to "mean". reduction only support
* "none" currently for matching mmcv.\n

* @par Outputs:
* y: Softmax focal loss between the predicted value and target value. Has the same dimensions as "pred". \n

* @par Third-party framework compatibility
* Compatible with mmcv operator SoftmaxFocalLoss.
*/
REG_OP(SoftmaxFocalLoss)
.INPUT(pred, TensorType({DT_FLOAT16,DT_FLOAT}))
.INPUT(target, TensorType({DT_INT32}))
.OPTIONAL_INPUT(weight, TensorType({DT_FLOAT16, DT_FLOAT}))
.OUTPUT(y, TensorType({DT_FLOAT16,DT_FLOAT}))
.ATTR(gamma, Float, 2.0)
.ATTR(alpha, Float, 0.25)
.ATTR(reduction, String, "mean")
.OP_END_FACTORY_REG(SoftmaxFocalLoss)

/**
* @brief Computes the regression box of the RPN. It is a FasterRCNN operator .

*@par Inputs:
@@ -885,10 +919,10 @@ REG_OP(LNDropoutGrad)
* @li x: A mutable Tensor. Must be one of the following types:
* float16, float32
* @li mask: A mutable Tensor. Must met all of the following rules:
* shape of mask should be 1D.
* dtype of mask should be uint8.
* value of shape should met the following algorithm:
* value = (size(x) + 128 - 1) // 128 * 128 //8
* dtype of mask should be uint8 or uint1.
* if data type of mask is uint8, shape of mask should be 1D. value of shape should met the following algorithm:
* value = (size(x) + 128 - 1) // 128 * 128 // 8
* if data type of mask is uint1, shape of mask should be same to x.
* @li keep_prob: A mutable Tensor. Must met all of the following rules:
* shape of "keep_prob" should be (1,) or [1,].
* Has the same type as "x" . \n
@@ -898,7 +932,7 @@ REG_OP(LNDropoutGrad)
*/
REG_OP(DropOutDoMask)
.INPUT(x, TensorType({DT_FLOAT, DT_FLOAT16}))
.INPUT(mask, TensorType({DT_UINT8}))
.INPUT(mask, TensorType({DT_UINT8, DT_UINT1}))
.INPUT(keep_prob, TensorType({DT_FLOAT, DT_FLOAT16}))
.OUTPUT(y, TensorType({DT_FLOAT, DT_FLOAT16}))
.OP_END_FACTORY_REG(DropOutDoMask)


+ 1
- 1
third_party/fwkacllib/inc/ops/nn_pooling_ops.h View File

@@ -242,7 +242,7 @@ REG_OP(AvgPool3DD)
.INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE}))
.OPTIONAL_INPUT(filter, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE}))
.OPTIONAL_INPUT(multiplier, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE}))
.OUTPUT(y, TensorType({DT_FLOAT, DT_FLOAT, DT_DOUBLE}))
.OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE}))
.REQUIRED_ATTR(ksize, ListInt)
.REQUIRED_ATTR(strides, ListInt)
.REQUIRED_ATTR(pads, ListInt)


+ 32
- 0
third_party/fwkacllib/inc/ops/random_ops.h View File

@@ -565,6 +565,7 @@ include:
* @li seed:If seed is set to be -1, and offset is set to be 0, the random number
* generator is seeded by arandom seed. Otherwise, it is seeded by the given seed.
* @li offset:To avoid seed collision . \n
* @li dtype: The type of the output.

* @par Outputs:
* y:A Tensor. A Tensor of type int8, uint8, int16, uint16,
@@ -577,6 +578,7 @@ REG_OP(StatelessBernoulli)
.INPUT(offset, TensorType({ DT_INT64 }))
.OUTPUT(y, TensorType({ DT_INT8, DT_UINT8, DT_INT16, DT_UINT16, DT_INT32, DT_UINT32,
DT_INT64, DT_UINT64, DT_BOOL, DT_FLOAT16, DT_FLOAT, DT_DOUBLE, DT_BF16}))
.ATTR(dtype, Type, DT_FLOAT)
.OP_END_FACTORY_REG(StatelessBernoulli)
/**
*@brief Generates values in an interval . \n
@@ -949,5 +951,35 @@ REG_OP(StatelessRandperm)
.ATTR(dtype, Type, DT_INT64)
.OP_END_FACTORY_REG(StatelessRandperm)

/*
* @brief Generate random bool or uint1 mask for dropout v4 . \n

* @par Inputs:
include:
* @li shape:The shape of the output tensor.
* @li prob:0-D. Prob of 1 . \n

* @par Attributes:
* @li seed:If either seed or seed2 are set to be non-zero, the random number
* generator is seeded by the given seed. Otherwise, it is seeded by a random seed.
* @li seed2:A second seed to avoid seed collision.
* @li dtype:dtype of out put tensor, default is bool . \n

* @par Outputs:
* y:Output random number using bool or uint1 data format . \n

* @par Restrictions:
* Warning: THIS FUNCTION IS EXPERIMENTAL. Please do not use.

* @see DropOutGenMaskV4()
*/
REG_OP(DropOutGenMaskV4)
.INPUT(shape, TensorType({ DT_INT32, DT_INT64 }))
.INPUT(prob, TensorType({ DT_FLOAT16, DT_FLOAT }))
.OUTPUT(y, TensorType({ DT_BOOL, DT_UINT1 }))
.ATTR(seed, Int, 0)
.ATTR(seed2, Int, 0)
.ATTR(dtype, Type, DT_BOOL)
.OP_END_FACTORY_REG(DropOutGenMaskV4)
} // namespace ge
#endif // OPS_BUILT_IN_OP_PROTO_INC_RANDOM_OPS_H_

+ 4
- 4
third_party/fwkacllib/inc/ops/selection_ops.h View File

@@ -261,10 +261,10 @@ REG_OP(GatherV2D)
*/
REG_OP(GatherElements)
.INPUT(x, TensorType({DT_FLOAT16,DT_FLOAT,DT_INT8,DT_INT16,DT_INT32,
DT_INT64,DT_UINT8,DT_UINT16,DT_UINT32,DT_UINT64}))
DT_INT64,DT_UINT8,DT_UINT16,DT_UINT32,DT_UINT64,DT_BOOL}))
.INPUT(index, TensorType({DT_INT32,DT_INT64}))
.OUTPUT(y, TensorType({DT_FLOAT16,DT_FLOAT,DT_INT8,DT_INT16,DT_INT32,
DT_INT64,DT_UINT8,DT_UINT16,DT_UINT32,DT_UINT64}))
DT_INT64,DT_UINT8,DT_UINT16,DT_UINT32,DT_UINT64,DT_BOOL}))
.ATTR(dim, Int, 0)
.OP_END_FACTORY_REG(GatherElements)

@@ -2366,7 +2366,7 @@ REG_OP(SliceLastDim)
* @par Attributes:
* @li begin_mask: A Tensor of type int32.
* Developers can ignore this attribute.
* A bitmask where a bit "i" being "1" means to ignore the begin
* A bitmask where a bit "i" being "1" means to ignore the begin
* value and instead use the largest interval possible.
* @li end_mask: A Tensor of type int32.
* Developers can ignore this attribute.
@@ -2377,7 +2377,7 @@ REG_OP(SliceLastDim)
* is actually an ellipsis.
* @li new_axis_mask: A Tensor of type int32.
* Developers can ignore this attribute.
* A bitmask where bit "i" being "1" means the "i"th
* A bitmask where bit "i" being "1" means the "i"th
* specification creates a new shape 1 dimension.
* @li shrink_axis_mask: A Tensor of type int32.
* Developers can ignore this attribute.


+ 8
- 6
third_party/fwkacllib/inc/runtime/config.h View File

@@ -51,10 +51,10 @@ typedef enum tagRtDeviceCapabilityType {
RT_SCHEDULE_SOFTWARE_OPT,
RT_SCHEDULE_HARDWARE, // HWTS Schedule
RT_AICPU_BLOCKING_OP_NOT_SUPPORT,
RT_AICPU_BLOCKING_OP_SUPPORT, // 1910/1980/1951 ts support AICPU blocking operation
RT_AICPU_BLOCKING_OP_SUPPORT, // 1910/1980/51 ts support AICPU blocking operation
RT_MODE_NO_FFTS, // no ffts
RT_MODE_FFTS, // 1981 get ffts work mode, ffts
RT_MODE_FFTS_PLUS, // 1981 get ffts work mode, ffts plus
RT_MODE_FFTS, // 81 get ffts work mode, ffts
RT_MODE_FFTS_PLUS, // 81 get ffts work mode, ffts plus
} rtDeviceCapabilityType;

typedef enum tagRtVersion {
@@ -82,9 +82,11 @@ typedef enum tagRtPlatformType {
PLATFORM_CLOUD_V2_910B1 = 10,
PLATFORM_CLOUD_V2_910B2 = 11,
PLATFORM_CLOUD_V2_910B3 = 12,
PLATFORM_CLOUD_V2_910B4 = 13,
PLATFORM_MDC_PG2 = 14,
PLATFORM_END = 15,
PLATFORM_CLOUD_V2_910C1 = 13,
PLATFORM_CLOUD_V2_910C2 = 14,
PLATFORM_CLOUD_V2_910C3 = 15,
PLATFORM_MDC_BS9SX1A = 16,
PLATFORM_END = 17,
} rtPlatformType_t;

typedef enum tagRtCubeFracMKNFp16 {


+ 18
- 1
third_party/fwkacllib/inc/runtime/dev.h View File

@@ -79,9 +79,14 @@ typedef enum tagRtDeviceModuleType {
RT_MODULE_TYPE_AICORE, /**< AI CORE info*/
RT_MODULE_TYPE_TSCPU, /**< tscpu info*/
RT_MODULE_TYPE_PCIE, /**< PCIE info*/
RT_MODULE_TYPE_VECTOR_CORE, /**< VECTOR CORE info*/
RT_MODULE_TYPE_VECTOR_CORE /**< VECTOR CORE info*/
} rtDeviceModuleType_t;

typedef enum tagRtPhyDeviceInfoType {
RT_PHY_INFO_TYPE_CHIPTYPE = 0,
RT_PHY_INFO_TYPE_MASTER_ID
} rtPhyDeviceInfoType_t;

typedef enum tagRtMemRequestFeature {
MEM_REQUEST_FEATURE_DEFAULT = 0,
MEM_REQUEST_FEATURE_OPP,
@@ -149,6 +154,18 @@ RTS_API rtError_t rtGetDeviceIDs(uint32_t *devices, uint32_t len);
RTS_API rtError_t rtGetDeviceInfo(uint32_t deviceId, int32_t moduleType, int32_t infoType, int64_t *val);

/**
* @ingroup dvrt_dev
* @brief get phy device infomation.
* @param [int] phyId the physic Id
* @param [int] moduleType module type
* @param [int] infoType info type
* @param [out] val the device info
* @return RT_ERROR_NONE for ok
* @return RT_ERROR_DRV_ERR for error
*/
RTS_API rtError_t rtGetPhyDeviceInfo(uint32_t phyId, int32_t moduleType, int32_t infoType, int64_t *val);

/**
* @ingroup dvrt_dev
* @brief set target device for current thread
* @param [int] devId the device id


+ 15
- 4
third_party/fwkacllib/inc/runtime/kernel.h View File

@@ -19,7 +19,7 @@ extern "C" {
* @brief shared memory data control
*/
typedef struct tagRtSmData {
uint64_t L2_mirror_addr; // preload or swap source address
uint64_t L2_mirror_addr; // preload or swap source addr
uint32_t L2_data_section_size; // every data size
uint8_t L2_preload; // 1 - preload from mirrorAddr, 0 - no preload
uint8_t modified; // 1 - data will be modified by kernel, 0 - no modified
@@ -377,7 +377,7 @@ RTS_API rtError_t rtQueryFunctionRegistered(const char_t *stubName);
* @brief config data dump
* @param [in] dumpSizePerBlock dump size
* @param [in] blockDim block dimentions
* @param [in] dumpBaseAddr dump base address
* @param [in] dumpBaseAddr dump base addr
* @return RT_ERROR_NONE for ok
* @return RT_ERROR_INVALID_VALUE for error input
*/
@@ -577,15 +577,26 @@ RTS_API rtError_t rtDatadumpInfoLoad(const void *dumpInfo, uint32_t length);

/**
* @ingroup rt_kernel
* @brief load dump info to aicpu
* @param [in] dumpInfo dump info
* @param [in] length length of dump info
* @param [in] flag RT_KERNEL_DEFAULT or RT_KERNEL_CUSTOM_AICPU
* @return RT_ERROR_NONE for ok
* @return RT_ERROR_INVALID_VALUE for error input
*/
RTS_API rtError_t rtDatadumpInfoLoadWithFlag(const void *dumpInfo, const uint32_t length, const uint32_t flag);

/**
* @ingroup rt_kernel
* @brief launch npu get float status task
* @param [in] outputAddr pointer to op output addr
* @param [in] outputAddrPtr pointer to op output addr
* @param [in] outputSize op output size
* @param [in] checkMode check mode
* @param [in] stm associated stream
* @return RT_ERROR_NONE for ok
* @return RT_ERROR_INVALID_VALUE for error input
*/
RTS_API rtError_t rtNpuGetFloatStatus(void *outputAddr, uint64_t outputSize, uint32_t checkMode, rtStream_t stm);
RTS_API rtError_t rtNpuGetFloatStatus(void *outputAddrPtr, uint64_t outputSize, uint32_t checkMode, rtStream_t stm);

/**
* @ingroup rt_kernel


+ 18
- 7
third_party/fwkacllib/inc/runtime/mem.h View File

@@ -29,7 +29,7 @@ extern "C" {
#define RT_MEMORY_P2P_DDR (0x11U) // DDR memory on other device
#define RT_MEMORY_DDR_NC (0x20U) // DDR memory of non-cache
#define RT_MEMORY_TS (0x40U) // Used for Ts memory
#define RT_MEMORY_TS_4G (0x40U) // Used for Ts memory(only 1951)
#define RT_MEMORY_TS_4G (0x40U) // Used for Ts memory(only 51)
#define RT_MEMORY_HOST (0x81U) // Memory on host
#define RT_MEMORY_SVM (0x90U) // Memory for SVM
#define RT_MEMORY_HOST_SVM (0x90U) // Memory for host SVM
@@ -222,6 +222,7 @@ typedef struct {
*/
RTS_API rtError_t rtMalloc(void **devPtr, uint64_t size, rtMemType_t type);

RTS_API rtError_t rtMallocV2(void **devPtr, uint64_t size, rtMemType_t type, const uint16_t moduleId);
/**
* @ingroup dvrt_mem
* @brief free device memory
@@ -241,6 +242,8 @@ RTS_API rtError_t rtFree(void *devPtr);
*/
RTS_API rtError_t rtDvppMalloc(void **devPtr, uint64_t size);

rtError_t rtDvppMallocV2(void **devPtr, uint64_t size, uint16_t moduleId);

/**
* @ingroup dvrt_mem
* @brief alloc device memory for dvpp, support set flag
@@ -253,6 +256,8 @@ RTS_API rtError_t rtDvppMalloc(void **devPtr, uint64_t size);
*/
RTS_API rtError_t rtDvppMallocWithFlag(void **devPtr, uint64_t size, uint32_t flag);

RTS_API rtError_t rtDvppMallocWithFlagV2(void **devPtr, uint64_t size, uint32_t flag, const uint16_t moduleId);

/**
* @ingroup dvrt_mem
* @brief free device memory for dvpp
@@ -272,6 +277,8 @@ RTS_API rtError_t rtDvppFree(void *devPtr);
*/
RTS_API rtError_t rtMallocHost(void **hostPtr, uint64_t size);

RTS_API rtError_t rtMallocHostV2(void **hostPtr, uint64_t size, uint16_t moduleId);

/**
* @ingroup dvrt_mem
* @brief free host memory
@@ -314,6 +321,8 @@ RTS_API rtError_t rtFreeHostSharedMemory(rtFreeHostSharedMemoryIn *in);
*/
RTS_API rtError_t rtMemAllocManaged(void **ptr, uint64_t size, uint32_t flag);

RTS_API rtError_t rtMemAllocManagedV2(void **ptr, uint64_t size, uint32_t flag, uint16_t moduleId);

/**
* @ingroup dvrt_mem
* @brief free managed memory
@@ -333,10 +342,12 @@ RTS_API rtError_t rtMemFreeManaged(void *ptr);
*/
RTS_API rtError_t rtMallocCached(void **devPtr, uint64_t size, rtMemType_t type);

RTS_API rtError_t rtMallocCachedV2(void **devPtr, uint64_t size, rtMemType_t type, uint16_t moduleId);

/**
* @ingroup dvrt_mem
* @brief flush device mempory
* @param [in] base virtal base address
* @param [in] base virtal base addr
* @param [in] len memory size
* @return RT_ERROR_NONE for ok, errno for failed
*/
@@ -345,7 +356,7 @@ RTS_API rtError_t rtFlushCache(void *base, size_t len);
/**
* @ingroup dvrt_mem
* @brief invalid device mempory
* @param [in] base virtal base address
* @param [in] base virtal base addr
* @param [in] len memory size
* @return RT_ERROR_NONE for ok, errno for failed
*/
@@ -399,15 +410,15 @@ RTS_API rtError_t rtMemcpyAsync(void *dst, uint64_t destMax, const void *src, ui
* @param [in] dst destination address pointer
* @param [in] Max length of destination address memory
* @param [in] src source address pointer
* @param [in] count the number of byte to copy
* @param [in] cnt the number of byte to copy
* @param [in] kind memcpy type
* @param [in] stream asynchronized task stream
* @param [in] stm asynchronized task stream
* @param [in] qosCfg asynchronized task qosCfg
* @return RT_ERROR_NONE for ok
* @return RT_ERROR_INVALID_VALUE for error input
*/
RTS_API rtError_t rtMemcpyAsyncWithCfg(void *dst, uint64_t destMax, const void *src, uint64_t count,
rtMemcpyKind_t kind, rtStream_t stream, uint32_t qosCfg);
RTS_API rtError_t rtMemcpyAsyncWithCfg(void *dst, uint64_t destMax, const void *src, uint64_t cnt,
rtMemcpyKind_t kind, rtStream_t stm, uint32_t qosCfg);

typedef struct {
uint32_t resv0;


+ 38
- 0
third_party/fwkacllib/inc/runtime/rt_mem_queue.h View File

@@ -402,6 +402,16 @@ RTS_API rtError_t rtMbufSetDataLen(rtMbufPtr_t memBuf, uint64_t len);

/**
* @ingroup rt_mem_queue
* @brief set Data len of Mbuf
* @param [in] memBuf: Mbuf addr
* @param [out] len: data len
* @return RT_ERROR_NONE for success, others for fail
*/
RTS_API rtError_t rtMbufGetDataLen(rtMbufPtr_t memBuf, uint64_t *len);


/**
* @ingroup rt_mem_queue
* @brief get Data addr of Mbuf
* @param [in] memBuf: Mbuf addr
* @param [out] buf: Mbuf data addr
@@ -437,6 +447,34 @@ RTS_API rtError_t rtMbufGetPrivInfo(rtMbufPtr_t memBuf, void **priv, uint64_t *
*/
RTS_API rtError_t rtMbufCopyBufRef(rtMbufPtr_t memBuf, rtMbufPtr_t *newMemBuf);

/**
* @ingroup rt_mem_queue
* @brief append mbuf to mbuf chain
* @param [inout] memBufChainHead, the mbuf chain head
* @param [in] memBuf, the mbuf to append
* @return RT_ERROR_NONE for ok
*/
RTS_API rtError_t rtMbufChainAppend(rtMbufPtr_t memBufChainHead, rtMbufPtr_t memBuf);

/**
* @ingroup rt_mem_queue
* @brief get mbuf num in mbuf chain
* @param [in] memBufChainHead, the mbuf chain head
* @param [out] num, the mbuf chain size
* @return RT_ERROR_NONE for ok
*/
RTS_API rtError_t rtMbufChainGetMbufNum(rtMbufPtr_t memBufChainHead, uint32_t *num);

/**
* @ingroup rt_mem_queue
* @brief get mbuf in mbuf chain
* @param [in] mbufChainHead, the mbuf chain head
* @param [in] index, the mbuf index which to get in chain
* @param [out] mbuf, the mbuf to get
* @return RT_ERROR_NONE for ok
*/
RTS_API rtError_t rtMbufChainGetMbuf(rtMbufPtr_t memBufChainHead, uint32_t index, rtMbufPtr_t *memBuf);

// mem group
typedef struct {
uint64_t maxMemSize; // max buf size in grp, in KB. = 0 means no limit


+ 11
- 0
third_party/fwkacllib/inc/runtime/rt_stars.h View File

@@ -23,6 +23,17 @@ extern "C" {
*/
RTS_API rtError_t rtStarsTaskLaunch(const void *taskSqe, uint32_t sqeLen, rtStream_t stm);

/**
* @ingroup rt_stars
* @brief launch stars task.
* used for send star sqe directly.
* @param [in] taskSqe stars task sqe
* @param [in] sqeLen stars task sqe length
* @param [in] stm associated stream
* @param [in] flag dump flag
* @return RT_ERROR_NONE for ok, others failed
*/
RTS_API rtError_t rtStarsTaskLaunchWithFlag(const void *taskSqe, uint32_t sqeLen, rtStream_t stm, uint32_t flag);

/**
* @ingroup rt_stars


+ 12
- 2
third_party/fwkacllib/inc/runtime/stream.h View File

@@ -28,6 +28,7 @@ extern "C" {
#define RT_STREAM_PRIMARY_DEFAULT (0x40U)
#define RT_STREAM_PRIMARY_FIRST_DEFAULT (0x80U)
#define RT_STREAM_OVERFLOW (0x100U)
#define RT_STREAM_FAST_LAUNCH (0x200U)

/**
* @ingroup stream_type
@@ -73,6 +74,15 @@ RTS_API rtError_t rtStreamDestroy(rtStream_t stm);

/**
* @ingroup dvrt_stream
* @brief force destroy stream instance.
* @param [in] stm the stream to destroy
* @return RT_ERROR_NONE for ok
* @return RT_ERROR_INVALID_VALUE for error input
*/
RTS_API rtError_t rtStreamDestroyForce(rtStream_t stm);

/**
* @ingroup dvrt_stream
* @brief wait an recorded event for stream
* @param [in] stm the wait stream
* @param [in] event the event to wait
@@ -83,10 +93,10 @@ RTS_API rtError_t rtStreamWaitEvent(rtStream_t stm, rtEvent_t evt);

/**
* @ingroup dvrt_stream
* @brief wait an recorded event for stream, used for 1951 pg1
* @brief wait an recorded event for stream, used for 51 pg1
* @param [in] stm the wait stream
* @param [in] event the event to wait
* @param [in] timeout timeout value for 1951 pg1
* @param [in] timeout timeout value for 51 pg1
* @return RT_ERROR_NONE for ok
* @return RT_ERROR_INVALID_VALUE for error input
*/


+ 1
- 0
third_party/fwkacllib/inc/toolchain/slog.h View File

@@ -209,6 +209,7 @@ enum {
OP,
UDF,
HICAID,
TSYNC,
INVLID_MOUDLE_ID
};



Loading…
Cancel
Save