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

CPU: Invoke interface for memory primitives

parent 51de579e
......@@ -36,7 +36,7 @@ namespace ngraph
struct CPURuntimeContext
{
int64_t* op_durations;
mkldnn::primitive* mkldnn_primitives;
mkldnn::primitive** mkldnn_primitives;
};
}
}
......
......@@ -15,12 +15,22 @@
#include <mkldnn.hpp>
#include "mkldnn_invoke.hpp"
#include "ngraph/runtime/cpu/cpu_runtime_context.hpp"
#include "ngraph/runtime/cpu/mkldnn_utils.hpp"
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
ngraph::runtime::cpu::mkldnn_utils::mkldnn_invoke_primitive(CPURuntimeContext* ctx,
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
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,
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