diff --git a/mindspore/ccsrc/backend/common/pass/custom_op_const_input_to_attr.cc b/mindspore/ccsrc/backend/common/pass/custom_op_const_input_to_attr.cc index ea5dd54a3cd..a8a38d8b65a 100644 --- a/mindspore/ccsrc/backend/common/pass/custom_op_const_input_to_attr.cc +++ b/mindspore/ccsrc/backend/common/pass/custom_op_const_input_to_attr.cc @@ -28,17 +28,14 @@ const AnfNodePtr CustomOpConstInputToAttr::Process(const FuncGraphPtr &, const A if (node == nullptr || !AnfUtils::IsRealCNodeKernel(node)) { return nullptr; } - auto cnode = node->cast(); MS_EXCEPTION_IF_NULL(cnode); if (!IsPrimitiveCNode(cnode, prim::kPrimCustom)) { return nullptr; } - auto primitive = common::AnfAlgo::GetCNodePrimitive(cnode); - MS_EXCEPTION_IF_NULL(primitive); mindspore::HashSet attr_indices; - GetCustomOpAttrIndex(primitive, &attr_indices); + GetCustomOpAttrIndex(common::AnfAlgo::GetCNodePrimitive(cnode), &attr_indices); if (attr_indices.empty()) { return nullptr; } diff --git a/mindspore/ccsrc/plugin/device/ascend/kernel/tbe/tbe_kernel_select/common_utils.cc b/mindspore/ccsrc/plugin/device/ascend/kernel/tbe/tbe_kernel_select/common_utils.cc index 2d88891a0dd..5584a5953d3 100644 --- a/mindspore/ccsrc/plugin/device/ascend/kernel/tbe/tbe_kernel_select/common_utils.cc +++ b/mindspore/ccsrc/plugin/device/ascend/kernel/tbe/tbe_kernel_select/common_utils.cc @@ -24,6 +24,10 @@ namespace mindspore { namespace kernel { +namespace { +constexpr size_t kNcdhwShapeSize = 5; +} // namespace + bool HostCheck::CheckValidDeviceShape(const AnfNodePtr &node) { size_t real_input_num = common::AnfAlgo::GetInputTensorNum(node); for (size_t i = 0; i < real_input_num; i++) { @@ -71,7 +75,7 @@ std::vector HostCheck::GetFinalInferShape(const AnfNodePtr &node, const MS_LOG(DEBUG) << "Get Device Shape using a shape size is less than 4 ,should be Padding shape by Default firstly"; temp_shape = trans::PaddingShapeTo4dDefault(infer_shape); } - if (infer_shape.size() != trans::kNcdhw && k3DFormatSet.find(format) != k3DFormatSet.end()) { + if (infer_shape.size() != kNcdhwShapeSize && k3DFormatSet.find(format) != k3DFormatSet.end()) { temp_shape = trans::PaddingShapeTo5dDefault(infer_shape); } return temp_shape; diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/embedding_look_up_comm_grad_cpu_kernel.cc b/mindspore/ccsrc/plugin/device/cpu/kernel/embedding_look_up_comm_grad_cpu_kernel.cc index 3e42c11d7e0..dcaf0ac0f82 100644 --- a/mindspore/ccsrc/plugin/device/cpu/kernel/embedding_look_up_comm_grad_cpu_kernel.cc +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/embedding_look_up_comm_grad_cpu_kernel.cc @@ -72,8 +72,8 @@ bool EmbeddingLookUpCommGradCpuKernelMod::Launch(const std::vector &rank_group = {0, 1, 2, 3, 4, 5, 6, 7}; - size_t input_split_lens = input_size / split_num_ / sizeof(float_t); - size_t output_split_lens = output_size / split_num_ / sizeof(float_t); + size_t input_split_lens = (input_size / split_num_) / sizeof(float_t); + size_t output_split_lens = (output_size / split_num_) / sizeof(float_t); for (size_t i = 0; i < split_num_; ++i) { (void)MPIAllGather(input_addr + i * input_split_lens, output_addr + i * output_split_lens, rank_group, input_split_lens); diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/sparse_apply_proximal_adagrad_cpu_kernel.cc b/mindspore/ccsrc/plugin/device/cpu/kernel/sparse_apply_proximal_adagrad_cpu_kernel.cc index 0d3d770deae..503651b7657 100644 --- a/mindspore/ccsrc/plugin/device/cpu/kernel/sparse_apply_proximal_adagrad_cpu_kernel.cc +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/sparse_apply_proximal_adagrad_cpu_kernel.cc @@ -24,6 +24,17 @@ namespace { constexpr size_t kSparseApplyProximalAdagradInputsNum = 7; constexpr size_t kSparseApplyProximalAdagradWorkspaceSize = 4; constexpr char kKernelName[] = "SparseApplyProximalAdagrad"; +constexpr size_t kVarIndex = 0; +constexpr size_t kAccIndex = 1; +constexpr size_t kLRIndex = 2; +constexpr size_t kL1Index = 3; +constexpr size_t kL2Index = 4; +constexpr size_t kGradIndex = 5; +constexpr size_t kIndicesIndex = 6; +constexpr size_t kWorkSpaceIndex0 = 0; +constexpr size_t kWorkSpaceIndex1 = 1; +constexpr size_t kWorkSpaceIndex2 = 2; +constexpr size_t kWorkSpaceIndex3 = 3; template void ComputeProximalAdagrad(MultiThreadComputeParams *input_params, size_t start, size_t end) { @@ -84,13 +95,13 @@ void SparseApplyProximalAdagradCpuKernelMod::InitInputOutputSize(const CNodePtr void SparseApplyProximalAdagradCpuKernelMod::InitKernel(const CNodePtr &kernel_node) { MS_EXCEPTION_IF_NULL(kernel_node); kernel_name_ = common::AnfAlgo::GetCNodeName(kernel_node); - std::vector var_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, 0); - std::vector accum_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, 1); - std::vector lr_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, 2); - std::vector l1_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, 3); - std::vector l2_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, 4); - std::vector grad_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, 5); - std::vector indices_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, 6); + std::vector var_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, kVarIndex); + std::vector accum_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, kAccIndex); + std::vector lr_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, kLRIndex); + std::vector l1_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, kL1Index); + std::vector l2_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, kL2Index); + std::vector grad_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, kGradIndex); + std::vector indices_shape = common::AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, kIndicesIndex); if (var_shape.empty()) { MS_LOG(EXCEPTION) << "For '" << kernel_name_ << "', the dimension of 'var' should be at least 1-D, but got scalar or None."; @@ -142,23 +153,23 @@ void SparseApplyProximalAdagradCpuKernelMod::InitKernel(const CNodePtr &kernel_n << "', 'l2' should be a scalar,and dimension of 'l2' should be 0,but got the dimension of 'l2': " << Vector2Str(l2_shape); } - indices_data_type_ = AnfAlgo::GetInputDeviceDataType(kernel_node, 6); + indices_data_type_ = AnfAlgo::GetInputDeviceDataType(kernel_node, kIndicesIndex); } template void SparseApplyProximalAdagradCpuKernelMod::LaunchKernel(const std::vector &inputs, const std::vector &workspace) const { - auto var = reinterpret_cast(inputs[0]->addr); - auto accum = reinterpret_cast(inputs[1]->addr); - auto lr = reinterpret_cast(inputs[2]->addr)[0]; - auto l1 = reinterpret_cast(inputs[3]->addr)[0]; - auto l2 = reinterpret_cast(inputs[4]->addr)[0]; - auto grad = reinterpret_cast(inputs[5]->addr); - auto indices = reinterpret_cast(inputs[6]->addr); - auto new_grad = reinterpret_cast(workspace[0]->addr); - auto new_indices = reinterpret_cast(workspace[1]->addr); - auto workspace_grad = reinterpret_cast(workspace[2]->addr); - auto workspace_indices = reinterpret_cast(workspace[3]->addr); + auto var = reinterpret_cast(inputs[kVarIndex]->addr); + auto accum = reinterpret_cast(inputs[kAccIndex]->addr); + auto lr = reinterpret_cast(inputs[kLRIndex]->addr)[0]; + auto l1 = reinterpret_cast(inputs[kL1Index]->addr)[0]; + auto l2 = reinterpret_cast(inputs[kL2Index]->addr)[0]; + auto grad = reinterpret_cast(inputs[kGradIndex]->addr); + auto indices = reinterpret_cast(inputs[kIndicesIndex]->addr); + auto new_grad = reinterpret_cast(workspace[kWorkSpaceIndex0]->addr); + auto new_indices = reinterpret_cast(workspace[kWorkSpaceIndex1]->addr); + auto workspace_grad = reinterpret_cast(workspace[kWorkSpaceIndex2]->addr); + auto workspace_indices = reinterpret_cast(workspace[kWorkSpaceIndex3]->addr); SparseGradient unique_sparse_grad({new_grad, new_indices, indices_size_}); SparseGradient workspace_sparse_grad({workspace_grad, workspace_indices, indices_size_});