| @@ -17,6 +17,12 @@ if (ENABLE_D) | |||||
| add_compile_definitions(ENABLE_D) | add_compile_definitions(ENABLE_D) | ||||
| endif () | endif () | ||||
| if (ENABLE_CPU) | |||||
| file(GLOB_RECURSE CPU_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} | |||||
| "cpu/*.cc" | |||||
| ) | |||||
| endif () | |||||
| if (ENABLE_GPU) | if (ENABLE_GPU) | ||||
| file(GLOB_RECURSE CUDA_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} | file(GLOB_RECURSE CUDA_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} | ||||
| "gpu/*.cu" | "gpu/*.cu" | ||||
| @@ -37,4 +43,4 @@ if (ENABLE_GPU) | |||||
| # add_library(_mindspore_kernel_cuda_obj OBJECT ${CUDA_SRC_LIST}) | # add_library(_mindspore_kernel_cuda_obj OBJECT ${CUDA_SRC_LIST}) | ||||
| endif() | endif() | ||||
| add_library(_mindspore_kernel_obj OBJECT ${KERNEL_SRC_LIST} ${GPU_SRC_LIST} ${D_SRC_LIST}) | |||||
| add_library(_mindspore_kernel_obj OBJECT ${KERNEL_SRC_LIST} ${CPU_SRC_LIST} ${GPU_SRC_LIST} ${D_SRC_LIST}) | |||||
| @@ -13,14 +13,13 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/apply_momentum_cpu_kernel.h" | |||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/apply_momentum_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void ApplyMomentumCPUKernel::InitKernel(const CNodePtr & /*kernel_node*/) {} | void ApplyMomentumCPUKernel::InitKernel(const CNodePtr & /*kernel_node*/) {} | ||||
| bool ApplyMomentumCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | bool ApplyMomentumCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | ||||
| @@ -44,6 +43,5 @@ bool ApplyMomentumCPUKernel::Launch(const std::vector<kernel::AddressPtr> &input | |||||
| } | } | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_APPLY_MOMENTUM_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_APPLY_MOMENTUM_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_APPLY_MOMENTUM_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_APPLY_MOMENTUM_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class ApplyMomentumCPUKernel : public MKLCPUKernel { | class ApplyMomentumCPUKernel : public MKLCPUKernel { | ||||
| public: | public: | ||||
| ApplyMomentumCPUKernel() = default; | ApplyMomentumCPUKernel() = default; | ||||
| @@ -35,8 +34,7 @@ class ApplyMomentumCPUKernel : public MKLCPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(ApplyMomentum, ApplyMomentumCPUKernel); | MS_REG_CPU_KERNEL(ApplyMomentum, ApplyMomentumCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_APPLY_MOMENTUM_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_APPLY_MOMENTUM_CPU_KERNEL_H_ | |||||
| @@ -13,12 +13,11 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/argmax_cpu_kernel.h" | |||||
| #include "kernel/cpu/argmax_cpu_kernel.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void ArgmaxCPUKernel::InitKernel(const CNodePtr &kernel_node) { | void ArgmaxCPUKernel::InitKernel(const CNodePtr &kernel_node) { | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| std::vector<size_t> shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | std::vector<size_t> shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | ||||
| @@ -64,6 +63,5 @@ bool ArgmaxCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | |||||
| } | } | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_ARGMAX_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_ARGMAX_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_ARGMAX_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_ARGMAX_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/cpu_kernel.h" | |||||
| #include "device/cpu/cpu_kernel_factory.h" | |||||
| #include "kernel/cpu/cpu_kernel.h" | |||||
| #include "kernel/cpu/cpu_kernel_factory.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class ArgmaxCPUKernel : public CPUKernel { | class ArgmaxCPUKernel : public CPUKernel { | ||||
| public: | public: | ||||
| ArgmaxCPUKernel() = default; | ArgmaxCPUKernel() = default; | ||||
| @@ -39,8 +38,7 @@ class ArgmaxCPUKernel : public CPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(Argmax, ArgmaxCPUKernel); | MS_REG_CPU_KERNEL(Argmax, ArgmaxCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_ARGMAX_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_ARGMAX_CPU_KERNEL_H_ | |||||
| @@ -14,12 +14,11 @@ | |||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/bias_add_cpu_kernel.h" | |||||
| #include "kernel/cpu/bias_add_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| void BiasAddCpuKernel::InitKernel(const CNodePtr &kernel_node) { | |||||
| namespace kernel { | |||||
| void BiasAddCPUKernel::InitKernel(const CNodePtr &kernel_node) { | |||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| input_shape_ = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | input_shape_ = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | ||||
| bias_shape_ = AnfAlgo::GetInputDeviceShape(kernel_node, 1); | bias_shape_ = AnfAlgo::GetInputDeviceShape(kernel_node, 1); | ||||
| @@ -41,7 +40,7 @@ void BiasAddCpuKernel::InitKernel(const CNodePtr &kernel_node) { | |||||
| } | } | ||||
| } | } | ||||
| bool BiasAddCpuKernel::Launch(const std::vector<AddressPtr> &inputs, const std::vector<AddressPtr> & /*workspace*/, | |||||
| bool BiasAddCPUKernel::Launch(const std::vector<AddressPtr> &inputs, const std::vector<AddressPtr> & /*workspace*/, | |||||
| const std::vector<AddressPtr> &outputs) { | const std::vector<AddressPtr> &outputs) { | ||||
| if (inputs.size() != 2 || outputs.size() != 1) { | if (inputs.size() != 2 || outputs.size() != 1) { | ||||
| MS_LOG(EXCEPTION) << "inputs outputs size not supoort"; | MS_LOG(EXCEPTION) << "inputs outputs size not supoort"; | ||||
| @@ -79,6 +78,5 @@ bool BiasAddCpuKernel::Launch(const std::vector<AddressPtr> &inputs, const std:: | |||||
| } | } | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,21 +13,20 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_MINDSPORE_CCSRC_DEVICE_CPU_KERNEL_BIAS_ADD_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_MINDSPORE_CCSRC_DEVICE_CPU_KERNEL_BIAS_ADD_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_MINDSPORE_CCSRC_KERNEL_CPU_BIAS_ADD_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_MINDSPORE_CCSRC_KERNEL_CPU_BIAS_ADD_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/cpu_kernel.h" | |||||
| #include "device/cpu/cpu_kernel_factory.h" | |||||
| #include "kernel/cpu/cpu_kernel.h" | |||||
| #include "kernel/cpu/cpu_kernel_factory.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| class BiasAddCpuKernel : public CPUKernel { | |||||
| namespace kernel { | |||||
| class BiasAddCPUKernel : public CPUKernel { | |||||
| public: | public: | ||||
| BiasAddCpuKernel() = default; | |||||
| ~BiasAddCpuKernel() override = default; | |||||
| BiasAddCPUKernel() = default; | |||||
| ~BiasAddCPUKernel() override = default; | |||||
| void InitKernel(const CNodePtr &kernel_node) override; | void InitKernel(const CNodePtr &kernel_node) override; | ||||
| bool Launch(const std::vector<AddressPtr> &inputs, const std::vector<AddressPtr> &workspace, | bool Launch(const std::vector<AddressPtr> &inputs, const std::vector<AddressPtr> &workspace, | ||||
| @@ -38,8 +37,7 @@ class BiasAddCpuKernel : public CPUKernel { | |||||
| std::vector<size_t> input_shape_; | std::vector<size_t> input_shape_; | ||||
| std::vector<size_t> bias_shape_; | std::vector<size_t> bias_shape_; | ||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(BiasAdd, BiasAddCpuKernel); | |||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| MS_REG_CPU_KERNEL(BiasAdd, BiasAddCPUKernel); | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_MINDSPORE_CCSRC_DEVICE_CPU_KERNEL_BIAS_ADD_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_MINDSPORE_CCSRC_KERNEL_CPU_BIAS_ADD_CPU_KERNEL_H_ | |||||
| @@ -14,12 +14,11 @@ | |||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/bias_add_grad_cpu_kernel.h" | |||||
| #include "kernel/cpu/bias_add_grad_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| void BiasAddGradCpuKernel::InitKernel(const CNodePtr &kernel_node) { | |||||
| namespace kernel { | |||||
| void BiasAddGradCPUKernel::InitKernel(const CNodePtr &kernel_node) { | |||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| input_shape_ = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | input_shape_ = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | ||||
| if (input_shape_.size() != 4 && input_shape_.size() != 2) { | if (input_shape_.size() != 4 && input_shape_.size() != 2) { | ||||
| @@ -27,7 +26,7 @@ void BiasAddGradCpuKernel::InitKernel(const CNodePtr &kernel_node) { | |||||
| } | } | ||||
| } | } | ||||
| bool BiasAddGradCpuKernel::Launch(const std::vector<AddressPtr> &inputs, const std::vector<AddressPtr> & /*workspace*/, | |||||
| bool BiasAddGradCPUKernel::Launch(const std::vector<AddressPtr> &inputs, const std::vector<AddressPtr> & /*workspace*/, | |||||
| const std::vector<AddressPtr> &outputs) { | const std::vector<AddressPtr> &outputs) { | ||||
| if (inputs.size() != 1 || outputs.size() != 1) { | if (inputs.size() != 1 || outputs.size() != 1) { | ||||
| MS_LOG(EXCEPTION) << "input output size not support"; | MS_LOG(EXCEPTION) << "input output size not support"; | ||||
| @@ -65,6 +64,5 @@ bool BiasAddGradCpuKernel::Launch(const std::vector<AddressPtr> &inputs, const s | |||||
| } | } | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -14,21 +14,20 @@ | |||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_MINDSPORE_CCSRC_DEVICE_CPU_KERNEL_BIASADDGRADCPUKERNEL_H_ | |||||
| #define MINDSPORE_MINDSPORE_CCSRC_DEVICE_CPU_KERNEL_BIASADDGRADCPUKERNEL_H_ | |||||
| #ifndef MINDSPORE_MINDSPORE_CCSRC_KERNEL_CPU_BIASADDGRADCPUKERNEL_H_ | |||||
| #define MINDSPORE_MINDSPORE_CCSRC_KERNEL_CPU_BIASADDGRADCPUKERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/cpu_kernel.h" | |||||
| #include "device/cpu/cpu_kernel_factory.h" | |||||
| #include "kernel/cpu/cpu_kernel.h" | |||||
| #include "kernel/cpu/cpu_kernel_factory.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| class BiasAddGradCpuKernel : public CPUKernel { | |||||
| namespace kernel { | |||||
| class BiasAddGradCPUKernel : public CPUKernel { | |||||
| public: | public: | ||||
| BiasAddGradCpuKernel() = default; | |||||
| ~BiasAddGradCpuKernel() override = default; | |||||
| BiasAddGradCPUKernel() = default; | |||||
| ~BiasAddGradCPUKernel() override = default; | |||||
| void InitKernel(const CNodePtr &kernel_node) override; | void InitKernel(const CNodePtr &kernel_node) override; | ||||
| bool Launch(const std::vector<AddressPtr> &inputs, const std::vector<AddressPtr> &workspace, | bool Launch(const std::vector<AddressPtr> &inputs, const std::vector<AddressPtr> &workspace, | ||||
| @@ -37,8 +36,7 @@ class BiasAddGradCpuKernel : public CPUKernel { | |||||
| private: | private: | ||||
| std::vector<size_t> input_shape_; | std::vector<size_t> input_shape_; | ||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(BiasAddGrad, BiasAddGradCpuKernel); | |||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| MS_REG_CPU_KERNEL(BiasAddGrad, BiasAddGradCPUKernel); | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_MINDSPORE_CCSRC_DEVICE_CPU_KERNEL_BIASADDGRADCPUKERNEL_H_ | |||||
| #endif // MINDSPORE_MINDSPORE_CCSRC_KERNEL_CPU_BIASADDGRADCPUKERNEL_H_ | |||||
| @@ -13,11 +13,10 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/cpu_kernel.h" | |||||
| #include "kernel/cpu/cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void CPUKernel::InitInputOutputSize(const CNodePtr &kernel_node) { | void CPUKernel::InitInputOutputSize(const CNodePtr &kernel_node) { | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| size_t input_num = AnfAlgo::GetInputTensorNum(kernel_node); | size_t input_num = AnfAlgo::GetInputTensorNum(kernel_node); | ||||
| @@ -41,6 +40,5 @@ void CPUKernel::Init(const CNodePtr &kernel_node) { | |||||
| InitInputOutputSize(kernel_node); | InitInputOutputSize(kernel_node); | ||||
| InitKernel(kernel_node); | InitKernel(kernel_node); | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,8 +13,8 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_CPU_KERNEL_H_ | |||||
| #include <string> | #include <string> | ||||
| #include <vector> | #include <vector> | ||||
| @@ -28,8 +28,7 @@ | |||||
| using mindspore::kernel::Address; | using mindspore::kernel::Address; | ||||
| using mindspore::kernel::AddressPtr; | using mindspore::kernel::AddressPtr; | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| const char KSIZE[] = "ksize"; | const char KSIZE[] = "ksize"; | ||||
| const char STRIDE[] = "stride"; | const char STRIDE[] = "stride"; | ||||
| const char STRIDES[] = "strides"; | const char STRIDES[] = "strides"; | ||||
| @@ -70,8 +69,7 @@ class CPUKernel : public kernel::KernelMod { | |||||
| std::vector<size_t> output_size_list_; | std::vector<size_t> output_size_list_; | ||||
| std::vector<size_t> workspace_size_list_; | std::vector<size_t> workspace_size_list_; | ||||
| }; | }; | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_CPU_KERNEL_H_ | |||||
| @@ -14,15 +14,14 @@ | |||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/cpu_kernel_factory.h" | |||||
| #include "kernel/cpu/cpu_kernel_factory.h" | |||||
| #include <memory> | #include <memory> | ||||
| #include <iostream> | #include <iostream> | ||||
| #include <string> | #include <string> | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| CPUKernelFactory &CPUKernelFactory::Get() { | CPUKernelFactory &CPUKernelFactory::Get() { | ||||
| static CPUKernelFactory instance; | static CPUKernelFactory instance; | ||||
| return instance; | return instance; | ||||
| @@ -45,6 +44,5 @@ std::shared_ptr<CPUKernel> CPUKernelFactory::Create(const std::string &kernel_na | |||||
| } | } | ||||
| return nullptr; | return nullptr; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,8 +13,8 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_CPU_KERNEL_FACTORY_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_CPU_KERNEL_FACTORY_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_CPU_KERNEL_FACTORY_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_CPU_KERNEL_FACTORY_H_ | |||||
| #include <functional> | #include <functional> | ||||
| #include <map> | #include <map> | ||||
| @@ -22,10 +22,9 @@ | |||||
| #include <string> | #include <string> | ||||
| #include <utility> | #include <utility> | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| #include "device/cpu/cpu_kernel.h" | |||||
| #include "kernel/cpu/cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| using CPUKernelCreator = std::function<std::shared_ptr<CPUKernel>()>; | using CPUKernelCreator = std::function<std::shared_ptr<CPUKernel>()>; | ||||
| class CPUKernelFactory { | class CPUKernelFactory { | ||||
| public: | public: | ||||
| @@ -51,8 +50,7 @@ class CPUKernelRegistrar { | |||||
| #define MS_REG_CPU_KERNEL(KERNEL_NAME, KERNEL_CLASS) \ | #define MS_REG_CPU_KERNEL(KERNEL_NAME, KERNEL_CLASS) \ | ||||
| static const CPUKernelRegistrar g_cpu_kernel_##KERNEL_NAME##_reg(#KERNEL_NAME, \ | static const CPUKernelRegistrar g_cpu_kernel_##KERNEL_NAME##_reg(#KERNEL_NAME, \ | ||||
| []() { return std::make_shared<KERNEL_CLASS>(); }); | []() { return std::make_shared<KERNEL_CLASS>(); }); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_CPU_KERNEL_FACTORY_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_CPU_KERNEL_FACTORY_H_ | |||||
| @@ -13,12 +13,11 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/equal_count_cpu_kernel.h" | |||||
| #include "kernel/cpu/equal_count_cpu_kernel.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void EqualCountCPUKernel::InitKernel(const CNodePtr & /*kernel_node*/) {} | void EqualCountCPUKernel::InitKernel(const CNodePtr & /*kernel_node*/) {} | ||||
| bool EqualCountCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | bool EqualCountCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | ||||
| @@ -43,6 +42,5 @@ bool EqualCountCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | |||||
| output[0] = count; | output[0] = count; | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_EQUAL_COUNT_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_EQUAL_COUNT_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_EQUAL_COUNT_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_EQUAL_COUNT_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/cpu_kernel.h" | |||||
| #include "device/cpu/cpu_kernel_factory.h" | |||||
| #include "kernel/cpu/cpu_kernel.h" | |||||
| #include "kernel/cpu/cpu_kernel_factory.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class EqualCountCPUKernel : public CPUKernel { | class EqualCountCPUKernel : public CPUKernel { | ||||
| public: | public: | ||||
| EqualCountCPUKernel() = default; | EqualCountCPUKernel() = default; | ||||
| @@ -35,8 +34,7 @@ class EqualCountCPUKernel : public CPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(EqualCount, EqualCountCPUKernel); | MS_REG_CPU_KERNEL(EqualCount, EqualCountCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_EQUAL_COUNT_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_EQUAL_COUNT_CPU_KERNEL_H_ | |||||
| @@ -13,15 +13,14 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/mkldnn/conv2d_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/conv2d_cpu_kernel.h" | |||||
| #include <string> | #include <string> | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void Conv2dCPUKernel::InitKernel(const CNodePtr &kernel_node) { | void Conv2dCPUKernel::InitKernel(const CNodePtr &kernel_node) { | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | ||||
| @@ -88,6 +87,5 @@ bool Conv2dCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | |||||
| ExecutePrimitive(); | ExecutePrimitive(); | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_CONV2D_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_CONV2D_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_CONV2D_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_CONV2D_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class Conv2dCPUKernel : public MKLCPUKernel { | class Conv2dCPUKernel : public MKLCPUKernel { | ||||
| public: | public: | ||||
| Conv2dCPUKernel() = default; | Conv2dCPUKernel() = default; | ||||
| @@ -35,8 +34,7 @@ class Conv2dCPUKernel : public MKLCPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(Conv2D, Conv2dCPUKernel); | MS_REG_CPU_KERNEL(Conv2D, Conv2dCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_CONV2D_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_CONV2D_CPU_KERNEL_H_ | |||||
| @@ -13,15 +13,14 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/mkldnn/conv2d_grad_filter_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/conv2d_grad_filter_cpu_kernel.h" | |||||
| #include <string> | #include <string> | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void Conv2dGradFilterCPUKernel::InitKernel(const CNodePtr &kernel_node) { | void Conv2dGradFilterCPUKernel::InitKernel(const CNodePtr &kernel_node) { | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 1); | std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 1); | ||||
| @@ -90,6 +89,5 @@ bool Conv2dGradFilterCPUKernel::Launch(const std::vector<kernel::AddressPtr> &in | |||||
| ExecutePrimitive(); | ExecutePrimitive(); | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_CONV2D_GRAD_FILTER_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_CONV2D_GRAD_FILTER_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_CONV2D_GRAD_FILTER_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_CONV2D_GRAD_FILTER_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class Conv2dGradFilterCPUKernel : public MKLCPUKernel { | class Conv2dGradFilterCPUKernel : public MKLCPUKernel { | ||||
| public: | public: | ||||
| Conv2dGradFilterCPUKernel() = default; | Conv2dGradFilterCPUKernel() = default; | ||||
| @@ -35,8 +34,7 @@ class Conv2dGradFilterCPUKernel : public MKLCPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(Conv2DBackpropFilter, Conv2dGradFilterCPUKernel); | MS_REG_CPU_KERNEL(Conv2DBackpropFilter, Conv2dGradFilterCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_CONV2D_GRAD_FILTER_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_CONV2D_GRAD_FILTER_CPU_KERNEL_H_ | |||||
| @@ -13,15 +13,14 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/mkldnn/conv2d_grad_input_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/conv2d_grad_input_cpu_kernel.h" | |||||
| #include <string> | #include <string> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void Conv2dGradInputCPUKernel::InitKernel(const CNodePtr &kernel_node) { | void Conv2dGradInputCPUKernel::InitKernel(const CNodePtr &kernel_node) { | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| std::vector<size_t> src_shape = AnfAlgo::GetOutputDeviceShape(kernel_node, 0); | std::vector<size_t> src_shape = AnfAlgo::GetOutputDeviceShape(kernel_node, 0); | ||||
| @@ -89,6 +88,5 @@ bool Conv2dGradInputCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inp | |||||
| ExecutePrimitive(); | ExecutePrimitive(); | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_CONV2D_GRAD_INPUT_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_CONV2D_GRAD_INPUT_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_CONV2D_GRAD_INPUT_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_CONV2D_GRAD_INPUT_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class Conv2dGradInputCPUKernel : public MKLCPUKernel { | class Conv2dGradInputCPUKernel : public MKLCPUKernel { | ||||
| public: | public: | ||||
| Conv2dGradInputCPUKernel() = default; | Conv2dGradInputCPUKernel() = default; | ||||
| @@ -35,8 +34,7 @@ class Conv2dGradInputCPUKernel : public MKLCPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(Conv2DBackpropInput, Conv2dGradInputCPUKernel); | MS_REG_CPU_KERNEL(Conv2DBackpropInput, Conv2dGradInputCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_CONV2D_GRAD_INPUT_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_CONV2D_GRAD_INPUT_CPU_KERNEL_H_ | |||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/mkldnn/matmul_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/matmul_cpu_kernel.h" | |||||
| #include <algorithm> | #include <algorithm> | ||||
| #include <utility> | #include <utility> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void MatMulCPUKernel::InitKernel(const CNodePtr &kernel_node) { | void MatMulCPUKernel::InitKernel(const CNodePtr &kernel_node) { | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | ||||
| @@ -68,6 +67,5 @@ bool MatMulCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | |||||
| (void)dnnl_sgemm(trans_a_, trans_b_, dim_m_, dim_n_, dim_k_, 1.f, input_a, lda, input_b, ldb, 0.f, output, dim_n_); | (void)dnnl_sgemm(trans_a_, trans_b_, dim_m_, dim_n_, dim_k_, 1.f, input_a, lda, input_b, ldb, 0.f, output, dim_n_); | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_MATMUL_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_MATMUL_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_MATMUL_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_MATMUL_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class MatMulCPUKernel : public MKLCPUKernel { | class MatMulCPUKernel : public MKLCPUKernel { | ||||
| public: | public: | ||||
| MatMulCPUKernel() = default; | MatMulCPUKernel() = default; | ||||
| @@ -42,8 +41,7 @@ class MatMulCPUKernel : public MKLCPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(MatMul, MatMulCPUKernel); | MS_REG_CPU_KERNEL(MatMul, MatMulCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_MATMUL_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_MATMUL_CPU_KERNEL_H_ | |||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/mkldnn/mkl_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_cpu_kernel.h" | |||||
| #include <vector> | #include <vector> | ||||
| #include <string> | #include <string> | ||||
| #include <algorithm> | #include <algorithm> | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void MKLCPUKernel::GetPadding(const CNodePtr &kernel_node, const std::string &pad_mode, | void MKLCPUKernel::GetPadding(const CNodePtr &kernel_node, const std::string &pad_mode, | ||||
| const std::vector<size_t> &src_shape, int kernel_size, int stride, | const std::vector<size_t> &src_shape, int kernel_size, int stride, | ||||
| std::vector<int> *padding_l, std::vector<int> *padding_r) { | std::vector<int> *padding_l, std::vector<int> *padding_r) { | ||||
| @@ -99,6 +98,5 @@ void MKLCPUKernel::SetArgumentHandle(int arg_key, void *ptr) { | |||||
| } | } | ||||
| void MKLCPUKernel::ExecutePrimitive() { MKLKernelEngine::Get().Execute(primitive_, arguments_); } | void MKLCPUKernel::ExecutePrimitive() { MKLKernelEngine::Get().Execute(primitive_, arguments_); } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,20 +13,19 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_MKL_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_MKL_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_MKL_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_MKL_CPU_KERNEL_H_ | |||||
| #include <string> | #include <string> | ||||
| #include <unordered_map> | #include <unordered_map> | ||||
| #include <memory> | #include <memory> | ||||
| #include <vector> | #include <vector> | ||||
| #include "dnnl.hpp" | #include "dnnl.hpp" | ||||
| #include "device/cpu/cpu_kernel.h" | |||||
| #include "device/cpu/cpu_kernel_factory.h" | |||||
| #include "kernel/cpu/cpu_kernel.h" | |||||
| #include "kernel/cpu/cpu_kernel_factory.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class MKLCPUKernel : public CPUKernel { | class MKLCPUKernel : public CPUKernel { | ||||
| public: | public: | ||||
| MKLCPUKernel() = default; | MKLCPUKernel() = default; | ||||
| @@ -43,8 +42,7 @@ class MKLCPUKernel : public CPUKernel { | |||||
| std::unordered_map<int, dnnl::memory> arguments_; | std::unordered_map<int, dnnl::memory> arguments_; | ||||
| std::shared_ptr<dnnl::primitive> primitive_{nullptr}; | std::shared_ptr<dnnl::primitive> primitive_{nullptr}; | ||||
| }; | }; | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_MKL_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_MKL_CPU_KERNEL_H_ | |||||
| @@ -13,13 +13,12 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| #include "utils/log_adapter.h" | #include "utils/log_adapter.h" | ||||
| #include "dnnl.hpp" | #include "dnnl.hpp" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void MKLKernelEngine::Execute(const std::shared_ptr<dnnl::primitive> &primitive, | void MKLKernelEngine::Execute(const std::shared_ptr<dnnl::primitive> &primitive, | ||||
| const std::unordered_map<int, dnnl::memory> &arguments) { | const std::unordered_map<int, dnnl::memory> &arguments) { | ||||
| MS_EXCEPTION_IF_NULL(primitive); | MS_EXCEPTION_IF_NULL(primitive); | ||||
| @@ -34,6 +33,5 @@ dnnl::memory MKLKernelEngine::CreateMemory(const dnnl::memory::desc &mem_desc, b | |||||
| return dnnl::memory(mem_desc, engine_, nullptr); | return dnnl::memory(mem_desc, engine_, nullptr); | ||||
| } | } | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -23,8 +23,7 @@ | |||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class MKLKernelEngine { | class MKLKernelEngine { | ||||
| public: | public: | ||||
| static MKLKernelEngine &Get() { | static MKLKernelEngine &Get() { | ||||
| @@ -46,8 +45,7 @@ class MKLKernelEngine { | |||||
| dnnl::engine engine_; | dnnl::engine engine_; | ||||
| dnnl::stream stream_; | dnnl::stream stream_; | ||||
| }; | }; | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_MKL_KERNEL_ENGINE_H_ | #endif // MINDSPORE_MKL_KERNEL_ENGINE_H_ | ||||
| @@ -13,14 +13,13 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/mkldnn/mul_cpu_kernel.h" | |||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/mkldnn/mul_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void MulCPUKernel::InitKernel(const CNodePtr &kernel_node) { | void MulCPUKernel::InitKernel(const CNodePtr &kernel_node) { | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| std::vector<size_t> src0_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | std::vector<size_t> src0_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | ||||
| @@ -58,6 +57,5 @@ bool MulCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | |||||
| ExecutePrimitive(); | ExecutePrimitive(); | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_MUL_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_MUL_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_MUL_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_MUL_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class MulCPUKernel : public MKLCPUKernel { | class MulCPUKernel : public MKLCPUKernel { | ||||
| public: | public: | ||||
| MulCPUKernel() = default; | MulCPUKernel() = default; | ||||
| @@ -35,8 +34,7 @@ class MulCPUKernel : public MKLCPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(Mul, MulCPUKernel); | MS_REG_CPU_KERNEL(Mul, MulCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_MUL_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_MUL_CPU_KERNEL_H_ | |||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/mkldnn/pooling_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/pooling_cpu_kernel.h" | |||||
| #include <string> | #include <string> | ||||
| #include <algorithm> | #include <algorithm> | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void PoolingCPUKernel::InitKernel(const CNodePtr &kernel_node) { | void PoolingCPUKernel::InitKernel(const CNodePtr &kernel_node) { | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | ||||
| @@ -66,6 +65,5 @@ bool PoolingCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | |||||
| ExecutePrimitive(); | ExecutePrimitive(); | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_POOLING_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_POOLING_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_POOLING_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_POOLING_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class PoolingCPUKernel : public MKLCPUKernel { | class PoolingCPUKernel : public MKLCPUKernel { | ||||
| public: | public: | ||||
| PoolingCPUKernel() = default; | PoolingCPUKernel() = default; | ||||
| @@ -35,8 +34,7 @@ class PoolingCPUKernel : public MKLCPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(MaxPool, PoolingCPUKernel); | MS_REG_CPU_KERNEL(MaxPool, PoolingCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_POOLING_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_POOLING_CPU_KERNEL_H_ | |||||
| @@ -13,17 +13,16 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/mkldnn/pooling_grad_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/pooling_grad_cpu_kernel.h" | |||||
| #include <string> | #include <string> | ||||
| #include <utility> | #include <utility> | ||||
| #include <algorithm> | #include <algorithm> | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void PoolingGradCPUKernel::InitKernel(const CNodePtr &kernel_node) { | void PoolingGradCPUKernel::InitKernel(const CNodePtr &kernel_node) { | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| src_shape_ = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | src_shape_ = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | ||||
| @@ -121,6 +120,5 @@ bool PoolingGradCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | |||||
| } | } | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,17 +13,16 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_POOLING_GRAD_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_POOLING_GRAD_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_POOLING_GRAD_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_POOLING_GRAD_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include <utility> | #include <utility> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class PoolingGradCPUKernel : public MKLCPUKernel { | class PoolingGradCPUKernel : public MKLCPUKernel { | ||||
| public: | public: | ||||
| PoolingGradCPUKernel() = default; | PoolingGradCPUKernel() = default; | ||||
| @@ -45,8 +44,7 @@ class PoolingGradCPUKernel : public MKLCPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(MaxPoolGrad, PoolingGradCPUKernel); | MS_REG_CPU_KERNEL(MaxPoolGrad, PoolingGradCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_POOLING_GRAD_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_POOLING_GRAD_CPU_KERNEL_H_ | |||||
| @@ -13,14 +13,13 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/mkldnn/relu_cpu_kernel.h" | |||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/mkldnn/relu_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void ReluCPUKernel::InitKernel(const CNodePtr &kernel_node) { | void ReluCPUKernel::InitKernel(const CNodePtr &kernel_node) { | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | ||||
| @@ -49,6 +48,5 @@ bool ReluCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | |||||
| ExecutePrimitive(); | ExecutePrimitive(); | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_RELU_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_RELU_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_RELU_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_RELU_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class ReluCPUKernel : public MKLCPUKernel { | class ReluCPUKernel : public MKLCPUKernel { | ||||
| public: | public: | ||||
| ReluCPUKernel() = default; | ReluCPUKernel() = default; | ||||
| @@ -35,8 +34,7 @@ class ReluCPUKernel : public MKLCPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(ReLU, ReluCPUKernel); | MS_REG_CPU_KERNEL(ReLU, ReluCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_RELU_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_RELU_CPU_KERNEL_H_ | |||||
| @@ -13,14 +13,13 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/mkldnn/relu_grad_cpu_kernel.h" | |||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/mkldnn/relu_grad_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void ReluGradCPUKernel::InitKernel(const CNodePtr &kernel_node) { | void ReluGradCPUKernel::InitKernel(const CNodePtr &kernel_node) { | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | ||||
| @@ -66,6 +65,5 @@ bool ReluGradCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | |||||
| } | } | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_RELU_GRAD_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_RELU_GRAD_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_RELU_GRAD_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_RELU_GRAD_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class ReluGradCPUKernel : public MKLCPUKernel { | class ReluGradCPUKernel : public MKLCPUKernel { | ||||
| public: | public: | ||||
| ReluGradCPUKernel() = default; | ReluGradCPUKernel() = default; | ||||
| @@ -35,8 +34,7 @@ class ReluGradCPUKernel : public MKLCPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(ReluGrad, ReluGradCPUKernel); | MS_REG_CPU_KERNEL(ReluGrad, ReluGradCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_RELU_GRAD_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_RELU_GRAD_CPU_KERNEL_H_ | |||||
| @@ -13,14 +13,13 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/mkldnn/softmax_cpu_kernel.h" | |||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/mkldnn/softmax_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void SoftmaxCPUKernel::InitKernel(const CNodePtr &kernel_node) { | void SoftmaxCPUKernel::InitKernel(const CNodePtr &kernel_node) { | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | std::vector<size_t> src_shape = AnfAlgo::GetInputDeviceShape(kernel_node, 0); | ||||
| @@ -51,6 +50,5 @@ bool SoftmaxCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | |||||
| ExecutePrimitive(); | ExecutePrimitive(); | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_SOFTMAX_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_SOFTMAX_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_SOFTMAX_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_SOFTMAX_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class SoftmaxCPUKernel : public MKLCPUKernel { | class SoftmaxCPUKernel : public MKLCPUKernel { | ||||
| public: | public: | ||||
| SoftmaxCPUKernel() = default; | SoftmaxCPUKernel() = default; | ||||
| @@ -35,8 +34,7 @@ class SoftmaxCPUKernel : public MKLCPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(Softmax, SoftmaxCPUKernel); | MS_REG_CPU_KERNEL(Softmax, SoftmaxCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_SOFTMAX_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_SOFTMAX_CPU_KERNEL_H_ | |||||
| @@ -13,17 +13,16 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/mkldnn/sparse_softmax_cross_entropy_with_logits_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/sparse_softmax_cross_entropy_with_logits_cpu_kernel.h" | |||||
| #include <numeric> | #include <numeric> | ||||
| #include <functional> | #include <functional> | ||||
| #include <cmath> | #include <cmath> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_kernel_engine.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_kernel_engine.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void SparseSoftmaxCrossEntropyWithLogitsCPUKernel::InitInputOutputSize(const CNodePtr &kernel_node) { | void SparseSoftmaxCrossEntropyWithLogitsCPUKernel::InitInputOutputSize(const CNodePtr &kernel_node) { | ||||
| CPUKernel::InitInputOutputSize(kernel_node); | CPUKernel::InitInputOutputSize(kernel_node); | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| @@ -126,6 +125,5 @@ bool SparseSoftmaxCrossEntropyWithLogitsCPUKernel::Launch(const std::vector<kern | |||||
| } | } | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_SPARSE_SOFTMAX_CROSS_ENTROPY_WITH_LOGITS_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_SPARSE_SOFTMAX_CROSS_ENTROPY_WITH_LOGITS_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_SPARSE_SOFTMAX_CROSS_ENTROPY_WITH_LOGITS_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_SPARSE_SOFTMAX_CROSS_ENTROPY_WITH_LOGITS_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/kernel/mkldnn/mkl_cpu_kernel.h" | |||||
| #include "kernel/cpu/mkldnn/mkl_cpu_kernel.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class SparseSoftmaxCrossEntropyWithLogitsCPUKernel : public MKLCPUKernel { | class SparseSoftmaxCrossEntropyWithLogitsCPUKernel : public MKLCPUKernel { | ||||
| public: | public: | ||||
| SparseSoftmaxCrossEntropyWithLogitsCPUKernel() = default; | SparseSoftmaxCrossEntropyWithLogitsCPUKernel() = default; | ||||
| @@ -45,8 +44,7 @@ class SparseSoftmaxCrossEntropyWithLogitsCPUKernel : public MKLCPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(SparseSoftmaxCrossEntropyWithLogits, SparseSoftmaxCrossEntropyWithLogitsCPUKernel); | MS_REG_CPU_KERNEL(SparseSoftmaxCrossEntropyWithLogits, SparseSoftmaxCrossEntropyWithLogitsCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_SPARSE_SOFTMAX_CROSS_ENTROPY_WITH_LOGITS_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_SPARSE_SOFTMAX_CROSS_ENTROPY_WITH_LOGITS_CPU_KERNEL_H_ | |||||
| @@ -13,12 +13,11 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/one_hot_cpu_kernel.h" | |||||
| #include "kernel/cpu/one_hot_cpu_kernel.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void OneHotCPUKernel::InitKernel(const CNodePtr &kernel_node) { | void OneHotCPUKernel::InitKernel(const CNodePtr &kernel_node) { | ||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| auto output_shape = AnfAlgo::GetOutputInferShape(kernel_node, 0); | auto output_shape = AnfAlgo::GetOutputInferShape(kernel_node, 0); | ||||
| @@ -69,6 +68,5 @@ bool OneHotCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | |||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_ONE_HOT_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_ONE_HOT_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_ONE_HOT_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_ONE_HOT_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/cpu_kernel.h" | |||||
| #include "device/cpu/cpu_kernel_factory.h" | |||||
| #include "kernel/cpu/cpu_kernel.h" | |||||
| #include "kernel/cpu/cpu_kernel_factory.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class OneHotCPUKernel : public CPUKernel { | class OneHotCPUKernel : public CPUKernel { | ||||
| public: | public: | ||||
| OneHotCPUKernel() = default; | OneHotCPUKernel() = default; | ||||
| @@ -40,8 +39,7 @@ class OneHotCPUKernel : public CPUKernel { | |||||
| }; | }; | ||||
| MS_REG_CPU_KERNEL(OneHot, OneHotCPUKernel); | MS_REG_CPU_KERNEL(OneHot, OneHotCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_ONE_HOT_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_ONE_HOT_CPU_KERNEL_H_ | |||||
| @@ -13,12 +13,11 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/kernel/reshape_cpu_kernel.h" | |||||
| #include "kernel/cpu/reshape_cpu_kernel.h" | |||||
| #include "device/cpu/cpu_device_address.h" | #include "device/cpu/cpu_device_address.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| void ReshapeCPUKernel::InitKernel(const CNodePtr &kernel_node) { MS_EXCEPTION_IF_NULL(kernel_node); } | void ReshapeCPUKernel::InitKernel(const CNodePtr &kernel_node) { MS_EXCEPTION_IF_NULL(kernel_node); } | ||||
| bool ReshapeCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | bool ReshapeCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | ||||
| @@ -43,6 +42,5 @@ bool ReshapeCPUKernel::Launch(const std::vector<kernel::AddressPtr> &inputs, | |||||
| } | } | ||||
| return true; | return true; | ||||
| } | } | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -13,16 +13,15 @@ | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef MINDSPORE_CCSRC_DEVICE_CPU_RESHAPE_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_DEVICE_CPU_RESHAPE_CPU_KERNEL_H_ | |||||
| #ifndef MINDSPORE_CCSRC_KERNEL_CPU_RESHAPE_CPU_KERNEL_H_ | |||||
| #define MINDSPORE_CCSRC_KERNEL_CPU_RESHAPE_CPU_KERNEL_H_ | |||||
| #include <vector> | #include <vector> | ||||
| #include <memory> | #include <memory> | ||||
| #include "device/cpu/cpu_kernel.h" | |||||
| #include "device/cpu/cpu_kernel_factory.h" | |||||
| #include "kernel/cpu/cpu_kernel.h" | |||||
| #include "kernel/cpu/cpu_kernel_factory.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace device { | |||||
| namespace cpu { | |||||
| namespace kernel { | |||||
| class ReshapeCPUKernel : public CPUKernel { | class ReshapeCPUKernel : public CPUKernel { | ||||
| public: | public: | ||||
| ReshapeCPUKernel() = default; | ReshapeCPUKernel() = default; | ||||
| @@ -37,8 +36,7 @@ class ReshapeCPUKernel : public CPUKernel { | |||||
| MS_REG_CPU_KERNEL(Reshape, ReshapeCPUKernel); | MS_REG_CPU_KERNEL(Reshape, ReshapeCPUKernel); | ||||
| MS_REG_CPU_KERNEL(Flatten, ReshapeCPUKernel); | MS_REG_CPU_KERNEL(Flatten, ReshapeCPUKernel); | ||||
| MS_REG_CPU_KERNEL(ExpandDims, ReshapeCPUKernel); | MS_REG_CPU_KERNEL(ExpandDims, ReshapeCPUKernel); | ||||
| } // namespace cpu | |||||
| } // namespace device | |||||
| } // namespace kernel | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_CCSRC_DEVICE_CPU_RESHAPE_CPU_KERNEL_H_ | |||||
| #endif // MINDSPORE_CCSRC_KERNEL_CPU_RESHAPE_CPU_KERNEL_H_ | |||||
| @@ -12,6 +12,13 @@ if (ENABLE_GPU) | |||||
| list(APPEND _SESSION_SRC_LIST ${_GPU_SRC_LIST}) | list(APPEND _SESSION_SRC_LIST ${_GPU_SRC_LIST}) | ||||
| endif () | endif () | ||||
| if (ENABLE_CPU) | |||||
| file(GLOB_RECURSE _CPU_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} | |||||
| "cpu_session.cc" | |||||
| ) | |||||
| list(APPEND _SESSION_SRC_LIST ${_CPU_SRC_LIST}) | |||||
| endif () | |||||
| if (ENABLE_D) | if (ENABLE_D) | ||||
| file(GLOB_RECURSE _D_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} | file(GLOB_RECURSE _D_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} | ||||
| "ascend_session.cc" | "ascend_session.cc" | ||||
| @@ -14,7 +14,7 @@ | |||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #include "device/cpu/cpu_session.h" | |||||
| #include "session/cpu_session.h" | |||||
| #include <algorithm> | #include <algorithm> | ||||
| #include "ir/meta_tensor.h" | #include "ir/meta_tensor.h" | ||||
| #include "ir/anf.h" | #include "ir/anf.h" | ||||
| @@ -23,7 +23,7 @@ | |||||
| #include "session/anf_runtime_algorithm.h" | #include "session/anf_runtime_algorithm.h" | ||||
| #include "device/kernel_runtime.h" | #include "device/kernel_runtime.h" | ||||
| #include "predict/predict.h" | #include "predict/predict.h" | ||||
| #include "device/cpu/cpu_kernel_factory.h" | |||||
| #include "kernel/cpu/cpu_kernel_factory.h" | |||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace session { | namespace session { | ||||
| @@ -110,7 +110,7 @@ void CPUSession::BuildKernel(const KernelGraph *kernel_graph) { | |||||
| MS_EXCEPTION_IF_NULL(kernel_node); | MS_EXCEPTION_IF_NULL(kernel_node); | ||||
| std::string kernel_name = AnfAlgo::GetCNodeName(kernel_node); | std::string kernel_name = AnfAlgo::GetCNodeName(kernel_node); | ||||
| MS_LOG(INFO) << "Cpu building operator[" << kernel_name << "]."; | MS_LOG(INFO) << "Cpu building operator[" << kernel_name << "]."; | ||||
| std::shared_ptr<device::cpu::CPUKernel> cpu_kernel = device::cpu::CPUKernelFactory::Get().Create(kernel_name); | |||||
| std::shared_ptr<kernel::CPUKernel> cpu_kernel = kernel::CPUKernelFactory::Get().Create(kernel_name); | |||||
| if (cpu_kernel == nullptr) { | if (cpu_kernel == nullptr) { | ||||
| MS_LOG(EXCEPTION) << "Operator[" << kernel_name << "] is not support."; | MS_LOG(EXCEPTION) << "Operator[" << kernel_name << "] is not support."; | ||||
| } | } | ||||
| @@ -22,7 +22,6 @@ | |||||
| #include <string> | #include <string> | ||||
| #include <utility> | #include <utility> | ||||
| #include "common/utils.h" | #include "common/utils.h" | ||||
| #include "device/cpu/cpu_kernel.h" | |||||
| #include "session/session_basic.h" | #include "session/session_basic.h" | ||||
| namespace mindspore { | namespace mindspore { | ||||
| namespace session { | namespace session { | ||||
| @@ -16,6 +16,7 @@ | |||||
| #include "common/backend_common_test.h" | #include "common/backend_common_test.h" | ||||
| #include "common/py_func_graph_fetcher.h" | #include "common/py_func_graph_fetcher.h" | ||||
| #include "session/ascend_session.h" | #include "session/ascend_session.h" | ||||
| #include "session/anf_runtime_algorithm.h" | |||||
| #include "pipeline/resource.h" | #include "pipeline/resource.h" | ||||
| #include "operator/ops.h" | #include "operator/ops.h" | ||||
| #include "ir/manager.h" | #include "ir/manager.h" | ||||