| 31 | |
| 32 | template <typename Opr> |
| 33 | HostTensorND eval_conv_cpu( |
| 34 | const HostTensorND& xv, const HostTensorND& fv, |
| 35 | const typename Opr::Param& param = {}) { |
| 36 | auto cn = CompNode::load("cpux"); |
| 37 | auto src = std::make_shared<HostTensorND>(cn, xv.layout()), |
| 38 | filter = std::make_shared<HostTensorND>(cn, fv.layout()); |
| 39 | memcpy(src->raw_ptr(), xv.raw_ptr(), xv.layout().span().dist_byte()); |
| 40 | memcpy(filter->raw_ptr(), fv.raw_ptr(), fv.layout().span().dist_byte()); |
| 41 | return eval_conv<Opr>(src, filter, param); |
| 42 | } |
| 43 | } // namespace |
| 44 | |
| 45 | TEST(TestGraph, AsyncExecLevel) { |