diff --git a/inc/external/acl/acl.h b/inc/external/acl/acl.h index 31e4d7c8..282573c4 100644 --- a/inc/external/acl/acl.h +++ b/inc/external/acl/acl.h @@ -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 /** diff --git a/inc/external/acl/acl_rt.h b/inc/external/acl/acl_rt.h index 28e500c4..e1c3699b 100644 --- a/inc/external/acl/acl_rt.h +++ b/inc/external/acl/acl_rt.h @@ -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 diff --git a/inc/external/acl/acl_tdt_queue.h b/inc/external/acl/acl_tdt_queue.h index 93cd4c1b..7b987b91 100644 --- a/inc/external/acl/acl_tdt_queue.h +++ b/inc/external/acl/acl_tdt_queue.h @@ -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_ \ No newline at end of file +#endif // INC_EXTERNAL_ACL_ACL_TDT_QUEUE_H_ diff --git a/inc/external/ge/ge_api.h b/inc/external/ge/ge_api.h index f000ac46..01efbf6f 100644 --- a/inc/external/ge/ge_api.h +++ b/inc/external/ge/ge_api.h @@ -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 &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 &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 &indexes, std::vector &outputs, + DataFlowInfo &info, int32_t timeout); + private: uint64_t sessionId_; }; diff --git a/inc/external/ge/ge_api_error_codes.h b/inc/external/ge/ge_api_error_codes.h index 7d4cab13..fc05d7ef 100644 --- a/inc/external/ge/ge_api_error_codes.h +++ b/inc/external/ge/ge_api_error_codes.h @@ -36,9 +36,9 @@ (static_cast(0xFFU & (static_cast(sysid))) << 17U) | \ (static_cast(0xFFU & (static_cast(modid))) << 12U) | \ (static_cast(0x0FFFU) & (static_cast(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 { diff --git a/inc/external/ge/ge_api_types.h b/inc/external/ge/ge_api_types.h index 07e4ec46..92074245 100644 --- a/inc/external/ge/ge_api_types.h +++ b/inc/external/ge/ge_api_types.h @@ -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 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 ir_parser_suppported_options = { diff --git a/inc/external/ge/ge_data_flow_api.h b/inc/external/ge/ge_data_flow_api.h new file mode 100644 index 00000000..d6e181aa --- /dev/null +++ b/inc/external/ge/ge_data_flow_api.h @@ -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 +#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 impl_; +}; +} // namespace ge +#endif // INC_EXTERNAL_GE_GE_DATA_FLOW_API_H diff --git a/inc/external/hccl/hccl.h b/inc/external/hccl/hccl.h index 8c8650b9..fae778b9 100644 --- a/inc/external/hccl/hccl.h +++ b/inc/external/hccl/hccl.h @@ -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. diff --git a/inc/external/hccl/hccl_types.h b/inc/external/hccl/hccl_types.h index d7018f8a..cf3670a5 100644 --- a/inc/external/hccl/hccl_types.h +++ b/inc/external/hccl/hccl_types.h @@ -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_ diff --git a/inc/framework/common/debug/ge_log.h b/inc/framework/common/debug/ge_log.h index 37afd233..999e558a 100644 --- a/inc/framework/common/debug/ge_log.h +++ b/inc/framework/common/debug/ge_log.h @@ -35,6 +35,7 @@ extern "C" { #endif #define GE_MODULE_NAME static_cast(GE) +#define GE_MODULE_NAME_U16 static_cast(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, ...) \ diff --git a/inc/framework/common/debug/log.h b/inc/framework/common/debug/log.h index 8af2e10a..78edb625 100644 --- a/inc/framework/common/debug/log.h +++ b/inc/framework/common/debug/log.h @@ -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) \ diff --git a/inc/framework/common/ge_types.h b/inc/framework/common/ge_types.h index 41fab528..5a4ea01b 100644 --- a/inc/framework/common/ge_types.h +++ b/inc/framework/common/ge_types.h @@ -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 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_ diff --git a/inc/framework/common/taskdown_common.h b/inc/framework/common/taskdown_common.h index a72b7d7e..845938eb 100644 --- a/inc/framework/common/taskdown_common.h +++ b/inc/framework/common/taskdown_common.h @@ -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 */ }; diff --git a/inc/framework/common/util.h b/inc/framework/common/util.h index 4c73e449..d5f1730a 100644 --- a/inc/framework/common/util.h +++ b/inc/framework/common/util.h @@ -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 GE_FUNC_VISIBILITY std::string ToString(const std::vector &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 diff --git a/inc/framework/executor/ge_executor.h b/inc/framework/executor/ge_executor.h index 8951697f..f3ad82d7 100644 --- a/inc/framework/executor/ge_executor.h +++ b/inc/framework/executor/ge_executor.h @@ -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 &root_model, - const ModelQueueParam &model_queue_param); + const ModelQueueParam &model_queue_param) const; /// /// @ingroup ge diff --git a/inc/framework/generator/ge_generator.h b/inc/framework/generator/ge_generator.h index ffc5d31a..cdc85f92 100644 --- a/inc/framework/generator/ge_generator.h +++ b/inc/framework/generator/ge_generator.h @@ -109,8 +109,7 @@ class GE_FUNC_VISIBILITY GeGenerator { Graph &graph, std::vector> &inputs_name_type) const; Status BuildOriginalGraphInfo(OpDescPtr &op_desc, const std::vector &inputs, const std::vector &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> &inputs_name_type); private: @@ -125,7 +124,7 @@ class GE_FUNC_VISIBILITY GeGenerator { Status CheckForSingleOp(const OpDescPtr &op_desc, const std::vector &inputs, const std::vector &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; Status SetModelNameForDump(const GeRootModelPtr &ge_root_model); @@ -133,9 +132,13 @@ class GE_FUNC_VISIBILITY GeGenerator { const std::vector &outputs, const std::vector> &inputs_name_type, std::vector &generalized_build_attrs) const; + void AddExcludeEnginesOption(const OpDescPtr &op_desc, std::map &graph_options) const; + void AddShapeGeneralizedOption(std::map &graph_options); + void SetFuzzCompile(const std::vector &inputs, int32_t compile_flag); + bool IsFuzzCompileEnable(); + void ConvertOpInfosToOptions(const OpDescPtr &op_desc); class Impl; - std::shared_ptr impl_; }; } // namespace ge diff --git a/inc/framework/omg/parser/parser_types.h b/inc/framework/omg/parser/parser_types.h index 457e51a7..6b8a81ce 100644 --- a/inc/framework/omg/parser/parser_types.h +++ b/inc/framework/omg/parser/parser_types.h @@ -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 #include @@ -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_ diff --git a/inc/framework/pne/graph_deployment_optimizer.h b/inc/framework/pne/graph_deployment_optimizer.h new file mode 100644 index 00000000..777eaee1 --- /dev/null +++ b/inc/framework/pne/graph_deployment_optimizer.h @@ -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 +#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_ diff --git a/inc/framework/pne/process_node_engine.h b/inc/framework/pne/process_node_engine.h index 61d19a52..8b6362dc 100644 --- a/inc/framework/pne/process_node_engine.h +++ b/inc/framework/pne/process_node_engine.h @@ -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; } diff --git a/inc/framework/runtime/block.h b/inc/framework/runtime/block.h index 5bfa20cc..57a73c98 100644 --- a/inc/framework/runtime/block.h +++ b/inc/framework/runtime/block.h @@ -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; diff --git a/inc/framework/runtime/exe_graph_executor.h b/inc/framework/runtime/exe_graph_executor.h index a94972d3..f5515d75 100644 --- a/inc/framework/runtime/exe_graph_executor.h +++ b/inc/framework/runtime/exe_graph_executor.h @@ -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_; diff --git a/inc/framework/runtime/exe_graph_resource_guard.h b/inc/framework/runtime/exe_graph_resource_guard.h index 9f1e29f0..22f48e66 100644 --- a/inc/framework/runtime/exe_graph_resource_guard.h +++ b/inc/framework/runtime/exe_graph_resource_guard.h @@ -19,6 +19,7 @@ #include #include #include +#include #include "common/ge_visibility.h" namespace gert { diff --git a/inc/framework/runtime/gert_api.h b/inc/framework/runtime/gert_api.h index b8d4423b..b5489f02 100644 --- a/inc/framework/runtime/gert_api.h +++ b/inc/framework/runtime/gert_api.h @@ -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 LoadExecutorFromFile(const char *model_path, ge::graphStatus &error_code); +std::unique_ptr LoadExecutorFromFile(const ge::char_t *model_path, ge::graphStatus &error_code); VISIBILITY_EXPORT std::unique_ptr LoadExecutorFromModelData(const ge::ModelData &model_data, ge::graphStatus &error_code); + +VISIBILITY_EXPORT +std::unique_ptr 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 CreateSingleOpAllocator(); +ge::graphStatus LoadDataFromFile(const ge::char_t *model_path, ge::ModelData &model_data); +VISIBILITY_EXPORT +std::unique_ptr LoadExecutorFromModelDataWithMem(const ge::ModelData &model_data, + ge::graphStatus &error_code, const void *weight_ptr, + const size_t weight_size); + +VISIBILITY_EXPORT +std::unique_ptr CreateDefaultAllocator(); } // namespace gert #endif // AIR_CXX_INC_FRAMEWORK_RUNTIME_GERT_API_H_ diff --git a/inc/framework/runtime/mem_allocator.h b/inc/framework/runtime/mem_allocator.h index 6ed7d554..d742c87b 100644 --- a/inc/framework/runtime/mem_allocator.h +++ b/inc/framework/runtime/mem_allocator.h @@ -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 allocator); private: diff --git a/inc/framework/runtime/model_desc.h b/inc/framework/runtime/model_desc.h index 79433781..b8cfc61a 100644 --- a/inc/framework/runtime/model_desc.h +++ b/inc/framework/runtime/model_desc.h @@ -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> GetOriginShapeRangeVector() const; std::vector> 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::value, "The class ModelDesc must be a POD"); } // namespace gert #endif // AIR_CXX_INC_FRAMEWORK_RUNTIME_MODEL_DESC_H_ \ No newline at end of file diff --git a/inc/framework/runtime/model_v2_executor.h b/inc/framework/runtime/model_v2_executor.h index 7dab8361..89a08f4c 100644 --- a/inc/framework/runtime/model_v2_executor.h +++ b/inc/framework/runtime/model_v2_executor.h @@ -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::value, "The class ModelExecuteArg must be a POD"); @@ -55,6 +54,43 @@ class VISIBILITY_EXPORT ModelV2Executor { static std::unique_ptr 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 graphs_; ResourceGuard resource_guard_; + std::array graphs_; ModelDesc *model_desc_ = nullptr; rtStream_t default_stream_ = nullptr; ExecutorSubscribersScheduler subscribers_; diff --git a/inc/framework/runtime/stream_executor.h b/inc/framework/runtime/stream_executor.h new file mode 100644 index 00000000..dbec970b --- /dev/null +++ b/inc/framework/runtime/stream_executor.h @@ -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 +#include +#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> streams_to_executor_; +}; +} // namespace gert +#endif // AIR_CXX_STREAM_EXECUTOR_H diff --git a/inc/framework/runtime/subscriber/built_in_subscriber_definitions.h b/inc/framework/runtime/subscriber/built_in_subscriber_definitions.h index 8c819d58..ff98f737 100644 --- a/inc/framework/runtime/subscriber/built_in_subscriber_definitions.h +++ b/inc/framework/runtime/subscriber/built_in_subscriber_definitions.h @@ -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(ProfilingType::kNum) < sizeof(uint64_t) * 8, +static_assert(static_cast(ProfilingType::kNum) < sizeof(uint64_t) * static_cast(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(DumpType::kNum) < sizeof(uint64_t) * 8, +enum class DumpType { kDataDump = 0, kExceptionDump = 1, kNum = 2, kAll = kNum }; +static_assert(static_cast(DumpType::kNum) < sizeof(uint64_t) * static_cast(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 &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; } diff --git a/inc/framework/runtime/subscriber/executor_subscribers_scheduler.h b/inc/framework/runtime/subscriber/executor_subscribers_scheduler.h index cb6d13d3..78c0b851 100644 --- a/inc/framework/runtime/subscriber/executor_subscribers_scheduler.h +++ b/inc/framework/runtime/subscriber/executor_subscribers_scheduler.h @@ -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(GlobalProfilingWrapper::GetInstance()->GetEnableFlags()) || + static_cast(GlobalDumper::GetInstance()->GetEnableFlags()); } void SetEnable(bool enable_flag) { enabled_ = enable_flag; diff --git a/inc/framework/runtime/subscriber/global_dumper.h b/inc/framework/runtime/subscriber/global_dumper.h index d17f0026..03f029ed 100644 --- a/inc/framework/runtime/subscriber/global_dumper.h +++ b/inc/framework/runtime/subscriber/global_dumper.h @@ -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 #include #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 lk(exception_infos_mutex_); - exception_infos_.emplace_back(*exception_data); - } + void AddExceptionInfo(const rtExceptionInfo *exception_data) const; - const std::vector &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(dump_type); + return static_cast(enable_flags_ & BuiltInSubscriberUtil::EnableBit(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 exception_infos_; - std::mutex exception_infos_mutex_; }; } // namespace gert #endif diff --git a/inc/framework/runtime/subscriber/global_profiling.h b/inc/framework/runtime/subscriber/global_profiler.h similarity index 92% rename from inc/framework/runtime/subscriber/global_profiling.h rename to inc/framework/runtime/subscriber/global_profiler.h index d0f5b722..f8a5c564 100644 --- a/inc/framework/runtime/subscriber/global_profiling.h +++ b/inc/framework/runtime/subscriber/global_profiler.h @@ -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 #include @@ -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; } diff --git a/metadef b/metadef index dd39e0ff..b0adaafa 160000 --- a/metadef +++ b/metadef @@ -1 +1 @@ -Subproject commit dd39e0ff029fc32d7cfff0147824e7c302d7796a +Subproject commit b0adaafa9183a8e453ebcd23710ca9c61159c51f diff --git a/third_party/fwkacllib/inc/hccl/base.h b/third_party/fwkacllib/inc/hccl/base.h index 5b2f34be..781f2910 100644 --- a/third_party/fwkacllib/inc/hccl/base.h +++ b/third_party/fwkacllib/inc/hccl/base.h @@ -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 { diff --git a/third_party/fwkacllib/inc/ops/OWNERS b/third_party/fwkacllib/inc/ops/OWNERS index 60662397..79a78510 100755 --- a/third_party/fwkacllib/inc/ops/OWNERS +++ b/third_party/fwkacllib/inc/ops/OWNERS @@ -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 diff --git a/third_party/fwkacllib/inc/ops/all_ops.h b/third_party/fwkacllib/inc/ops/all_ops.h index 78ef3446..ced551b5 100644 --- a/third_party/fwkacllib/inc/ops/all_ops.h +++ b/third_party/fwkacllib/inc/ops/all_ops.h @@ -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" diff --git a/third_party/fwkacllib/inc/ops/data_flow_ops.h b/third_party/fwkacllib/inc/ops/data_flow_ops.h index d812f7a9..4b33ebf4 100644 --- a/third_party/fwkacllib/inc/ops/data_flow_ops.h +++ b/third_party/fwkacllib/inc/ops/data_flow_ops.h @@ -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_ diff --git a/third_party/fwkacllib/inc/ops/elewise_calculation_ops.h b/third_party/fwkacllib/inc/ops/elewise_calculation_ops.h index 0d626c75..6c9be11d 100644 --- a/third_party/fwkacllib/inc/ops/elewise_calculation_ops.h +++ b/third_party/fwkacllib/inc/ops/elewise_calculation_ops.h @@ -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_ diff --git a/third_party/fwkacllib/inc/ops/experiment_ops.h b/third_party/fwkacllib/inc/ops/experiment_ops.h index 7f1e47ff..08ed377f 100644 --- a/third_party/fwkacllib/inc/ops/experiment_ops.h +++ b/third_party/fwkacllib/inc/ops/experiment_ops.h @@ -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_ diff --git a/third_party/fwkacllib/inc/ops/image_ops.h b/third_party/fwkacllib/inc/ops/image_ops.h index c4493682..d77cfc8e 100644 --- a/third_party/fwkacllib/inc/ops/image_ops.h +++ b/third_party/fwkacllib/inc/ops/image_ops.h @@ -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: diff --git a/third_party/fwkacllib/inc/ops/math_ops.h b/third_party/fwkacllib/inc/ops/math_ops.h index f4c5d2b4..bc7faf80 100644 --- a/third_party/fwkacllib/inc/ops/math_ops.h +++ b/third_party/fwkacllib/inc/ops/math_ops.h @@ -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) /** diff --git a/third_party/fwkacllib/inc/ops/nn_norm_ops.h b/third_party/fwkacllib/inc/ops/nn_norm_ops.h index 8db82ec9..c7416789 100644 --- a/third_party/fwkacllib/inc/ops/nn_norm_ops.h +++ b/third_party/fwkacllib/inc/ops/nn_norm_ops.h @@ -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) diff --git a/third_party/fwkacllib/inc/ops/nn_pooling_ops.h b/third_party/fwkacllib/inc/ops/nn_pooling_ops.h index dec8688a..36bf18d6 100644 --- a/third_party/fwkacllib/inc/ops/nn_pooling_ops.h +++ b/third_party/fwkacllib/inc/ops/nn_pooling_ops.h @@ -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) diff --git a/third_party/fwkacllib/inc/ops/random_ops.h b/third_party/fwkacllib/inc/ops/random_ops.h index e69b0946..47b07b21 100644 --- a/third_party/fwkacllib/inc/ops/random_ops.h +++ b/third_party/fwkacllib/inc/ops/random_ops.h @@ -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_ diff --git a/third_party/fwkacllib/inc/ops/selection_ops.h b/third_party/fwkacllib/inc/ops/selection_ops.h index fd5b53d7..c3e0d509 100644 --- a/third_party/fwkacllib/inc/ops/selection_ops.h +++ b/third_party/fwkacllib/inc/ops/selection_ops.h @@ -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. diff --git a/third_party/fwkacllib/inc/runtime/config.h b/third_party/fwkacllib/inc/runtime/config.h index 18a50d2e..eb69d66d 100644 --- a/third_party/fwkacllib/inc/runtime/config.h +++ b/third_party/fwkacllib/inc/runtime/config.h @@ -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 { diff --git a/third_party/fwkacllib/inc/runtime/dev.h b/third_party/fwkacllib/inc/runtime/dev.h index d5fb6fc6..92217e83 100644 --- a/third_party/fwkacllib/inc/runtime/dev.h +++ b/third_party/fwkacllib/inc/runtime/dev.h @@ -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 diff --git a/third_party/fwkacllib/inc/runtime/kernel.h b/third_party/fwkacllib/inc/runtime/kernel.h index 5d3110d4..f141f80e 100644 --- a/third_party/fwkacllib/inc/runtime/kernel.h +++ b/third_party/fwkacllib/inc/runtime/kernel.h @@ -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 diff --git a/third_party/fwkacllib/inc/runtime/mem.h b/third_party/fwkacllib/inc/runtime/mem.h index b5e60242..1b125f2f 100644 --- a/third_party/fwkacllib/inc/runtime/mem.h +++ b/third_party/fwkacllib/inc/runtime/mem.h @@ -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; diff --git a/third_party/fwkacllib/inc/runtime/rt_mem_queue.h b/third_party/fwkacllib/inc/runtime/rt_mem_queue.h index 0997cfe3..cc3f2770 100644 --- a/third_party/fwkacllib/inc/runtime/rt_mem_queue.h +++ b/third_party/fwkacllib/inc/runtime/rt_mem_queue.h @@ -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 diff --git a/third_party/fwkacllib/inc/runtime/rt_stars.h b/third_party/fwkacllib/inc/runtime/rt_stars.h index 3fc71e8d..036dfaab 100644 --- a/third_party/fwkacllib/inc/runtime/rt_stars.h +++ b/third_party/fwkacllib/inc/runtime/rt_stars.h @@ -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 diff --git a/third_party/fwkacllib/inc/runtime/stream.h b/third_party/fwkacllib/inc/runtime/stream.h index a4151ca0..8f9d1e20 100644 --- a/third_party/fwkacllib/inc/runtime/stream.h +++ b/third_party/fwkacllib/inc/runtime/stream.h @@ -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 */ diff --git a/third_party/fwkacllib/inc/toolchain/slog.h b/third_party/fwkacllib/inc/toolchain/slog.h index e6084561..f0d36eb9 100644 --- a/third_party/fwkacllib/inc/toolchain/slog.h +++ b/third_party/fwkacllib/inc/toolchain/slog.h @@ -209,6 +209,7 @@ enum { OP, UDF, HICAID, + TSYNC, INVLID_MOUDLE_ID };