From 7b45164024b930240ea57ea7d9967b01465544ad Mon Sep 17 00:00:00 2001 From: hebotao Date: Wed, 28 Apr 2021 19:30:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E6=B8=85=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/kernel_compiler/cpu/elu_grad_cpu_kernel.cc | 6 +++--- .../backend/kernel_compiler/cpu/elu_grad_cpu_kernel.h | 2 +- .../backend/kernel_compiler/cpu/select_cpu_kernel.cc | 9 ++++++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/elu_grad_cpu_kernel.cc b/mindspore/ccsrc/backend/kernel_compiler/cpu/elu_grad_cpu_kernel.cc index 5bd16805484..63aaccbba34 100644 --- a/mindspore/ccsrc/backend/kernel_compiler/cpu/elu_grad_cpu_kernel.cc +++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/elu_grad_cpu_kernel.cc @@ -29,8 +29,7 @@ void EluGradCPUKernel::InitKernel(const CNodePtr &kernel_node) { } } -bool EluGradCPUKernel::Launch(const std::vector &inputs, - const std::vector & /*workspace*/, +bool EluGradCPUKernel::Launch(const std::vector &inputs, const std::vector &, const std::vector &outputs) { if (dtype_ == kNumberTypeFloat32 || dtype_ == kNumberTypeFloat) { LaunchKernel(inputs, outputs); @@ -43,7 +42,8 @@ bool EluGradCPUKernel::Launch(const std::vector &inputs, } template -void EluGradCPUKernel::LaunchKernel(const std::vector &inputs, const std::vector &outputs) { +void EluGradCPUKernel::LaunchKernel(const std::vector &inputs, + const std::vector &outputs) const { T *input0 = reinterpret_cast(inputs[0]->addr); T *input1 = reinterpret_cast(inputs[1]->addr); T *output = reinterpret_cast(outputs[0]->addr); diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/elu_grad_cpu_kernel.h b/mindspore/ccsrc/backend/kernel_compiler/cpu/elu_grad_cpu_kernel.h index b9f61bec003..953f74ce6e3 100644 --- a/mindspore/ccsrc/backend/kernel_compiler/cpu/elu_grad_cpu_kernel.h +++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/elu_grad_cpu_kernel.h @@ -32,7 +32,7 @@ class EluGradCPUKernel : public CPUKernel { bool Launch(const std::vector &inputs, const std::vector &workspace, const std::vector &outputs) override; template - void LaunchKernel(const std::vector &inputs, const std::vector &outputs); + void LaunchKernel(const std::vector &inputs, const std::vector &outputs) const; private: TypeId dtype_{kTypeUnknown}; diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/select_cpu_kernel.cc b/mindspore/ccsrc/backend/kernel_compiler/cpu/select_cpu_kernel.cc index da7224b6572..e453ec018d6 100644 --- a/mindspore/ccsrc/backend/kernel_compiler/cpu/select_cpu_kernel.cc +++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/select_cpu_kernel.cc @@ -43,9 +43,12 @@ bool SelectCPUKernel::Launch(const std::vector &inputs, const std auto input_x = reinterpret_cast(inputs[1]->addr); auto input_y = reinterpret_cast(inputs[2]->addr); auto output = reinterpret_cast(outputs[0]->addr); - for (size_t pos = 0; pos < element_num_; pos++) { - output[pos] = input_cond[pos] ? input_x[pos] : input_y[pos]; - } + auto task = [=](const size_t start, const size_t end) { + for (size_t pos = start; pos < end; pos++) { + output[pos] = input_cond[pos] ? input_x[pos] : input_y[pos]; + } + }; + CPUKernelUtils::ParallelFor(task, element_num_); return true; } } // namespace kernel