From f8be2f972b80431b54f80b01f485c2bdaafbcce6 Mon Sep 17 00:00:00 2001 From: dayschan Date: Fri, 6 Nov 2020 21:57:17 +0800 Subject: [PATCH] Bugfix in GraphKernel after all integer ValueNodes are changed to int64 --- .../backend/kernel_compiler/akg/akg_kernel_json_decoder.cc | 4 ++-- .../backend/optimizer/graph_kernel/graph_kernel_helper.cc | 4 ++-- .../backend/optimizer/graph_kernel/graph_kernel_splitter.cc | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mindspore/ccsrc/backend/kernel_compiler/akg/akg_kernel_json_decoder.cc b/mindspore/ccsrc/backend/kernel_compiler/akg/akg_kernel_json_decoder.cc index 3a89759485..3f99820633 100644 --- a/mindspore/ccsrc/backend/kernel_compiler/akg/akg_kernel_json_decoder.cc +++ b/mindspore/ccsrc/backend/kernel_compiler/akg/akg_kernel_json_decoder.cc @@ -75,7 +75,7 @@ class CNodeDecoder { std::string value = attr_json[kJsonKeyValue]; return MakeValue(value); } else if (type == "int") { - int value = attr_json[kJsonKeyValue]; + int64_t value = attr_json[kJsonKeyValue]; return MakeValue(value); } else if (type == "bool") { bool value = attr_json[kJsonKeyValue]; @@ -84,7 +84,7 @@ class CNodeDecoder { float value = attr_json[kJsonKeyValue]; return MakeValue(value); } else if (type == "listInt") { - std::vector value = attr_json[kJsonKeyValue]; + std::vector value = attr_json[kJsonKeyValue]; return MakeValue(value); } else if (type == "listStr") { std::vector value = attr_json[kJsonKeyValue]; diff --git a/mindspore/ccsrc/backend/optimizer/graph_kernel/graph_kernel_helper.cc b/mindspore/ccsrc/backend/optimizer/graph_kernel/graph_kernel_helper.cc index 8369f448c4..603c451a98 100644 --- a/mindspore/ccsrc/backend/optimizer/graph_kernel/graph_kernel_helper.cc +++ b/mindspore/ccsrc/backend/optimizer/graph_kernel/graph_kernel_helper.cc @@ -513,8 +513,8 @@ void ReplaceNewFuseCNode(const FuncGraphPtr &func_graph, const AnfNodePtr &new_f MS_EXCEPTION_IF_NULL(value_input); auto value_node = value_input->cast(); MS_EXCEPTION_IF_NULL(value_node); - int item_idx = GetValue(value_node->value()); - int new_item_idx = SizeToLong(out_idx) + offset + item_idx; + auto item_idx = GetValue(value_node->value()); + int64_t new_item_idx = SizeToLong(out_idx) + offset + item_idx; fn_inputs.clear(); fn_inputs.push_back(NewValueNode(prim::kPrimTupleGetItem)); fn_inputs.push_back(new_fuse_cnode); diff --git a/mindspore/ccsrc/backend/optimizer/graph_kernel/graph_kernel_splitter.cc b/mindspore/ccsrc/backend/optimizer/graph_kernel/graph_kernel_splitter.cc index c6aa2d60d0..2a684a994d 100644 --- a/mindspore/ccsrc/backend/optimizer/graph_kernel/graph_kernel_splitter.cc +++ b/mindspore/ccsrc/backend/optimizer/graph_kernel/graph_kernel_splitter.cc @@ -272,7 +272,7 @@ class AreaGraph { size_t input_area = node_area_map_[input_node]; // if the input node is in a tuple, then we need to create a GetItem fot it. if (node_index_in_returned_tuple_.count(input_node) != 0) { - int idx_val = SizeToLong(node_index_in_returned_tuple_[input_node]); + auto idx_val = SizeToLong(node_index_in_returned_tuple_[input_node]); auto idx = NewValueNode(idx_val); idx->set_abstract(std::make_shared(idx_val)); AnfNodePtrList getitem_inputs = {NewValueNode(prim::kPrimTupleGetItem), main_cnodes[input_area], idx};