Unverified Commit 621df65a authored by Ashok Emani's avatar Ashok Emani Committed by GitHub

Merge branch 'master' into examples

parents 7d160dad 607bcbc4
...@@ -208,19 +208,8 @@ void codegen::StaticCompiler::initialize() ...@@ -208,19 +208,8 @@ void codegen::StaticCompiler::initialize()
} }
// Enable various target features // Enable various target features
// Most of these are for Eigen
auto& TO = m_compiler->getInvocation().getTargetOpts(); auto& TO = m_compiler->getInvocation().getTargetOpts();
TO.CPU = sys::getHostCPUName(); TO.CPU = sys::getHostCPUName();
TO.FeaturesAsWritten.emplace_back("+sse");
TO.FeaturesAsWritten.emplace_back("+sse2");
TO.FeaturesAsWritten.emplace_back("+sse3");
TO.FeaturesAsWritten.emplace_back("+ssse3");
TO.FeaturesAsWritten.emplace_back("+sse4.1");
TO.FeaturesAsWritten.emplace_back("+sse4.2");
TO.FeaturesAsWritten.emplace_back("+avx");
TO.FeaturesAsWritten.emplace_back("+avx2");
TO.FeaturesAsWritten.emplace_back("+fma");
} }
codegen::StaticCompiler::~StaticCompiler() codegen::StaticCompiler::~StaticCompiler()
......
...@@ -144,42 +144,6 @@ void Node::set_name(const string& name) ...@@ -144,42 +144,6 @@ void Node::set_name(const string& name)
} }
} }
void Node::assert_argument_list_equivalency(const Nodes& b)
{
bool arguments_equal = true;
if (this->m_arguments.size() == b.size())
{
for (size_t i = 0; i < this->m_arguments.size(); i++)
{
arguments_equal = arguments_equal && this->m_arguments.at(i) == b.at(i);
}
}
else
{
arguments_equal = false;
}
if (!arguments_equal)
{
std::cout << "node = " << this->get_name() << std::endl;
std::cout << "m_arguments" << std::endl;
for (auto arg : this->m_arguments)
{
std::cout << "arg = " << arg->get_name() << std::endl;
}
std::cout << "results" << std::endl;
for (auto arg : b)
{
std::cout << "arg = " << arg->get_name() << std::endl;
}
}
if (!arguments_equal)
{
throw "Arguments aren't equal";
}
}
std::shared_ptr<Node> Node::get_input_op(size_t index) std::shared_ptr<Node> Node::get_input_op(size_t index)
{ {
for (auto arg : m_arguments) for (auto arg : m_arguments)
...@@ -201,7 +165,10 @@ Nodes Node::get_input_ops() //const ...@@ -201,7 +165,10 @@ Nodes Node::get_input_ops() //const
result.push_back(i.get_output().get_node()); result.push_back(i.get_output().get_node());
} }
} }
assert_argument_list_equivalency(result); if (m_arguments != result)
{
throw ngraph_error("Arguments aren't equal: different values");
}
return result; return result;
} }
......
...@@ -170,8 +170,6 @@ namespace ngraph ...@@ -170,8 +170,6 @@ namespace ngraph
protected: protected:
void add_output(const element::Type& element_type, const Shape& shape); void add_output(const element::Type& element_type, const Shape& shape);
void assert_argument_list_equivalency(const Nodes& b);
bool test_identical(const Node&) const;
std::string m_node_type; std::string m_node_type;
std::multiset<Node*> m_users; std::multiset<Node*> m_users;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -24,12 +24,12 @@ ...@@ -24,12 +24,12 @@
#include "ngraph/runtime/cpu/cpu_external_function.hpp" #include "ngraph/runtime/cpu/cpu_external_function.hpp"
#include "ngraph/runtime/cpu/cpu_tensor_view_wrapper.hpp" #include "ngraph/runtime/cpu/cpu_tensor_view_wrapper.hpp"
#define EMITTER_DECL(E) \ #define EMITTER_DECL(op_name) \
E(ngraph::runtime::cpu::CPU_ExternalFunction* external_function, \ emit<op_name>(CPU_ExternalFunction * external_function, \
codegen::CodeWriter& writer, \ codegen::CodeWriter & writer, \
const ngraph::Node* node, \ const ngraph::Node* node, \
const std::vector<ngraph::runtime::cpu::TensorViewWrapper>& args, \ const std::vector<TensorViewWrapper>& args, \
const std::vector<ngraph::runtime::cpu::TensorViewWrapper>& out) const std::vector<TensorViewWrapper>& out)
namespace ngraph namespace ngraph
{ {
...@@ -40,72 +40,25 @@ namespace ngraph ...@@ -40,72 +40,25 @@ namespace ngraph
class CPU_Emitter class CPU_Emitter
{ {
public: public:
static void EMITTER_DECL(EmitNop); template <typename OP>
static void EMITTER_DECL(EmitAdd); static void emit(CPU_ExternalFunction* external_function,
#ifdef NGRAPH_DISTRIBUTED codegen::CodeWriter& writer,
static void EMITTER_DECL(EmitAllReduce); const ngraph::Node* node,
#endif const std::vector<TensorViewWrapper>& args,
static void EMITTER_DECL(EmitDot); const std::vector<TensorViewWrapper>& out)
static void EMITTER_DECL(EmitMultiply); {
static void EMITTER_DECL(EmitGetOutputElement); throw std::runtime_error("Unimplemented op in CPU emitter");
static void EMITTER_DECL(EmitXLAGetTupleElement); }
static void EMITTER_DECL(EmitTuple);
static void EMITTER_DECL(EmitAbs); static void nop(CPU_ExternalFunction* external_function,
static void EMITTER_DECL(EmitConcat); codegen::CodeWriter& writer,
static void EMITTER_DECL(EmitDivide); const ngraph::Node* node,
static void EMITTER_DECL(EmitEqual); const std::vector<TensorViewWrapper>& args,
static void EMITTER_DECL(EmitGreater); const std::vector<TensorViewWrapper>& out)
static void EMITTER_DECL(EmitGreaterEq); {
static void EMITTER_DECL(EmitLess); }
static void EMITTER_DECL(EmitLessEq);
static void EMITTER_DECL(EmitLog);
static void EMITTER_DECL(EmitMaximum);
static void EMITTER_DECL(EmitMinimum);
static void EMITTER_DECL(EmitNegative);
static void EMITTER_DECL(EmitNotEqual);
static void EMITTER_DECL(EmitSelect);
static void EMITTER_DECL(EmitSubtract);
static void EMITTER_DECL(EmitBroadcast);
static void EMITTER_DECL(EmitMatmulBias);
static void EMITTER_DECL(EmitConvert);
static void EMITTER_DECL(EmitConstant);
static void EMITTER_DECL(EmitReshape);
static void EMITTER_DECL(EmitFunctionCall);
static void EMITTER_DECL(EmitReduce);
static void EMITTER_DECL(EmitSign);
static void EMITTER_DECL(EmitSlice);
static void EMITTER_DECL(EmitSum);
static void EMITTER_DECL(EmitExp);
static void EMITTER_DECL(EmitSin);
static void EMITTER_DECL(EmitSinh);
static void EMITTER_DECL(EmitCos);
static void EMITTER_DECL(EmitCosh);
static void EMITTER_DECL(EmitTan);
static void EMITTER_DECL(EmitTanh);
static void EMITTER_DECL(EmitAsin);
static void EMITTER_DECL(EmitAcos);
static void EMITTER_DECL(EmitAtan);
static void EMITTER_DECL(EmitPower);
static void EMITTER_DECL(EmitReplaceSlice);
static void EMITTER_DECL(EmitOneHot);
static void EMITTER_DECL(EmitFloor);
static void EMITTER_DECL(EmitCeiling);
static void EMITTER_DECL(EmitSqrt);
static void EMITTER_DECL(EmitConvolution);
static void EMITTER_DECL(EmitConvolutionBackpropFilters);
static void EMITTER_DECL(EmitConvolutionBackpropData);
static void EMITTER_DECL(EmitNot);
static void EMITTER_DECL(EmitMaxPool);
static void EMITTER_DECL(EmitReverse);
static void EMITTER_DECL(EmitReduceWindow);
static void EMITTER_DECL(EmitSelectAndScatter);
static void EMITTER_DECL(EmitAvgPool);
static void EMITTER_DECL(EmitAvgPoolBackprop);
static void EMITTER_DECL(EmitPad);
static void EMITTER_DECL(EmitBatchNorm);
static void EMITTER_DECL(EmitMaxPoolBackprop);
static void EmitMKLDNNPreamble(codegen::CodeWriter& writer); static void emit_mkldnn_preamble(codegen::CodeWriter& writer);
private: private:
static std::string emit_vector(const TensorViewWrapper&, static std::string emit_vector(const TensorViewWrapper&,
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include "ngraph/ops/abs.hpp" #include "ngraph/ops/abs.hpp"
#include "ngraph/ops/acos.hpp" #include "ngraph/ops/acos.hpp"
#include "ngraph/ops/add.hpp" #include "ngraph/ops/add.hpp"
#include "ngraph/ops/allreduce.hpp"
#include "ngraph/ops/asin.hpp" #include "ngraph/ops/asin.hpp"
#include "ngraph/ops/atan.hpp" #include "ngraph/ops/atan.hpp"
#include "ngraph/ops/avg_pool.hpp" #include "ngraph/ops/avg_pool.hpp"
...@@ -54,6 +55,7 @@ ...@@ -54,6 +55,7 @@
#include "ngraph/ops/exp.hpp" #include "ngraph/ops/exp.hpp"
#include "ngraph/ops/floor.hpp" #include "ngraph/ops/floor.hpp"
#include "ngraph/ops/function_call.hpp" #include "ngraph/ops/function_call.hpp"
#include "ngraph/ops/get_output_element.hpp"
#include "ngraph/ops/greater.hpp" #include "ngraph/ops/greater.hpp"
#include "ngraph/ops/greater_eq.hpp" #include "ngraph/ops/greater_eq.hpp"
#include "ngraph/ops/less.hpp" #include "ngraph/ops/less.hpp"
...@@ -67,10 +69,13 @@ ...@@ -67,10 +69,13 @@
#include "ngraph/ops/not.hpp" #include "ngraph/ops/not.hpp"
#include "ngraph/ops/not_equal.hpp" #include "ngraph/ops/not_equal.hpp"
#include "ngraph/ops/one_hot.hpp" #include "ngraph/ops/one_hot.hpp"
#include "ngraph/ops/op.hpp"
#include "ngraph/ops/pad.hpp" #include "ngraph/ops/pad.hpp"
#include "ngraph/ops/parameter.hpp"
#include "ngraph/ops/power.hpp" #include "ngraph/ops/power.hpp"
#include "ngraph/ops/reduce.hpp" #include "ngraph/ops/reduce.hpp"
#include "ngraph/ops/reduce_window.hpp" #include "ngraph/ops/reduce_window.hpp"
#include "ngraph/ops/remainder.hpp"
#include "ngraph/ops/replace_slice.hpp" #include "ngraph/ops/replace_slice.hpp"
#include "ngraph/ops/reshape.hpp" #include "ngraph/ops/reshape.hpp"
#include "ngraph/ops/reverse.hpp" #include "ngraph/ops/reverse.hpp"
...@@ -155,69 +160,69 @@ static StaticInitializers s_static_initializers; ...@@ -155,69 +160,69 @@ static StaticInitializers s_static_initializers;
#define TI(x) type_index(typeid(x)) #define TI(x) type_index(typeid(x))
static const runtime::cpu::OpMap dispatcher{ static const runtime::cpu::OpMap dispatcher{
{TI(ngraph::op::Add), &runtime::cpu::CPU_Emitter::EmitAdd}, {TI(ngraph::op::Add), &runtime::cpu::CPU_Emitter::emit<op::Add>},
#ifdef NGRAPH_DISTRIBUTED #ifdef NGRAPH_DISTRIBUTED
{TI(ngraph::op::AllReduce), &runtime::cpu::CPU_Emitter::EmitAllReduce}, {TI(ngraph::op::AllReduce), &runtime::cpu::CPU_Emitter::emit<op::AllReduce>},
#endif #endif
{TI(ngraph::op::MatmulBias), &runtime::cpu::CPU_Emitter::EmitMatmulBias}, {TI(ngraph::op::MatmulBias), &runtime::cpu::CPU_Emitter::emit<op::MatmulBias>},
{TI(ngraph::op::Dot), &runtime::cpu::CPU_Emitter::EmitDot}, {TI(ngraph::op::Dot), &runtime::cpu::CPU_Emitter::emit<op::Dot>},
{TI(ngraph::op::Multiply), &runtime::cpu::CPU_Emitter::EmitMultiply}, {TI(ngraph::op::Multiply), &runtime::cpu::CPU_Emitter::emit<op::Multiply>},
{TI(ngraph::op::Parameter), &runtime::cpu::CPU_Emitter::EmitNop}, {TI(ngraph::op::Parameter), &runtime::cpu::CPU_Emitter::nop},
{TI(ngraph::op::Abs), &runtime::cpu::CPU_Emitter::EmitAbs}, {TI(ngraph::op::Abs), &runtime::cpu::CPU_Emitter::emit<op::Abs>},
{TI(ngraph::op::Concat), &runtime::cpu::CPU_Emitter::EmitConcat}, {TI(ngraph::op::Concat), &runtime::cpu::CPU_Emitter::emit<op::Concat>},
{TI(ngraph::op::Divide), &runtime::cpu::CPU_Emitter::EmitDivide}, {TI(ngraph::op::Divide), &runtime::cpu::CPU_Emitter::emit<op::Divide>},
{TI(ngraph::op::Equal), &runtime::cpu::CPU_Emitter::EmitEqual}, {TI(ngraph::op::Equal), &runtime::cpu::CPU_Emitter::emit<op::Equal>},
{TI(ngraph::op::Greater), &runtime::cpu::CPU_Emitter::EmitGreater}, {TI(ngraph::op::Greater), &runtime::cpu::CPU_Emitter::emit<op::Greater>},
{TI(ngraph::op::GreaterEq), &runtime::cpu::CPU_Emitter::EmitGreaterEq}, {TI(ngraph::op::GreaterEq), &runtime::cpu::CPU_Emitter::emit<op::GreaterEq>},
{TI(ngraph::op::Less), &runtime::cpu::CPU_Emitter::EmitLess}, {TI(ngraph::op::Less), &runtime::cpu::CPU_Emitter::emit<op::Less>},
{TI(ngraph::op::LessEq), &runtime::cpu::CPU_Emitter::EmitLessEq}, {TI(ngraph::op::LessEq), &runtime::cpu::CPU_Emitter::emit<op::LessEq>},
{TI(ngraph::op::Log), &runtime::cpu::CPU_Emitter::EmitLog}, {TI(ngraph::op::Log), &runtime::cpu::CPU_Emitter::emit<op::Log>},
{TI(ngraph::op::Maximum), &runtime::cpu::CPU_Emitter::EmitMaximum}, {TI(ngraph::op::Maximum), &runtime::cpu::CPU_Emitter::emit<op::Maximum>},
{TI(ngraph::op::Minimum), &runtime::cpu::CPU_Emitter::EmitMinimum}, {TI(ngraph::op::Minimum), &runtime::cpu::CPU_Emitter::emit<op::Minimum>},
{TI(ngraph::op::Negative), &runtime::cpu::CPU_Emitter::EmitNegative}, {TI(ngraph::op::Negative), &runtime::cpu::CPU_Emitter::emit<op::Negative>},
{TI(ngraph::op::NotEqual), &runtime::cpu::CPU_Emitter::EmitNotEqual}, {TI(ngraph::op::NotEqual), &runtime::cpu::CPU_Emitter::emit<op::NotEqual>},
{TI(ngraph::op::Power), &runtime::cpu::CPU_Emitter::EmitPower}, {TI(ngraph::op::Power), &runtime::cpu::CPU_Emitter::emit<op::Power>},
{TI(ngraph::op::Select), &runtime::cpu::CPU_Emitter::EmitSelect}, {TI(ngraph::op::Select), &runtime::cpu::CPU_Emitter::emit<op::Select>},
{TI(ngraph::op::Subtract), &runtime::cpu::CPU_Emitter::EmitSubtract}, {TI(ngraph::op::Subtract), &runtime::cpu::CPU_Emitter::emit<op::Subtract>},
{TI(ngraph::op::Broadcast), &runtime::cpu::CPU_Emitter::EmitBroadcast}, {TI(ngraph::op::Broadcast), &runtime::cpu::CPU_Emitter::emit<op::Broadcast>},
{TI(ngraph::op::Convert), &runtime::cpu::CPU_Emitter::EmitConvert}, {TI(ngraph::op::Convert), &runtime::cpu::CPU_Emitter::emit<op::Convert>},
{TI(ngraph::op::Constant), &runtime::cpu::CPU_Emitter::EmitConstant}, {TI(ngraph::op::Constant), &runtime::cpu::CPU_Emitter::emit<op::Constant>},
{TI(ngraph::op::Reshape), &runtime::cpu::CPU_Emitter::EmitReshape}, {TI(ngraph::op::Reshape), &runtime::cpu::CPU_Emitter::emit<op::Reshape>},
{TI(ngraph::op::FunctionCall), &runtime::cpu::CPU_Emitter::EmitFunctionCall}, {TI(ngraph::op::FunctionCall), &runtime::cpu::CPU_Emitter::emit<op::FunctionCall>},
{TI(ngraph::op::Reduce), &runtime::cpu::CPU_Emitter::EmitReduce}, {TI(ngraph::op::Reduce), &runtime::cpu::CPU_Emitter::emit<op::Reduce>},
{TI(ngraph::op::Sign), &runtime::cpu::CPU_Emitter::EmitSign}, {TI(ngraph::op::Sign), &runtime::cpu::CPU_Emitter::emit<op::Sign>},
{TI(ngraph::op::Slice), &runtime::cpu::CPU_Emitter::EmitSlice}, {TI(ngraph::op::Slice), &runtime::cpu::CPU_Emitter::emit<op::Slice>},
{TI(ngraph::op::Sum), &runtime::cpu::CPU_Emitter::EmitSum}, {TI(ngraph::op::Sum), &runtime::cpu::CPU_Emitter::emit<op::Sum>},
{TI(ngraph::op::Exp), &runtime::cpu::CPU_Emitter::EmitExp}, {TI(ngraph::op::Exp), &runtime::cpu::CPU_Emitter::emit<op::Exp>},
{TI(ngraph::op::Sin), &runtime::cpu::CPU_Emitter::EmitSin}, {TI(ngraph::op::Sin), &runtime::cpu::CPU_Emitter::emit<op::Sin>},
{TI(ngraph::op::Sinh), &runtime::cpu::CPU_Emitter::EmitSinh}, {TI(ngraph::op::Sinh), &runtime::cpu::CPU_Emitter::emit<op::Sinh>},
{TI(ngraph::op::Cos), &runtime::cpu::CPU_Emitter::EmitCos}, {TI(ngraph::op::Cos), &runtime::cpu::CPU_Emitter::emit<op::Cos>},
{TI(ngraph::op::Cosh), &runtime::cpu::CPU_Emitter::EmitCosh}, {TI(ngraph::op::Cosh), &runtime::cpu::CPU_Emitter::emit<op::Cosh>},
{TI(ngraph::op::Tan), &runtime::cpu::CPU_Emitter::EmitTan}, {TI(ngraph::op::Tan), &runtime::cpu::CPU_Emitter::emit<op::Tan>},
{TI(ngraph::op::Tanh), &runtime::cpu::CPU_Emitter::EmitTanh}, {TI(ngraph::op::Tanh), &runtime::cpu::CPU_Emitter::emit<op::Tanh>},
{TI(ngraph::op::Asin), &runtime::cpu::CPU_Emitter::EmitAsin}, {TI(ngraph::op::Asin), &runtime::cpu::CPU_Emitter::emit<op::Asin>},
{TI(ngraph::op::Acos), &runtime::cpu::CPU_Emitter::EmitAcos}, {TI(ngraph::op::Acos), &runtime::cpu::CPU_Emitter::emit<op::Acos>},
{TI(ngraph::op::Atan), &runtime::cpu::CPU_Emitter::EmitAtan}, {TI(ngraph::op::Atan), &runtime::cpu::CPU_Emitter::emit<op::Atan>},
{TI(ngraph::op::ReplaceSlice), &runtime::cpu::CPU_Emitter::EmitReplaceSlice}, {TI(ngraph::op::ReplaceSlice), &runtime::cpu::CPU_Emitter::emit<op::ReplaceSlice>},
{TI(ngraph::op::OneHot), &runtime::cpu::CPU_Emitter::EmitOneHot}, {TI(ngraph::op::OneHot), &runtime::cpu::CPU_Emitter::emit<op::OneHot>},
{TI(ngraph::op::Floor), &runtime::cpu::CPU_Emitter::EmitFloor}, {TI(ngraph::op::Floor), &runtime::cpu::CPU_Emitter::emit<op::Floor>},
{TI(ngraph::op::Ceiling), &runtime::cpu::CPU_Emitter::EmitCeiling}, {TI(ngraph::op::Ceiling), &runtime::cpu::CPU_Emitter::emit<op::Ceiling>},
{TI(ngraph::op::Sqrt), &runtime::cpu::CPU_Emitter::EmitSqrt}, {TI(ngraph::op::Sqrt), &runtime::cpu::CPU_Emitter::emit<op::Sqrt>},
{TI(ngraph::op::Convolution), &runtime::cpu::CPU_Emitter::EmitConvolution}, {TI(ngraph::op::Convolution), &runtime::cpu::CPU_Emitter::emit<op::Convolution>},
{TI(ngraph::op::ConvolutionBackpropFilters), {TI(ngraph::op::ConvolutionBackpropFilters),
&runtime::cpu::CPU_Emitter::EmitConvolutionBackpropFilters}, &runtime::cpu::CPU_Emitter::emit<op::ConvolutionBackpropFilters>},
{TI(ngraph::op::ConvolutionBackpropData), {TI(ngraph::op::ConvolutionBackpropData),
&runtime::cpu::CPU_Emitter::EmitConvolutionBackpropData}, &runtime::cpu::CPU_Emitter::emit<op::ConvolutionBackpropData>},
{TI(ngraph::op::Not), &runtime::cpu::CPU_Emitter::EmitNot}, {TI(ngraph::op::Not), &runtime::cpu::CPU_Emitter::emit<op::Not>},
{TI(ngraph::op::MaxPool), &runtime::cpu::CPU_Emitter::EmitMaxPool}, {TI(ngraph::op::MaxPool), &runtime::cpu::CPU_Emitter::emit<op::MaxPool>},
{TI(ngraph::op::Reverse), &runtime::cpu::CPU_Emitter::EmitReverse}, {TI(ngraph::op::Reverse), &runtime::cpu::CPU_Emitter::emit<op::Reverse>},
{TI(ngraph::op::ReduceWindow), &runtime::cpu::CPU_Emitter::EmitReduceWindow}, {TI(ngraph::op::ReduceWindow), &runtime::cpu::CPU_Emitter::emit<op::ReduceWindow>},
{TI(ngraph::op::SelectAndScatter), &runtime::cpu::CPU_Emitter::EmitSelectAndScatter}, {TI(ngraph::op::SelectAndScatter), &runtime::cpu::CPU_Emitter::emit<op::SelectAndScatter>},
{TI(ngraph::op::AvgPool), &runtime::cpu::CPU_Emitter::EmitAvgPool}, {TI(ngraph::op::AvgPool), &runtime::cpu::CPU_Emitter::emit<op::AvgPool>},
{TI(ngraph::op::AvgPoolBackprop), &runtime::cpu::CPU_Emitter::EmitAvgPoolBackprop}, {TI(ngraph::op::AvgPoolBackprop), &runtime::cpu::CPU_Emitter::emit<op::AvgPoolBackprop>},
{TI(ngraph::op::Pad), &runtime::cpu::CPU_Emitter::EmitPad}, {TI(ngraph::op::Pad), &runtime::cpu::CPU_Emitter::emit<op::Pad>},
{TI(ngraph::op::BatchNorm), &runtime::cpu::CPU_Emitter::EmitBatchNorm}, {TI(ngraph::op::BatchNorm), &runtime::cpu::CPU_Emitter::emit<op::BatchNorm>},
{TI(ngraph::op::MaxPoolBackprop), &runtime::cpu::CPU_Emitter::EmitMaxPoolBackprop}, {TI(ngraph::op::MaxPoolBackprop), &runtime::cpu::CPU_Emitter::emit<op::MaxPoolBackprop>},
}; };
runtime::cpu::CPU_ExternalFunction::CPU_ExternalFunction( runtime::cpu::CPU_ExternalFunction::CPU_ExternalFunction(
...@@ -308,7 +313,7 @@ using namespace ngraph::runtime; ...@@ -308,7 +313,7 @@ using namespace ngraph::runtime;
if (include_mkldnn_headers) if (include_mkldnn_headers)
{ {
runtime::cpu::CPU_Emitter::EmitMKLDNNPreamble(writer); runtime::cpu::CPU_Emitter::emit_mkldnn_preamble(writer);
} }
string pch_header_source = writer.get_code(); string pch_header_source = writer.get_code();
......
...@@ -74,6 +74,18 @@ TEST(benchmark, mxnet_seq2seq_backward) ...@@ -74,6 +74,18 @@ TEST(benchmark, mxnet_seq2seq_backward)
run_benchmark(json_path, "CPU", 10); run_benchmark(json_path, "CPU", 10);
} }
TEST(benchmark, mxnet_sockeye_seq2seq_forward)
{
const string json_path = file_util::path_join(SERIALIZED_ZOO, "mxnet/Sockeye_Seq2Seq_forward.json");
run_benchmark(json_path, "CPU", 10);
}
TEST(benchmark, mxnet_sockeye_seq2seq_backward)
{
const string json_path = file_util::path_join(SERIALIZED_ZOO, "mxnet/Sockeye_Seq2Seq_backward.json");
run_benchmark(json_path, "CPU", 10);
}
// //
// Benchmarks a graph that concatenates six 32x1x200 arrays along the middle axis. // Benchmarks a graph that concatenates six 32x1x200 arrays along the middle axis.
// //
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
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