| 1688 | } |
| 1689 | |
| 1690 | void mgb::tensorrt::transform_dest_vars_inplace( |
| 1691 | mgb::cg::VarNodeArray& dest_vars, cg::GraphCommonOptimizeOptions& options) { |
| 1692 | gopt::GraphOptimizer optimizer; |
| 1693 | //! As in megengine, the layout is NCHW, while tensorrt pass currently |
| 1694 | //! only support NCHW4(int8), so we transform layout to nchw4 firstly. |
| 1695 | if (options.has_set_nchw4()) { |
| 1696 | options.disable_nchw4(); |
| 1697 | optimizer.add_pass<FuseConvBiasNonlinPass>(); |
| 1698 | optimizer.add_pass(EnableNCHW4Pass::make_nchw4_converter()); |
| 1699 | } |
| 1700 | optimizer.add_pass<ExpandFusedArithPass>(); |
| 1701 | optimizer.add_pass<gopt::TensorRTReplacePass>(); |
| 1702 | optimizer.add_pass<ArithFusePass>(); |
| 1703 | #if NV_TENSOR_RT_VERSION < 6001 |
| 1704 | optimizer.add_pass<ShuffleShuffleRemovePass>(); |
| 1705 | optimizer.add_pass<RemoveRedundantTypeCvtPass>(); |
| 1706 | #endif |
| 1707 | optimizer.apply_inplace(dest_vars); |
| 1708 | } |
| 1709 | |
| 1710 | #pragma GCC diagnostic pop |
| 1711 | #endif |
nothing calls this directly
no test coverage detected