| 980 | } |
| 981 | |
| 982 | NodeOps* CPURunner::BindCustomKernel(Node* node) |
| 983 | { |
| 984 | /* set errno first */ |
| 985 | set_tengine_errno(EINVAL); |
| 986 | |
| 987 | if(!node->ExistAttr(ATTR_CUSTOM_KERNEL) || !node->ExistAttr(DEV_PROPOSAL_ATTR)) |
| 988 | return nullptr; |
| 989 | |
| 990 | const DevProposal* prop = any_cast<DevProposal>(&node->GetAttr(DEV_PROPOSAL_ATTR)); |
| 991 | |
| 992 | NodeOps* node_ops = CustomKernelManager::BindOps(node, prop->dev_id); |
| 993 | |
| 994 | return node_ops; |
| 995 | } |
| 996 | |
| 997 | bool CPURunner::BindNodeOps(Subgraph* sub_graph) |
| 998 | { |
nothing calls this directly
no test coverage detected