StableHLO'yu MHLO'dan önyüklerken; güzel yazdırma, doğrulama ve şekil çıkarımı da dahil olmak üzere pek çok şeyin MHLO uygulamasını devraldık. Bu sayesinde, operasyon hakkında yeterince bilgi sahibi olduk ancak mevcut uygulamaların eksiksiz olup olmadığını incelemek ve bunların olmadığı yeni uygulamalar sunmak için hâlâ yapılacak çok şey var.
Bu canlı belge, geliştiriciler ve kullanıcıların işlemin çeşitli yönlerindeki (Spesifikasyon, doğrulama, tür çıkarımı, düzgün yazdırma, çevirmen vb.) ilerleme durumunu izlemesi içindir.
Kullanım şekli
Bir StableHLO işleminin ilerlemesi, ilgili satırda belirtildiği gibi, ilgili sütunda belirtildiği gibi belirli bir yönde, aşağıdaki izleme etiketlerinden biri kullanılarak izlenir.
- Genel etiketler
- yes: Kapsamlı bir uygulama süreci vardır.
- no: uygulama yoktur ancak bunun üzerinde çalışmak yol haritasının bir parçasıdır. ODS'nin zaten birtakım doğrulamalar uyguladığından Doğrulayıcı'nın hiçbir zaman "hayır" olarak etiketlenemediğini unutmayın.
- Doğrulayıcı ve Tür Çıkarımı için özelleştirilmiş etiketler
- yes: Bir uygulama mevcuttur ve StableHLO semantics ile senkronize edilmiştir.
- yes*: Bir uygulama mevcuttur ve XLA semantiği ile uyumludur. XLA semantiği genellikle yeterince belgelenmediğinden, referans olarak hlo_verifier.cc ve shape_inference.cc öğelerini kullanırız.
- revisit: Bir uygulama vardır, ancak "evet" veya "evet*" kapsamına girmez. Bunun nedeni, ya henüz denetlemediğimiz ya da sorunlar tespit ettiğimizdir.
- infeasible: Uygulanabilir olmadığı için uygulama da yoktur. Örneğin, bir işlemin sonuç türü, işlem görenlerinden ve özelliklerinden çıkarılamaz.
Durum
StableHLO Op | Spesifikasyon | Doğrulama | Tür Çıkarımı | Kaliteli Baskı | Çevirmen |
---|---|---|---|---|---|
abs | evet | evet | evet | evet | evet |
add | evet | evet | evet | evet | evet |
after_all | evet | evet | evet | evet | evet |
all_gather | evet | yeniden ziyaret et | no | no | evet |
all_reduce | evet | yeniden ziyaret et | evet | no | evet |
all_to_all | evet | yeniden ziyaret et | evet | no | evet |
ve | evet | evet | evet | evet | evet |
atan2 | evet | evet | evet | evet | evet |
batch_norm_grad | evet | yeniden ziyaret et | evet | no | yeniden ziyaret et |
batch_norm_inference | evet | yeniden ziyaret et | evet | no | yeniden ziyaret et |
batch_norm_training | evet | yeniden ziyaret et | evet | no | yeniden ziyaret et |
bitcast_convert | evet | evet | uygulanabilir değil | evet | evet |
duyuru | no | evet* | evet* | evet | yeniden ziyaret et |
broadcast_in_dim | evet | evet | uygulanabilir değil | evet | evet |
kılıf | evet | yeniden ziyaret et | evet | no | evet |
cbrt | evet | evet | evet | evet | evet |
ceil | evet | evet | evet | evet | evet |
Cholesky | evet | evet | evet | evet | yeniden ziyaret et |
kenetli | evet | yeniden ziyaret et | evet | evet | evet |
collective_permute | evet | yeniden ziyaret et | evet | no | evet |
compare | evet | evet | evet | evet | evet |
karmaşık | evet | evet | evet | evet | evet |
compute_reshape_shape | no | yeniden ziyaret et | no | evet | no |
concatenate | evet | evet | evet | evet | evet |
sabit | evet | evet | evet | evet | evet |
Dönüşüm gerçekleştirme | evet | evet | uygulanabilir değil | evet | evet |
konvolüsyon | evet | evet | uygulanabilir değil | yeniden ziyaret et | no |
kosinüs | evet | evet | evet | evet | evet |
count_leading_zeros | evet | evet | evet | evet | evet |
create_token | no | evet* | evet* | evet | yeniden ziyaret et |
çapraz-replika-toplamı | no | yeniden ziyaret et | evet* | no | yeniden ziyaret et |
cstr_reshapable | no | yeniden ziyaret et | no | evet | no |
custom_call | evet | evet | uygulanabilir değil | evet | evet |
bölme | evet | evet | evet | evet | evet |
nokta | no | yeniden ziyaret et | uygulanabilir değil | evet | yeniden ziyaret et |
dot_general | evet | yeniden ziyaret et | uygulanabilir değil | no | evet |
dynamic_broadcast_in_dim | no | yeniden ziyaret et | uygulanabilir değil | no | no |
dynamic_conv | no | yeniden ziyaret et | no | hayır | no |
dynamic_gather | no | yeniden ziyaret et | yeniden ziyaret et | no | no |
dynamic_iota | no | yeniden ziyaret et | uygulanabilir değil | evet | no |
dynamic_pad | no | yeniden ziyaret et | no | evet | no |
dynamic_reshape | no | yeniden ziyaret et | uygulanabilir değil | evet | no |
dynamic_slice | evet | evet | evet | evet | evet |
dynamic_update_slice | evet | evet | evet | evet | evet |
einsum | no | yeniden ziyaret et | no | evet | yeniden ziyaret et |
üstel | evet | evet | evet | evet | evet |
exponential_minus_one | evet | evet | evet | evet | evet |
f. | evet | yeniden ziyaret et | evet | evet | no |
floor | evet | evet | evet | evet | evet |
toplamak | evet | evet | evet | no | evet |
get_dimension_size | evet | evet | evet | evet | evet |
get_tuple_element | evet | evet | evet | evet | evet |
if | evet | yeniden ziyaret et | evet | no | evet |
hayal etmek | evet | evet | evet | evet | evet |
feed içi | evet | evet | uygulanabilir değil | no | evet |
Iota | evet | evet | uygulanabilir değil | evet | evet |
is_finite | evet | evet | evet | evet | evet |
log | evet | evet | evet | evet | evet |
log_plus_one | evet | evet | evet | evet | evet |
lojistik | evet | evet | evet | evet | evet |
harita | evet | yeniden ziyaret et | evet | no | evet |
maksimum | evet | evet | evet | evet | evet |
minimum | evet | evet | evet | evet | evet |
çarpma | evet | evet | evet | evet | evet |
işareti değiştir | evet | evet | evet | evet | evet |
değil | evet | evet | evet | evet | evet |
optimization_barrier | evet | evet | evet | evet | evet |
veya | evet | evet | evet | evet | evet |
feed dışı | evet | evet | evet | no | evet |
tampon | evet | evet | evet | evet | evet |
partition_id | evet | evet | evet | evet | evet |
Popcnt | evet | evet | evet | evet | evet |
güç | evet | evet | evet | evet | evet |
gerçek | evet | evet | evet | evet | evet |
real_dynamic_slice | no | yeniden ziyaret et | no | evet | no |
Recv | evet | evet | uygulanabilir değil | no | evet |
reduce | evet | yeniden ziyaret et | evet | yeniden ziyaret et | evet |
reduce_precision | evet | evet | evet | evet | evet |
reduce_scatter | evet | yeniden ziyaret et | no | no | evet |
reduce_window | evet | yeniden ziyaret et | evet | no | evet |
kalan | evet | evet | evet | evet | evet |
replica_id | evet | evet | evet | evet | evet |
yeniden şekillendirmek | evet | evet | uygulanabilir değil | evet | evet |
return | no | yeniden ziyaret et | uygulanabilir değil | evet | evet |
geri al | evet | evet | evet | evet | evet |
rng | evet | evet | evet | evet | yeniden ziyaret et |
rng_bit_generator | evet | yeniden ziyaret et | uygulanabilir değil | evet | yeniden ziyaret et |
round_nearest_afz | evet | evet | evet | evet | evet |
round_nearest_even | evet | evet | evet | evet | evet |
rsqrt | evet | evet | evet | evet | evet |
scatter | evet | yeniden ziyaret et | evet | no | evet |
seç | evet | evet | evet | evet | evet |
select_and_scatter | evet | yeniden ziyaret et | evet | no | evet |
gönder | evet | evet | evet | no | evet |
set_dimension_size | no | evet* | evet* | evet | no |
shift_left | evet | evet | evet | evet | evet |
shift_right_arithmetic | evet | evet | evet | evet | evet |
shift_right_logical | evet | evet | evet | evet | evet |
işaret | evet | evet | evet | evet | evet |
sinüs | evet | evet | evet | evet | evet |
dilim | evet | evet | evet | no | evet |
sıralama | evet | evet | evet | no | evet |
sqrt | evet | evet | evet | evet | evet |
çıkar | evet | evet | evet | evet | evet |
Tanh | evet | evet | evet | evet | evet |
torch_index_select | no | yeniden ziyaret et | no | no | yeniden ziyaret et |
trace | no | yeniden ziyaret et | no | evet | yeniden ziyaret et |
ters çevir | evet | evet | evet | evet | evet |
triangular_solve | evet | yeniden ziyaret et | evet | no | yeniden ziyaret et |
tuple | evet | evet | evet | evet | evet |
unary_einsum | no | yeniden ziyaret et | no | evet | yeniden ziyaret et |
uniform_dequantize | evet | evet | evet | evet | no |
uniform_quantize | evet | yeniden ziyaret et | uygulanabilir değil | evet | no |
süre | evet | yeniden ziyaret et | evet | yeniden ziyaret et | evet |
Xor | evet | evet | evet | evet | evet |