| 205 | } |
| 206 | |
| 207 | SymbolVarArray TensorRTRuntimeOpr::make( |
| 208 | std::shared_ptr<nvinfer1::ICudaEngine> engine, |
| 209 | std::shared_ptr<GpuAllocator> gpu_allocator, const SymbolVarArray& src, |
| 210 | const OperatorNodeConfig& config) { |
| 211 | mgb_assert( |
| 212 | NV_TENSORRT_VERSION == getInferLibVersion(), |
| 213 | "TensorRT version mismatch: compiled with %d; detected %d at runtime , may " |
| 214 | "caused by customized environment, for example LD_LIBRARY_PATH on LINUX " |
| 215 | "and PATH on Windows!!", |
| 216 | NV_TENSORRT_VERSION, getInferLibVersion()); |
| 217 | VarNodeArray var_node_array = cg::to_var_node_array(src); |
| 218 | auto tensor_rt_opr = std::make_unique<TensorRTRuntimeOpr>( |
| 219 | std::move(engine), std::move(gpu_allocator), var_node_array, config); |
| 220 | auto ret = cg::to_symbol_var_array(src[0].node() |
| 221 | ->owner_graph() |
| 222 | ->insert_opr(std::move(tensor_rt_opr)) |
| 223 | ->output()); |
| 224 | ret.pop_back(); // remove workspace |
| 225 | return ret; |
| 226 | } |
| 227 | |
| 228 | SymbolVarArray TensorRTRuntimeOpr::make( |
| 229 | const void* buf, size_t buf_size, const SymbolVarArray& src, |
nothing calls this directly
no test coverage detected