MHLO から StableHLO をブートストラップする場合、プリティ プリント、検証、形状推論など、多くの実装を MHLO が引き継いでいます。そのおかげで、オペレーション セットはすでに広範囲にわたって網羅されていますが、既存の実装の完全性を確認し、存在しない新しい実装を提供するにはまだやることがたくさんあります。
このライブ ドキュメントは、デベロッパーとユーザーが opset のさまざまな要素(仕様、検証、型推論、プリティ プリント、インタープリタなど)の進捗状況を追跡するためのものです。
活用方法
対応する行に記載されている StableHLO 演算の進捗状況は、対応する列に記載されている特定のアスペクトにおける、次のいずれかのトラッキング ラベルを使用してトラッキングされます。
- 汎用ラベル
- yes: 包括的な実装を行います。
- なし: 実装はありませんが、今後その取り組みはロードマップの一部です。 ODS にはすでになんらかの検証が実装されているため、検証ツールで「no」というラベルは表示できません。
- 検証ツールと型推論のカスタムラベル
- yes: 実装があり、StableHLO セマンティクスと同期しています。
- yes*: 実装があり、XLA セマンティクスと同期しています。XLA セマンティクスはドキュメント化されていないことが多いため、ここでは hlo_verifier.cc と shape_inference.cc でリファレンスを使用しています。
- 再検討: 実装がありますが、「はい」または「はい*」に該当しません。まだ監査を行っていないか、問題が見つかって見つかったためです。
- infeasible: 実行不可能なため、実装はありません。たとえば、演算の結果の型はオペランドや属性から推測できないためです。
ステータス
StableHLO オペレーション | 仕様 | 検証 | 型推論 | プリティ プリント | インタープリタ |
---|---|---|---|---|---|
abs | あり | はい | はい | はい | あり |
add | あり | はい | はい | はい | あり |
after_all | あり | はい | はい | はい | あり |
all_gather | あり | もう一度見る | × | × | あり |
all_reduce | あり | もう一度見る | あり | × | あり |
all_to_all | あり | もう一度見る | あり | × | あり |
and | あり | はい | はい | はい | あり |
atan2 | あり | はい | はい | はい | あり |
batch_norm_grad | あり | もう一度見る | あり | × | もう一度見る |
batch_norm_inference | あり | もう一度見る | あり | × | もう一度見る |
batch_norm_training | あり | もう一度見る | あり | × | もう一度見る |
bitcast_convert | あり | あり | 不可能 | あり | あり |
ブロードキャスト | × | ○* | ○* | あり | もう一度見る |
broadcast_in_dim | あり | あり | 不可能 | あり | あり |
ケース | あり | もう一度見る | あり | × | あり |
cbrt | あり | はい | はい | はい | あり |
ceil | あり | はい | はい | はい | あり |
コレスキー | あり | はい | はい | あり | もう一度見る |
クランプ | あり | もう一度見る | あり | はい | あり |
collective_permute | あり | もう一度見る | あり | × | あり |
compare | あり | はい | はい | はい | あり |
複雑 | あり | はい | はい | はい | あり |
compute_reshape_shape | × | もう一度見る | × | あり | × |
concatenate | あり | はい | はい | はい | あり |
定数 | あり | はい | はい | はい | あり |
コンバージョン | あり | あり | 不可能 | あり | あり |
畳み込み | あり | あり | 不可能 | もう一度見る | × |
コサイン | あり | はい | はい | はい | あり |
count_leading_zeros | あり | はい | はい | はい | あり |
create_token | × | ○* | ○* | あり | もう一度見る |
Cross-replica-sum | × | もう一度見る | ○* | × | もう一度見る |
cstr_reshapable | × | もう一度見る | × | あり | × |
custom_call | あり | あり | 不可能 | あり | あり |
割る | あり | はい | はい | はい | あり |
ドット | × | もう一度見る | 不可能 | あり | もう一度見る |
dot_general | あり | もう一度見る | 不可能 | × | あり |
dynamic_broadcast_in_dim | × | もう一度見る | 不可能 | × | × |
dynamic_conv | × | もう一度見る | × | × | × |
dynamic_gather | × | もう一度見る | もう一度見る | × | × |
dynamic_iota | × | もう一度見る | 不可能 | あり | × |
dynamic_pad | × | もう一度見る | × | あり | × |
dynamic_reshape | × | もう一度見る | 不可能 | あり | × |
dynamic_slice | あり | はい | はい | はい | あり |
dynamic_update_slice | あり | はい | はい | はい | あり |
einsum | × | もう一度見る | × | あり | もう一度見る |
指数 | あり | はい | はい | はい | あり |
exponential_minus_one | あり | はい | はい | はい | あり |
FFT | あり | もう一度見る | あり | あり | × |
floor | あり | はい | はい | はい | あり |
収集 | あり | はい | あり | × | あり |
get_dimension_size | あり | はい | はい | はい | あり |
get_tuple_element | あり | はい | はい | はい | あり |
if | あり | もう一度見る | あり | × | あり |
画像 | あり | はい | はい | はい | あり |
インフィード | あり | あり | 不可能 | × | あり |
イオタ | あり | あり | 不可能 | あり | あり |
is_finite | あり | はい | はい | はい | あり |
log | あり | はい | はい | はい | あり |
log_plus_one | あり | はい | はい | はい | あり |
ロジスティック | あり | はい | はい | はい | あり |
地図 | あり | もう一度見る | あり | × | あり |
最大 | あり | はい | はい | はい | あり |
最小 | あり | はい | はい | はい | あり |
掛ける | あり | はい | はい | はい | あり |
negate | あり | はい | はい | はい | あり |
いない | あり | はい | はい | はい | あり |
optimization_barrier | あり | はい | はい | はい | あり |
or | あり | はい | はい | はい | あり |
アウトフィード | あり | はい | あり | × | あり |
パッド | あり | はい | はい | はい | あり |
partition_id | あり | はい | はい | はい | あり |
ポップコンテンツ | あり | はい | はい | はい | あり |
電力 | あり | はい | はい | はい | あり |
real | あり | はい | はい | はい | あり |
real_dynamic_slice | × | もう一度見る | × | あり | × |
受信 | あり | あり | 不可能 | × | あり |
reduce | あり | もう一度見る | あり | もう一度見る | あり |
reduce_precision | あり | はい | はい | はい | あり |
reduce_scatter | あり | もう一度見る | × | × | あり |
reduce_window | あり | もう一度見る | あり | × | あり |
残り | あり | はい | はい | はい | あり |
replica_id | あり | はい | はい | はい | あり |
reshape | あり | あり | 不可能 | あり | あり |
return | × | もう一度見る | 不可能 | あり | あり |
reverse | あり | はい | はい | はい | あり |
RNG | あり | はい | はい | あり | もう一度見る |
rng_bit_generator | あり | もう一度見る | 不可能 | あり | もう一度見る |
round_nearest_afz | あり | はい | はい | はい | あり |
round_nearest_even | あり | はい | はい | はい | あり |
rsqrt | あり | はい | はい | はい | あり |
scatter | あり | もう一度見る | あり | × | あり |
select | あり | はい | はい | はい | あり |
select_and_scatter | あり | もう一度見る | あり | × | あり |
送信 | あり | はい | あり | × | あり |
set_dimension_size | × | ○* | ○* | あり | × |
shift_left | あり | はい | はい | はい | あり |
shift_right_arithmetic | あり | はい | はい | はい | あり |
shift_right_logical | あり | はい | はい | はい | あり |
揃えます。 | あり | はい | はい | はい | あり |
サイン | あり | はい | はい | はい | あり |
スライス | あり | はい | あり | × | あり |
sort | あり | はい | あり | × | あり |
sqrt | あり | はい | はい | はい | あり |
subtract | あり | はい | はい | はい | あり |
tanh | あり | はい | はい | はい | あり |
torch_index_select | × | もう一度見る | × | × | もう一度見る |
trace | × | もう一度見る | × | あり | もう一度見る |
転置 | あり | はい | はい | はい | あり |
triangular_solve | あり | もう一度見る | あり | × | もう一度見る |
tuple | あり | はい | はい | はい | あり |
unary_einsum | × | もう一度見る | × | あり | もう一度見る |
uniform_dequantize | あり | はい | はい | あり | × |
uniform_quantize | あり | もう一度見る | 不可能 | あり | × |
しばらく | あり | もう一度見る | あり | もう一度見る | あり |
XOR | あり | はい | はい | はい | あり |