Purpose: Human-readable summary of what the in-tree ONNX translator can turn into Universal IR so coelanox package succeeds. It is not the internal CLF op_id registry (see sdk/clf.md for developers).
Scope: ONNX opset 13 import path. Other opsets are not documented here as supported.
Custom("OpName"); package fails until resolved.The following categories are representative; the canonical list is maintained in the repository:
Arithmetic: Add, Sub, Mul, Div
Activations: Relu, Sigmoid, Tanh, Softmax, LogSoftmax, Gelu
Matrix: MatMul, Gemm
Conv / pool / norm: Conv, MaxPool, AveragePool, GlobalAveragePool, GlobalMaxPool, BatchNormalization, LayerNormalization, Dropout
Tensor: Reshape, Transpose, Concat, Split, Slice, Gather, Scatter (variants), Expand, Broadcast
Reductions: ReduceSum, ReduceMean, ReduceMax, ReduceMin, ReduceProd
Math: Sqrt, Pow, Exp, Log, Cos, Sin, Min, Max
Comparisons / logical: Equal, NotEqual, Greater, GreaterEqual, Less, LessEqual, And, Or, Not
Other: Identity (rewired)
Full machine-readable list: ONNX decomposition tree §1.
These ONNX ops are not missing—they are lowered to supported primitives:
| ONNX | Lowering idea |
|---|---|
| Clip | Max / Min chain |
| Neg | Multiply by −1 |
| Reciprocal | Divide 1 / x |
| Flatten, Unsqueeze, Squeeze | Reshape with attributes |
| Abs | Pow(2) + Sqrt (or equivalent chain) |
| Mean | Add chain + Divide |
| MeanVarianceNormalization | ReduceMean, Subtract, Pow, Sqrt, Divide |
| Constant | Float32 constant materialized as weight |
| LSTM | Forward-only subgraph (see limitations) |
Details: ONNX decomposition tree §3–5.
| ONNX | Behaviour |
|---|---|
| If, Loop | Error: control flow must live in your application; export a model with a fixed execution path. |
Any ONNX operator not covered by §2–4 is typically translated as Custom("OnnxOpName"). coelanox package will fail with an error indicating unresolved Custom nodes.
Examples of ops that fall into “Custom” today (non-exhaustive):
See §4 Custom in the full decomposition tree.
Custom("OpName") or a translator error.coelanox-packager (see frontend SDK); not a runtime configuration toggle.LSTM is decomposed with constraints (e.g. forward direction, documented assumptions). Read the LSTM section in the full tree before relying on it for production.