From 1cf5ebc4c5e3f02a9e094a6f1521b3d481a2b94b Mon Sep 17 00:00:00 2001 From: Ke Zhang Date: Thu, 1 Aug 2019 13:22:15 -0700 Subject: [PATCH] copyfromhost/copytohost are not needed for mkldnn ep (#1532) * memcpy is not necessary for mkldnn ep to copy from/to host. * update --- .../mkldnn/mkldnn_execution_provider.cc | 31 ++----------------- 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/onnxruntime/core/providers/mkldnn/mkldnn_execution_provider.cc b/onnxruntime/core/providers/mkldnn/mkldnn_execution_provider.cc index d58b507a96..93cb36116f 100644 --- a/onnxruntime/core/providers/mkldnn/mkldnn_execution_provider.cc +++ b/onnxruntime/core/providers/mkldnn/mkldnn_execution_provider.cc @@ -5,39 +5,18 @@ #pragma warning(disable : 4996) #endif -#include "mkldnn_execution_provider.h" #include "core/framework/allocator.h" -#include "core/framework/memcpy.h" -#include "core/framework/kernel_registry.h" -#include "mkldnn_fwd.h" #include "core/framework/compute_capability.h" +#include "core/framework/kernel_registry.h" #include "core/providers/mkldnn/subgraph/mkldnn_func_kernel.h" +#include "mkldnn_execution_provider.h" +#include "mkldnn_fwd.h" namespace onnxruntime { constexpr const char* MKLDNN = "MklDnn"; constexpr const char* MKLDNN_CPU = "MklDnnCpu"; -namespace mkl_dnn { - -ONNX_OPERATOR_KERNEL_EX( - MemcpyFromHost, - kOnnxDomain, - 1, - kMklDnnExecutionProvider, - KernelDefBuilder().InputMemoryType(0).TypeConstraint("T", DataTypeImpl::AllTensorTypes()), - Memcpy); - -ONNX_OPERATOR_KERNEL_EX( - MemcpyToHost, - kOnnxDomain, - 1, - kMklDnnExecutionProvider, - KernelDefBuilder().OutputMemoryType(0).TypeConstraint("T", DataTypeImpl::AllTensorTypes()), - Memcpy); - -} // namespace mkl_dnn - MKLDNNExecutionProvider::MKLDNNExecutionProvider(const MKLDNNExecutionProviderInfo& info) : IExecutionProvider{onnxruntime::kMklDnnExecutionProvider} { DeviceAllocatorRegistrationInfo default_allocator_info({OrtMemTypeDefault, @@ -65,8 +44,6 @@ MKLDNNExecutionProvider::~MKLDNNExecutionProvider() { namespace mkl_dnn { class ONNX_OPERATOR_KERNEL_CLASS_NAME(kMklDnnExecutionProvider, kOnnxDomain, 1, Conv); class ONNX_OPERATOR_KERNEL_CLASS_NAME(kMklDnnExecutionProvider, kOnnxDomain, 7, Gemm); -class ONNX_OPERATOR_KERNEL_CLASS_NAME(kMklDnnExecutionProvider, kOnnxDomain, 1, MemcpyFromHost); -class ONNX_OPERATOR_KERNEL_CLASS_NAME(kMklDnnExecutionProvider, kOnnxDomain, 1, MemcpyToHost); class ONNX_OPERATOR_KERNEL_CLASS_NAME(kMklDnnExecutionProvider, kOnnxDomain, 6, Relu); class ONNX_OPERATOR_KERNEL_CLASS_NAME(kMklDnnExecutionProvider, kOnnxDomain, 6, Sum); class ONNX_OPERATOR_KERNEL_CLASS_NAME(kMklDnnExecutionProvider, kOnnxDomain, 7, BatchNormalization); @@ -81,8 +58,6 @@ void RegisterMKLDNNKernels(KernelRegistry& kernel_registry) { static const BuildKernelCreateInfoFn function_table[] = { BuildKernelCreateInfo, BuildKernelCreateInfo, - BuildKernelCreateInfo, - BuildKernelCreateInfo, BuildKernelCreateInfo, BuildKernelCreateInfo, BuildKernelCreateInfo,