Summary
Myelin fails to compile a dequantize operation on SM 8.7 (Orin) that compiles successfully on SM 11.0 (Thor), with identical TensorRT 10.16.2.10, identical L4T R39.2, and the byte-identical ONNX file. The two devices differ only in GPU architecture.
Environment
|
Orin |
Thor |
| TensorRT |
10.16.2.10-1+cuda13.2 (trtexec v101602) |
identical |
| L4T |
R39 revision 2.0 |
identical |
| GPU arch |
SM 8.7 (Ampere) |
SM 11.0 (Blackwell) |
| Result |
❌ build fails |
✅ builds in 123 s |
Producer: NVIDIA ModelOpt 0.44.0 (modelopt.onnx.quantization), INT8 PTQ, entropy calibration, 320 real-image samples. Consumer: trtexec --stronglyTyped.
Reproduction
trtexec --onnx=quantized_int8.onnx --saveEngine=int8.engine --stronglyTyped
Failure
Every tactic is skipped with:
Error Code 9: ... [type.cpp:186: infer_type] Could not infer output types for operation:
291: dequantize: Dequantized input0-(f32[1,16,512,512]) | input0 reshape out_transpose_out
reshape out slice_U28 out-(i8[]), MyelinPW(42188) - Input Dequantization 0 scale
weightsHalf-0.35498H:(f16[]) ... No matching rules found for input operand types
In compileGraph at .../myelin/codeGenerator.cpp:1795
The operand mix is f32 activation + i8 slice + f16 scale. The Ampere codegen path appears to have no rule for that combination; the Blackwell path does.
What this is not
Three different quantization scopes were produced, giving three distinct artifacts. All three fail on Orin with a byte-identical error — same node 291, same MyelinPW(42188), same 0.35498 scale:
| Scope |
Excluded op types |
ONNX sha256 (16) |
Orin |
| plain INT8 |
none |
fcf873e63e0a951c |
❌ |
| head-aware |
Sigmoid, ReduceMax, Flatten, TopK, Gather, GatherElements |
03d2ab3115dd4de5 |
❌ |
| head + stem |
above + Reshape, Transpose, Slice |
540fa615ced07025 |
❌ |
The error not moving while the graph does rules out quantization scope as the cause, and Thor compiling the identical file rules out the model and the calibration. That leaves architecture-specific codegen.
Impact
Strongly-typed INT8 is unavailable on Orin for this detector family. The documented alternative — weakly-typed --int8 --fp16 — permits silent downcast, which our deployment contract forbids.
Summary
Myelin fails to compile a
dequantizeoperation on SM 8.7 (Orin) that compiles successfully on SM 11.0 (Thor), with identical TensorRT 10.16.2.10, identical L4T R39.2, and the byte-identical ONNX file. The two devices differ only in GPU architecture.Environment
trtexecv101602)Producer: NVIDIA ModelOpt 0.44.0 (
modelopt.onnx.quantization), INT8 PTQ, entropy calibration, 320 real-image samples. Consumer:trtexec --stronglyTyped.Reproduction
Failure
Every tactic is skipped with:
The operand mix is f32 activation + i8 slice + f16 scale. The Ampere codegen path appears to have no rule for that combination; the Blackwell path does.
What this is not
Three different quantization scopes were produced, giving three distinct artifacts. All three fail on Orin with a byte-identical error — same node 291, same
MyelinPW(42188), same0.35498scale:fcf873e63e0a951c03d2ab3115dd4de5540fa615ced07025The error not moving while the graph does rules out quantization scope as the cause, and Thor compiling the identical file rules out the model and the calibration. That leaves architecture-specific codegen.
Impact
Strongly-typed INT8 is unavailable on Orin for this detector family. The documented alternative — weakly-typed
--int8 --fp16— permits silent downcast, which our deployment contract forbids.