• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1void ${func_name}(OpRunnerInfo* op_runner_info, VectorRef *op_outputs) {
2  MS_EXCEPTION_IF_NULL(op_runner_info);
3  // Create op
4  auto op = CREATE_PYBOOST_OP(${op_name}, op_runner_info->device_target);
5  op->set_primitive(op_runner_info->prim);
6
7  // Run op
8  ${convert_body}
9  (void)op->Call(${call_args});
10  if (op->output_value_simple_info() != nullptr) {
11    op_runner_info->output_value_simple_info = op->output_value_simple_info();
12  } else {
13    MS_EXCEPTION_IF_NULL(op->output_abs());
14    op_runner_info->output_abs = op->output_abs();
15  }
16  MS_EXCEPTION_IF_NULL(op_outputs);
17  (void)std::transform(op->outputs().begin(), op->outputs().end(), std::back_inserter(*op_outputs),
18                       [] (const auto &item) {return item;});
19}
20