tlopex opened a new pull request, #19810:
URL: https://github.com/apache/tvm/pull/19810
This pr is the follow-up pr to #19789. CurrentTensorRT BYOC converters were
ported from Relay and still read attribute names/shapes that no longer match
the Relax ops, so most ops crashed ("Key: <name> is not found") or produced
wrong results when offloaded.
This pr changed
- Converters (tensorrt_ops.cc): port reduce, matmul, expand_dims,
layer_norm, clip, reshape, strided_slice, split and layout_transform to read
Relax's attributes/arguments. Notable shape changes: clip min/max are PrimValue
arguments (not a_min/a_max attrs), reshape's shape is a Shape argument, matmul
has no transpose flags, split is multi-output with no "mode", and
layout_transform is an IndexMap rather than src/dst_layout strings. Unsupported
cases (non-static reshape, non-permutation layout_transform) now raise a clear
error instead of crashing.
- Codegen (codegen.cc): serialize an op's non-tensor arguments (PrimValue /
ShapeExpr / tuple) as "arg_"-prefixed node attributes, materialize a reduce
op's all-axes default, and translate a pure-permutation layout_transform
IndexMap into a transpose order.
- Runtime: disable the TF32 builder flag so offloaded FP32 subgraphs match
TVM's FP32 reference, and use a process-lifetime TensorRT logger (a per-runtime
logger was left dangling once its runtime was destroyed, corrupting the heap
during TensorRT teardown).
All tests are validated locally.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]