Commit 154daf06 authored by Jaikrishnan Menon's avatar Jaikrishnan Menon

CPU: Invoke interface for memory primitives

parent 51de579e
...@@ -36,7 +36,7 @@ namespace ngraph ...@@ -36,7 +36,7 @@ namespace ngraph
struct CPURuntimeContext struct CPURuntimeContext
{ {
int64_t* op_durations; int64_t* op_durations;
mkldnn::primitive* mkldnn_primitives; mkldnn::primitive** mkldnn_primitives;
}; };
} }
} }
......
...@@ -15,12 +15,22 @@ ...@@ -15,12 +15,22 @@
#include <mkldnn.hpp> #include <mkldnn.hpp>
#include "mkldnn_invoke.hpp" #include "mkldnn_invoke.hpp"
#include "ngraph/runtime/cpu/cpu_runtime_context.hpp"
#include "ngraph/runtime/cpu/mkldnn_utils.hpp" #include "ngraph/runtime/cpu/mkldnn_utils.hpp"
mkldnn::engine ngraph::runtime::cpu::mkldnn_utils::global_cpu_engine(mkldnn::engine::cpu, 0); mkldnn::engine ngraph::runtime::cpu::mkldnn_utils::global_cpu_engine(mkldnn::engine::cpu, 0);
extern "C" void ngraph::runtime::cpu::mkldnn_utils::set_memory_ptr(CPURuntimeContext* ctx, size_t primitive_index,
void* ptr)
{
auto primitive = static_cast<mkldnn::memory*>(ctx->mkldnn_primitives[primitive_index]);
primitive->set_data_handle(ptr);
}
extern "C" void extern "C" void
ngraph::runtime::cpu::mkldnn_utils::mkldnn_invoke_primitive(CPURuntimeContext* ctx, ngraph::runtime::cpu::mkldnn_utils::mkldnn_invoke_primitive(CPURuntimeContext* ctx,
size_t primitive_index) size_t primitive_index)
{ {
mkldnn::stream s(mkldnn::stream::kind::eager);
s.submit({*ctx->mkldnn_primitives[primitive_index]}).wait();
} }
...@@ -26,6 +26,8 @@ namespace ngraph ...@@ -26,6 +26,8 @@ namespace ngraph
namespace mkldnn_utils namespace mkldnn_utils
{ {
extern "C" void set_memory_ptr(CPURuntimeContext* ctx, size_t primitive_index,
void* ptr);
extern "C" void mkldnn_invoke_primitive(CPURuntimeContext* ctx, extern "C" void mkldnn_invoke_primitive(CPURuntimeContext* ctx,
size_t primitive_index); size_t primitive_index);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment