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