load super bar by json

This commit is contained in:
jiaorui 2022-11-24 20:59:35 +08:00
parent bcf95a70c4
commit fa1b5a1b7f
10 changed files with 503 additions and 364 deletions

View File

@ -386,6 +386,7 @@ install(
## config files
install(
FILES ${CMAKE_SOURCE_DIR}/config/op_info.config
FILES ${CMAKE_SOURCE_DIR}/config/super_bar_config.json
DESTINATION ${INSTALL_CFG_DIR}
COMPONENT mindspore
)

View File

@ -180,6 +180,7 @@ install(
## config files
install(
FILES ${CMAKE_SOURCE_DIR}/config/op_info.config
FILES ${CMAKE_SOURCE_DIR}/config/super_bar_config.json
DESTINATION ${INSTALL_CFG_DIR}
COMPONENT mindspore
)

View File

@ -0,0 +1,439 @@
{
"NodeAttrMap": {
"AvgPool3DD": {
"ksize": "kernel_size",
"pads": "pad_list",
"data_format": "format"
},
"AvgPool3DGradD": {
"orig_input_shape": "origin_input_shape",
"ksize": "kernel_size",
"pads": "pad_list",
"data_format": "format"
},
"AvgPoolGradD": {
"orig_input_shape": "x_origin",
"ksize": "kernel_size",
"padding": "pad_mode",
"data_format": "format"
},
"AccumulateNV2": {
"N": "n"
},
"AddN": {
"N": "n"
},
"Conv2D": {
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"Conv3DTransposeD": {
"pads": "pad_list",
"data_format": "format"
},
"Conv3D": {
"pads": "pad_list",
"data_format": "format"
},
"Conv3DBackpropInputD": {
"pads": "pad_list",
"data_format": "format"
},
"Conv3DBackpropFilterD": {
"pads": "pad_list",
"data_format": "format"
},
"Conv2DTransposeD": {
"input_size": "input_sizes",
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"MaxPoolWithArgmax": {
"ksize": "kernel_size",
"padding": "pad_mode"
},
"SoftmaxGradExt": {
"axes": "axis",
"keep_dims": "keepdims"
},
"Conv2DBackpropFilterD": {
"filter_size": "filter_sizes",
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"Conv2DBackpropInputD": {
"input_size": "input_sizes",
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"Conv2DBackpropFilter": {
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"Conv2DBackpropInput": {
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"ConcatD": {
"concat_dim": "axis"
},
"DepthwiseConv2D": {
"strides": "stride",
"dilations": "dilation",
"pads": "pad_list",
"data_format": "format",
"offfset_x": "offset_a"
},
"ExtractVolumePatches": {
"ksizes": "kernel_size"
},
"L2Normalize": {
"eps": "epsilon"
},
"L2NormalizeGrad": {
"dim": "axis",
"eps": "epsilon"
},
"MaxPoolGradWithArgmax": {
"ksize": "kernel_size",
"padding": "pad_mode"
},
"BiasAddGrad": {
"data_format": "format"
},
"FusedDbnDw": {
"filter_size": "filter_sizes",
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"MaxPool": {
"ksize": "kernel_size",
"padding": "pad_mode",
"data_format": "format"
},
"ReduceMeanD": {
"axes": "axis"
},
"ReduceSumD": {
"axes": "axis"
},
"ReduceAnyD": {
"axes": "axis"
},
"ReduceMaxD": {
"axes": "axis"
},
"ReduceMinD": {
"axes": "axis"
},
"ReduceAllD": {
"axes": "axis"
},
"ReduceProdD": {
"axes": "axis"
},
"ReduceStd": {
"dim": "axis",
"keepdim": "keep_dims"
},
"SoftmaxV2": {
"axes": "axis"
},
"LogSoftmaxV2": {
"axes": "axis"
},
"ArgMaxD": {
"dimension": "axis"
},
"BatchMatMul": {
"adj_x1": "transpose_x1",
"adj_x2": "transpose_x2"
},
"BatchMatMulV2": {
"adj_x1": "transpose_x1",
"adj_x2": "transpose_x2"
},
"BatchNormal": {
"data_format": "format"
},
"ArgMaxWithValue": {
"dimension": "axis"
},
"SplitD": {
"split_dim": "axis",
"num_split": "output_num"
},
"BiasAdd": {
"data_format": "format"
},
"SliceD": {
"offsets": "begin"
},
"MaxPoolGrad": {
"ksize": "kernel_size",
"padding": "pad_mode",
"data_format": "format"
},
"MaxPool3D": {
"ksize": "kernel_size",
"padding": "pad_mode",
"pads": "pad_list",
"data_format": "format"
},
"MaxPool3DGrad": {
"ksize": "kernel_size",
"padding": "pad_mode",
"pads": "pad_list",
"data_format": "format"
},
"MaxPoolGradGrad": {
"ksize": "kernel_size",
"padding": "pad_mode",
"data_format": "format"
},
"AvgPool": {
"ksize": "kernel_size",
"padding": "pad_mode",
"data_format": "format"
},
"BatchNorm": {
"data_format": "format"
},
"BatchNormGrad": {
"data_format": "format"
},
"ArgMin": {
"dimension": "axis"
},
"ArgMinD": {
"dimension": "axis"
},
"LpNorm": {
"axes": "axis",
"keepdim": "keep_dims"
},
"SmoothL1LossV2": {
"sigma": "beta"
},
"Roll": {
"shifts": "shift",
"dims": "axis"
},
"SmoothL1LossGradV2": {
"sigma": "beta"
},
"Centralization": {
"axes": "axis"
},
"MaxPool3DGradGradD": {
"ksize": "kernel_size"
}
},
"AttrDefaultValue": {
"Log": {
"base": "-1.0",
"scale": "1.0",
"shift": "0.0"
},
"ScatterNdUpdate": {
"use_locking": "false"
},
"OneHotD": {
"axis": "-1"
},
"Iou": {
"mode": "iou",
"eps": "1.0"
},
"GatherV2D": {
"axis": "-1"
},
"MaxPoolGrad": {
"data_format": "NHWC"
},
"ResizeNearestNeighborV2D": {
"align_corners": "false",
"half_pixel_centers": "false"
},
"ResizeNearestNeighborV2GradD": {
"align_corners": "false",
"half_pixel_centers": "false"
},
"MaxPool3D": {
"pads": "0,0,0",
"dilation": "1,1,1",
"ceil_mode": "0"
}
},
"InputOrders": {
"LogSoftmaxGrad": [
1,
0
],
"LayerNormGrad": [
1,
0,
2,
3,
4
],
"LayerNormBetaGammaBackprop": [
1,
0,
2,
3
],
"LayerNormXBackprop": [
1,
0,
2,
3,
4
],
"LayerNormXBackpropV2": [
1,
0,
2,
3,
4
],
"ApplyCenteredRMSPropD": [
0,
1,
2,
3,
5,
6,
7,
8,
4
],
"Conv2DBackpropInputD": [
1,
0
],
"Conv2DBackpropFilterD": [
1,
0
],
"MinimumGrad": [
2,
0,
1
],
"MaximumGrad": [
2,
0,
1
],
"StridedSliceGrad": [
1,
2,
3,
4,
0
],
"Conv2DBackpropInput": [
2,
1,
0
],
"Conv2DBackpropFilter": [
1,
2,
0
],
"FusionOp_Conv2DBackpropInputD_AddN_ReluGradV2": [
1,
0,
2,
3
],
"FusionOp_Conv2DBackpropInputD_ReluGradV2": [
1,
0,
2
]
},
"SkipDynamicCompileStatic": [
"SoftmaxV2",
"PRelu",
"Trunc",
"AccumulateNV2",
"SoftmaxCrossEntropyWithLogits",
"ReduceMeanD",
"SquareSumV1",
"BiasAddGrad"
],
"SkipNodesComments": {
"BroadcastTo": "The name is occupied",
"DynamicBroadcastTo ": "The name is occupied",
"BatchToSpaceD ": "attr type is listIntnot listListInt",
"BatchToSpaceNDD ": "attr type is listIntnot listListInt",
"SpaceToBatchD ": "attr type is listIntnot listListInt",
"SpaceToBatchNDD ": "attr type is listIntnot listListInt",
"DynamicGRUV2": "input4 is None, GE will change to hidden op by pass",
"DynamicRNN ": "input4 is None, GE will change to hidden op by pass",
"KLDivLossGrad": " Accuracy issues",
"ScatterNdUpdate": " not support int8 in op json",
"ScatterNdAdd": "not support int8 in op json",
"UnsortedSegmentSum ": " check support failed when shape is -2",
"ConcatOffset": "Hadn't adapted tbe implementation",
"MirrorPad ": "Hadn't adapted tbe implementation",
"InplaceIndexAdd": "check support failed if var has only one dimension",
"Expand": "Hadn't adapted tbe implementation",
"ExpandD": "Hadn't adapted tbe implementation",
"Cross ": "Hadn't adapted tbe implementation",
"LinSpaceD": "Hadn't adapted tbe implementation",
"Cast ": "Accuracy issues",
"AvgPool3DGradD": "second device format is facz_3d, but in json, the key is ndhwc",
"DataFormatDimMap ": "attr order swap",
"DepthwiseConv2D": "Accuracy issues(second format is error in python)",
"ACos": "dynamic impl error",
"TransData ": "support boll",
"ScatterNdD ": "Accuracy issues",
"Trace": "Hadn't adapted tbe implementation"
},
"SkipNodes": [
"BroadcastTo",
"DynamicBroadcastTo",
"BatchToSpaceD",
"BatchToSpaceNDD",
"SpaceToBatchD",
"SpaceToBatchNDD",
"DynamicGRUV2",
"DynamicRNN",
"KLDivLossGrad",
"ScatterNdUpdate",
"ScatterNdAdd",
"ConcatOffset",
"MirrorPad",
"InplaceIndexAdd",
"Expand",
"ExpandD",
"Cross",
"LinSpaceD",
"Cast",
"AvgPool3DGradD",
"DataFormatDimMap",
"DepthwiseConv2D",
"Trace",
"ACos",
"TransData",
"ScatterNdD"
]
}

View File

@ -27,8 +27,10 @@
#include "kernel/oplib/super_bar.h"
#include "kernel/oplib/oplib.h"
#include "utils/file_utils.h"
#include "utils/dlopen_macro.h"
namespace mindspore::kernel {
namespace {
constexpr auto kVersion910A = "Ascend910A";
constexpr auto kVersion910ProA = "Ascend910ProA";
constexpr auto kVersion910PremiumA = "Ascend910PremiumA";
@ -61,6 +63,55 @@ static const std::map<std::string, OpPattern> kPatternMap = {
MS_LOG(EXCEPTION) << "Make share ptr failed: " << e.what(); \
}
#if !defined(_WIN32) && !defined(_WIN64)
bool LoadSuperBarFile(nlohmann::json *super_bar) {
Dl_info dl_info;
if (dladdr(reinterpret_cast<void *>(LoadSuperBarFile), &dl_info) == 0) {
MS_LOG(ERROR) << "Get dladdr error";
return false;
}
std::string cur_so_path = dl_info.dli_fname;
auto pos = cur_so_path.find_last_of(PATH_SEPARATOR);
if (cur_so_path.empty() || pos == std::string::npos) {
MS_LOG(ERROR) << "Current so path is empty or the path [" << cur_so_path << "] is invalid.";
return false;
}
auto super_bar_path = cur_so_path.substr(0, pos) + "/../config/super_bar_config.json";
if (super_bar_path.size() >= PATH_MAX) {
MS_LOG(ERROR) << "Current path [" << super_bar_path << "] length " << super_bar_path.size() << " exceeds the limit "
<< PATH_MAX;
return false;
}
char real_path_mem[PATH_MAX] = {0};
if (realpath(common::SafeCStr(super_bar_path), real_path_mem) == nullptr) {
super_bar_path = cur_so_path.substr(0, pos) + "/../../../../config/super_bar_config.json";
if (super_bar_path.size() >= PATH_MAX) {
MS_LOG(ERROR) << "Current path [" << super_bar_path << "] length " << super_bar_path.size()
<< " exceeds the limit " << PATH_MAX;
return false;
}
if (realpath(common::SafeCStr(super_bar_path), real_path_mem) == nullptr) {
MS_LOG(ERROR) << "The file of super_bar_config.json is not exists in path: [" << super_bar_path << "], ";
return false;
}
}
auto file_path = std::string(real_path_mem);
std::ifstream file(file_path);
if (!file.is_open()) {
MS_LOG(ERROR) << "Open op info file failed, real_path: " << file_path;
return false;
}
file >> (*super_bar);
file.close();
return true;
}
#endif
} // namespace
bool OpInfoUtils::GenerateOpInfos(const std::string &version) {
// Step1: Load json file
nlohmann::json js;
@ -116,6 +167,14 @@ bool OpInfoUtils::GenerateOpInfos(const std::string &version) {
}
bool OpInfoUtils::LoadOpInfoJson(const std::string &version, nlohmann::json *js_) {
#if !defined(_WIN32) && !defined(_WIN64)
nlohmann::json super_bar;
if (!LoadSuperBarFile(&super_bar)) {
MS_LOG(ERROR) << "Load super bar file failed.";
return false;
}
SuperBar::LoadSBConfig(super_bar);
#endif
std::string dir = common::GetEnv("MINDSPORE_OP_INFO_JSON_PATH");
if (dir.empty()) {
// normal path

View File

@ -97,8 +97,6 @@ bool OpLib::RegOp(const std::string &json_string, const std::string &impl_path)
return true;
}
bool OpLib::LoadSuperBarConfig(const std::string &suber_bar_config) { return SuperBar::LoadSBConfig(suber_bar_config); }
void OpLib::DecodeTBESpecificInfo(const nlohmann::json &obj, const std::shared_ptr<OpInfo> &op_info) {
const std::map<std::string, kernel::OpPattern> kOpPatternMap = {
{kFormatAgnostic, kFormatAgnosticPattern}, {kBroadcast, kBroadcastPattern}, {kReduce, kReducePattern}};

View File

@ -27,8 +27,7 @@ constexpr auto kNodeName = "NodeName";
constexpr auto kInputOrders = "InputOrders";
constexpr auto kSkipNodes = "SkipNodes";
constexpr auto kSkipDynamicCompileStatic = "SkipDynamicCompileStatic";
bool SuperBar::LoadSBConfig(const std::string &super_bar_config) {
auto js = nlohmann::json::parse(super_bar_config);
bool SuperBar::LoadSBConfig(const nlohmann::json &js) {
if (!LoadSBNodeAttr(js)) {
return false;
}

View File

@ -28,7 +28,7 @@ class BACKEND_EXPORT SuperBar {
public:
SuperBar() = default;
~SuperBar() = default;
static bool LoadSBConfig(const std::string &super_bar_config);
static bool LoadSBConfig(const nlohmann::json &js);
static std::string GetSBMSAttrByKernelAttr(const std::string &op_name, const std::string &attr_name);
static std::string GetSBKernelAttrByMSAttr(const std::string &op_name, const std::string &attr_name);
static std::string GetSBNodeAttrDefaultValue(const std::string &op_name, const std::string &attr_name);

View File

@ -458,8 +458,7 @@ PYBIND11_MODULE(_c_expression, m) {
(void)py::class_<OpLib, std::shared_ptr<OpLib>>(m, "Oplib")
.def(py::init())
.def_static("reg_op", &OpLib::RegOp, "Register op info.")
.def_static("load_super_bar_config", &OpLib::LoadSuperBarConfig, "Load super bar config.");
.def_static("reg_op", &OpLib::RegOp, "Register op info.");
(void)py::class_<CollectiveManager, std::shared_ptr<CollectiveManager>>(m, "CollectiveManager")
.def_static("get_instance", &CollectiveManager::instance, "Get collective manager instance.")

View File

@ -14,7 +14,6 @@
# ============================================================================
"""tbe ops"""
from .super_bar_config import _call_super_bar_config
from .broadcast_to import _broadcast_to_tbe # The name is occupied
from .broadcast_to_ds import _broadcast_to_ds_tbe # The name is occupied
from .batch_to_space import _batch_to_space_tbe # attr type is listIntnot listListInt

View File

@ -1,356 +0,0 @@
# Copyright 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.
# ============================================================================
"""Abs op"""
from mindspore.ops.op_info_register import load_super_bar_config
super_bar_config = {
"NodeAttrMap": {
"AvgPool3DD": {
"ksize": "kernel_size",
"pads": "pad_list",
"data_format": "format"
},
"AvgPool3DGradD": {
"orig_input_shape": "origin_input_shape",
"ksize": "kernel_size",
"pads": "pad_list",
"data_format": "format"
},
"AvgPoolGradD": {
"orig_input_shape": "x_origin",
"ksize": "kernel_size",
"padding": "pad_mode",
"data_format": "format"
},
"AccumulateNV2": {
"N": "n"
},
"AddN": {
"N": "n"
},
"Conv2D": {
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"Conv3DTransposeD": {
"pads": "pad_list",
"data_format": "format"
},
"Conv3D": {
"pads": "pad_list",
"data_format": "format"
},
"Conv3DBackpropInputD": {
"pads": "pad_list",
"data_format": "format"
},
"Conv3DBackpropFilterD": {
"pads": "pad_list",
"data_format": "format"
},
"Conv2DTransposeD": {
"input_size": "input_sizes",
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"MaxPoolWithArgmax": {
"ksize": "kernel_size",
"padding": "pad_mode"
},
"SoftmaxGradExt": {
"axes": "axis",
"keep_dims": "keepdims"
},
"Conv2DBackpropFilterD": {
"filter_size": "filter_sizes",
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"Conv2DBackpropInputD": {
"input_size": "input_sizes",
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"Conv2DBackpropFilter": {
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"Conv2DBackpropInput": {
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"ConcatD": {
"concat_dim": "axis"
},
"DepthwiseConv2D": {
"strides": "stride",
"dilations": "dilation",
"pads": "pad_list",
"data_format": "format",
"offfset_x": "offset_a"
},
"ExtractVolumePatches": {
"ksizes": "kernel_size"
},
"L2Normalize": {
"eps": "epsilon"
},
"L2NormalizeGrad": {
"dim": "axis",
"eps": "epsilon"
},
"MaxPoolGradWithArgmax": {
"ksize": "kernel_size",
"padding": "pad_mode"
},
"BiasAddGrad": {
"data_format": "format"
},
"FusedDbnDw": {
"filter_size": "filter_sizes",
"strides": "stride",
"pads": "pad_list",
"dilations": "dilation",
"data_format": "format"
},
"MaxPool": {
"ksize": "kernel_size",
"padding": "pad_mode",
"data_format": "format"
},
"ReduceMeanD": {
"axes": "axis"
},
"ReduceSumD": {
"axes": "axis"
},
"ReduceAnyD": {
"axes": "axis"
},
"ReduceMaxD": {
"axes": "axis"
},
"ReduceMinD": {
"axes": "axis"
},
"ReduceAllD": {
"axes": "axis"
},
"ReduceProdD": {
"axes": "axis"
},
"ReduceStd": {
"dim": "axis",
"keepdim": "keep_dims"
},
"SoftmaxV2": {
"axes": "axis"
},
"LogSoftmaxV2": {
"axes": "axis"
},
"ArgMaxD": {
"dimension": "axis"
},
"BatchMatMul": {
"adj_x1": "transpose_x1",
"adj_x2": "transpose_x2"
},
"BatchMatMulV2": {
"adj_x1": "transpose_x1",
"adj_x2": "transpose_x2"
},
"BatchNormal": {
"data_format": "format"
},
"ArgMaxWithValue": {
"dimension": "axis"
},
"SplitD": {
"split_dim": "axis",
"num_split": "output_num"
},
"BiasAdd": {
"data_format": "format"
},
"SliceD": {
"offsets": "begin"
},
"MaxPoolGrad": {
"ksize": "kernel_size",
"padding": "pad_mode",
"data_format": "format"
},
"MaxPool3D": {
"ksize": "kernel_size",
"padding": "pad_mode",
"pads": "pad_list",
"data_format": "format"
},
"MaxPool3DGrad": {
"ksize": "kernel_size",
"padding": "pad_mode",
"pads": "pad_list",
"data_format": "format"
},
"MaxPoolGradGrad": {
"ksize": "kernel_size",
"padding": "pad_mode",
"data_format": "format"
},
"AvgPool": {
"ksize": "kernel_size",
"padding": "pad_mode",
"data_format": "format"
},
"BatchNorm": {
"data_format": "format"
},
"BatchNormGrad": {
"data_format": "format"
},
"ArgMin": {
"dimension": "axis"
},
"ArgMinD": {
"dimension": "axis"
},
"LpNorm": {
"axes": "axis",
"keepdim": "keep_dims"
},
"SmoothL1LossV2": {
"sigma": "beta"
},
"Roll": {
"shifts": "shift",
"dims": "axis"
},
"SmoothL1LossGradV2": {
"sigma": "beta"
},
"Centralization": {
"axes": "axis"
},
"MaxPool3DGradGradD": {
"ksize": "kernel_size"
}
},
"AttrDefaultValue": {
"Log": {
"base": "-1.0",
"scale": "1.0",
"shift": "0.0"
},
"ScatterNdUpdate": {
"use_locking": "false"
},
"OneHotD": {
"axis": "-1"
},
"Iou": {
"mode": "iou",
"eps": "1.0"
},
"GatherV2D": {
"axis": "-1"
},
"MaxPoolGrad": {
"data_format": "NHWC"
},
"ResizeNearestNeighborV2D": {
"align_corners": "false",
"half_pixel_centers": "false"
},
"ResizeNearestNeighborV2GradD": {
"align_corners": "false",
"half_pixel_centers": "false"
},
"MaxPool3D": {
"pads": "0,0,0",
"dilation": "1,1,1",
"ceil_mode": "0"
}
},
"InputOrders": {
"LogSoftmaxGrad": [1, 0],
"LayerNormGrad": [1, 0, 2, 3, 4],
"LayerNormBetaGammaBackprop": [1, 0, 2, 3],
"LayerNormXBackprop": [1, 0, 2, 3, 4],
"LayerNormXBackpropV2": [1, 0, 2, 3, 4],
"ApplyCenteredRMSPropD": [0, 1, 2, 3, 5, 6, 7, 8, 4],
"Conv2DBackpropInputD": [1, 0],
"Conv2DBackpropFilterD": [1, 0],
"MinimumGrad": [2, 0, 1],
"MaximumGrad": [2, 0, 1],
"StridedSliceGrad": [1, 2, 3, 4, 0],
"Conv2DBackpropInput": [2, 1, 0],
"Conv2DBackpropFilter": [1, 2, 0],
"FusionOp_Conv2DBackpropInputD_AddN_ReluGradV2": [1, 0, 2, 3],
"FusionOp_Conv2DBackpropInputD_ReluGradV2": [1, 0, 2]
},
"SkipDynamicCompileStatic": ["SoftmaxV2", "PRelu", "Trunc", "AccumulateNV2",
"SoftmaxCrossEntropyWithLogits", "ReduceMeanD", "SquareSumV1", "BiasAddGrad"],
# BroadcastTo: The name is occupied
# DynamicBroadcastTo: The name is occupied
# BatchToSpaceD: attr type is listIntnot listListInt
# BatchToSpaceNDD: attr type is listIntnot listListInt
# SpaceToBatchD: attr type is listIntnot listListInt
# SpaceToBatchNDD: attr type is listIntnot listListInt
# DynamicGRUV2: input4 is None, GE will change to hidden op by pass
# DynamicRNN: input4 is None, GE will change to hidden op by pass
# KLDivLossGrad: Accuracy issues
# ScatterNdUpdate: not support int8 in op json
# ScatterNdAdd: not support int8 in op json
# UnsortedSegmentSum: check support failed when shape is -2
# ConcatOffset: Hadn't adapted tbe implementation
# MirrorPad: Hadn't adapted tbe implementation
# InplaceIndexAdd: check support failed if var has only one dimension
# Expand: Hadn't adapted tbe implementation
# ExpandD: Hadn't adapted tbe implementation
# Cross: Hadn't adapted tbe implementation
# LinSpaceD: Hadn't adapted tbe implementation
# Cast: Accuracy issues
# AvgPool3DGradD second device format is facz_3d, but in json, the key is ndhwc
# DataFormatDimMap: attr order swap
# DepthwiseConv2D: Accuracy issues(second format is error in python)
# ACos: dynamic impl errpr
# TransData: support boll
# ScatterNdD: Accuracy issues
# Trace: Hadn't adapted tbe implementation
"SkipNodes": ["BroadcastTo", "DynamicBroadcastTo", "BatchToSpaceD", "BatchToSpaceNDD", "SpaceToBatchD",
"SpaceToBatchNDD", "DynamicGRUV2", "DynamicRNN", "KLDivLossGrad", "ScatterNdUpdate", "ScatterNdAdd",
"ConcatOffset", "MirrorPad", "InplaceIndexAdd", "Expand", "ExpandD", "Cross", "LinSpaceD", "Cast",
"AvgPool3DGradD", "DataFormatDimMap", "DepthwiseConv2D", "Trace", "ACos", "TransData", "ScatterNdD"]
}
@load_super_bar_config(super_bar_config)
def _call_super_bar_config():
"""super bar config register"""
return