The table below shows the supported StableHLO ops.
op | supported | comment |
---|---|---|
Nullary ops | ||
const | ✔️ | |
Unary elementwise ops | ||
abs | ✔️ | |
ceil | ✔️ | |
convert | ✔️ | |
cosine | ✔️ | |
exponential | ✔️ | |
exponential_minus_one | ✔️ | |
floor | ✔️ | |
is_finite | ✔️ | |
log | ✔️ | |
log_plus_one | ✔️ | |
negate | ✔️ | |
round_nearest_afz | ✔️ | |
sine | ✔️ | |
sqrt | ✔️ | |
tanh | ✔️ | |
Binary elementwise ops | ||
add | ✔️ | |
atan2 | ✔️ | |
divide | ✔️ | |
maximum | ✔️ | |
minimum | ✔️ | |
multiply | ✔️ | |
power | ✔️ | |
shift_left | ✔️ | |
shift_right_logical | ✔️ | |
subtract | ✔️ | |
Binary logical elementwise ops | ||
or | ✔️ | |
xor | ✔️ | |
Tuple ops | ||
get_tuple_element | ✔️ | |
tuple | ✔️ | |
compare | ✔️ | |
Slice ops | ||
slice | ✅ | Only for 1D to 4D inputs |
dynamic_slice | ✅ | Only for 1D or 2D inputs |
dynamic_update_slice | ✅ | Only for 1D or 2D inputs |
Other ops | ||
batch_norm_inference | ✔️ | |
bitcast_convert | ✔️ | |
broadcast_in_dim | ✔️ | |
clamp | ✔️ | |
concatenate | ✔️ | |
convolution | ✅ | No support for dilated convolutions, only for NHWC layout. Untested for grouped convolutions except for the depthwise case |
dot | ✅ | Only the Matrix times Matrix case |
pad | ✅ | No support for negative edge padding |
reduce | ✅ | Only for 1 and 2 results |
reduce_window | ✅ | No support for dilation |
reshape | ✔️ | |
select | ✔️ | |
transpose | ✔️ |