Summary
Issue #666 (closed COMPLETED 2026-06-06) tracked, among other things, "RoPE/groupNorm/upsample have no op." As of 0.31.2, three of those converter ops are still missing — a GraphNode with any of these operation names falls through NeuralNetOperationsConverter / ActivationOperationsConverter to the "Operation not supported" path and never lowers to StableHLO.
Evidence (0.31.2)
The combined supportedOperations across the HLO converters contains no entry for rope/rotary, groupNorm, or upsample/interpolate:
... batchNorm layerNorm rmsNorm silu swish embedding scaledDotProductAttention
conv1d conv2d maxPool2d avgPool2d gather reshape transpose ... (no rope/groupNorm/upsample)
Downstream, the skainet-iree-conformance harness records these as ❌ "no converter op" in its capability matrix; RoPE/GroupNorm/upsample are the only remaining hard gaps now that LayerNorm/RMSNorm/BatchNorm/SiLU/Embedding all lower end-to-end and validate on IREE.
Missing ops
| Op |
Difficulty |
Lowering sketch |
| groupNorm |
low |
reshape (N,C,*)→(N,G,M), per-group mean/var (reuse @reduce_mean/@reduce_variance as LayerNorm does), reshape back, per-channel affine. Addressed by the PR linked below. |
| upsample / interpolate (nearest) |
medium |
integer-factor nearest-neighbour via broadcast_in_dim + reshape; bilinear needs gather/weighting. |
| RoPE (rotary position embedding) |
high |
even/odd split (needs reshape — now fixed), per-position cos/sin tables, rotate-and-recombine. cos/sin should be materialised as constants (not externalised as un-fed args). |
Proposed plan
- groupNorm — implement now (sibling of the existing LayerNorm decomposition). PR incoming.
- upsample (nearest) — follow-up.
- RoPE — follow-up; the largest piece, needs a design note on the cos/sin source.
Filing this so the remaining gaps are tracked explicitly rather than under the now-closed #666.
Summary
Issue #666 (closed COMPLETED 2026-06-06) tracked, among other things, "RoPE/groupNorm/upsample have no op." As of 0.31.2, three of those converter ops are still missing — a
GraphNodewith any of these operation names falls throughNeuralNetOperationsConverter/ActivationOperationsConverterto the "Operation not supported" path and never lowers to StableHLO.Evidence (0.31.2)
The combined
supportedOperationsacross the HLO converters contains no entry forrope/rotary,groupNorm, orupsample/interpolate:Downstream, the
skainet-iree-conformanceharness records these as ❌ "no converter op" in its capability matrix; RoPE/GroupNorm/upsample are the only remaining hard gaps now that LayerNorm/RMSNorm/BatchNorm/SiLU/Embedding all lower end-to-end and validate on IREE.Missing ops
(N,C,*)→(N,G,M), per-group mean/var (reuse@reduce_mean/@reduce_varianceas LayerNorm does), reshape back, per-channel affine. Addressed by the PR linked below.broadcast_in_dim+reshape; bilinear needs gather/weighting.reshape— now fixed), per-position cos/sin tables, rotate-and-recombine. cos/sin should be materialised as constants (not externalised as un-fed args).Proposed plan
Filing this so the remaining gaps are tracked explicitly rather than under the now-closed #666.