סטטוס StableHLO

במהלך אתחול של StableHLO מ-MHLO, קיבלנו בירושה את ההטמעה של MHLO של דברים רבים, כולל הדפסה יפה (preprinting), אימות והסקת צורה. לכן כבר יש לנו כיסוי משמעותי של הצד השלישי, אבל עדיין יש הרבה מה לעשות כדי לוודא שההטמעות הקיימות יהיו שלמות ולספק הטמעות חדשות שלא קיימות.

המסמך הפעיל הזה מיועד למפתחים ולמשתמשים לצורך מעקב אחר ההתקדמות בהיבטים שונים של התוכנה – מפרט, אימות, מסקנות לגבי סוג, הדפסה יפה, תרגום וכו'.

איך להשתמש בעמודה

המעקב אחרי ההתקדמות של פעולה ב-SableHLO, כפי שצוין בשורה המתאימה, בהיבט מסוים (כפי שמצוין בעמודה המתאימה), מתבצע באמצעות אחת מתוויות המעקב הבאות.

  • תוויות גנריות
    • yes: הטמעה מקיפה.
    • no: אין הטמעה, אבל אנחנו עובדים על זה כחלק ממפת הדרכים. חשוב לשים לב שאי אפשר לסמן 'מאמת' אף פעם כ'לא' כי ה-ODS כבר מיישם אימות מסוים.
  • תוויות מותאמות אישית לאימות ולסוג מסקנות
    • yes: יש הטמעה, והיא מסונכרנת עם הסמנטיקה של StableHLO.
    • yes*: יש הטמעה, והיא מסונכרנת עם הסמנטיקה של XLA. מכיוון שהסמנטיקה של XLA מתועדת לעיתים קרובות, אנחנו משתמשים בהפניות hlo_verifier.cc ו-shape_inference.cc.
    • revisit: יש הטמעה, אבל היא לא מסווגת כ-"yes" או "yes*" – כי עוד לא בדקנו אותה או כי מצאנו ומצאנו בעיות.
    • בלתי אפשרי: אין יישום כי הוא בלתי אפשרי. לדוגמה, מכיוון שלא ניתן להסיק את סוג התוצאה של פעולה לפי האופרנדים והמאפיינים שלו.

סטטוס

אירוע StableHLO מפרט אימות השערה של סוג הדפסה יפה תרגום שיחה פעילה
abs כן כן כן כן כן
add כן כן כן כן כן
after_all כן כן כן כן כן
all_gather כן לבקר שוב no no כן
all_reduce כן לבקר שוב כן no כן
all_to_all כן לבקר שוב כן no כן
וגם כן כן כן כן כן
atan2 כן כן כן כן כן
batch_norm_grad כן לבקר שוב כן no לבקר שוב
batch_norm_inference כן לבקר שוב כן no לבקר שוב
batch_norm_training כן לבקר שוב כן no לבקר שוב
bitcast_convert כן כן בלתי אפשרי כן כן
שידור no כן* כן* כן לבקר שוב
broadcast_in_dim כן כן בלתי אפשרי כן כן
כיסוי כן לבקר שוב כן no כן
Cbrt כן כן כן כן כן
CEil כן כן כן כן כן
צ'ולסקי כן כן כן כן לבקר שוב
מהדק כן לבקר שוב כן כן כן
collective_permute כן לבקר שוב כן no כן
השוואה כן כן כן כן כן
מורכב כן כן כן כן כן
compute_reshape_shape no לבקר שוב no כן no
concatenate כן כן כן כן כן
קבוע כן כן כן כן כן
להשלים המרה כן כן בלתי אפשרי כן כן
קונבולציה כן כן בלתי אפשרי לבקר שוב no
קוסינוס כן כן כן כן כן
count_leading_zeros כן כן כן כן כן
create_token no כן* כן* כן לבקר שוב
סכום בין עותקים no לבקר שוב כן* no לבקר שוב
cstr_reshapable no לבקר שוב no כן no
custom_call כן כן בלתי אפשרי כן כן
חילוק כן כן כן כן כן
נקודה no לבקר שוב בלתי אפשרי כן לבקר שוב
dot_general כן לבקר שוב בלתי אפשרי no כן
dynamic_broadcast_in_dim no לבקר שוב בלתי אפשרי no no
dynamic_conv no לבקר שוב no no no
dynamic_gather no לבקר שוב לבקר שוב no no
dynamic_iota no לבקר שוב בלתי אפשרי כן no
dynamic_pad no לבקר שוב no כן no
dynamic_reshape no לבקר שוב בלתי אפשרי כן no
dynamic_slice כן כן כן כן כן
dynamic_update_slice כן כן כן כן כן
einsum no לבקר שוב no כן לבקר שוב
מעריכיות כן כן כן כן כן
exponential_minus_one כן כן כן כן כן
fft כן לבקר שוב כן כן no
פונקציית הרצפה כן כן כן כן כן
לאסוף כן כן כן no כן
get_dimension_size כן כן כן כן כן
get_tuple_element כן כן כן כן כן
if כן לבקר שוב כן no כן
Imag כן כן כן כן כן
בגוף הפיד כן כן בלתי אפשרי no כן
iota כן כן בלתי אפשרי כן כן
is_finite כן כן כן כן כן
log כן כן כן כן כן
log_plus_one כן כן כן כן כן
לוגיסטיקה כן כן כן כן כן
מפה כן לבקר שוב כן no כן
מקסימום כן כן כן כן כן
מינימום כן כן כן כן כן
הכפלה כן כן כן כן כן
שלילה כן כן כן כן כן
לא כן כן כן כן כן
optimization_barrier כן כן כן כן כן
או כן כן כן כן כן
מודעות Outstream כן כן כן no כן
רפידה כן כן כן כן כן
partition_id כן כן כן כן כן
Popcnt כן כן כן כן כן
כוח כן כן כן כן כן
ריאל כן כן כן כן כן
real_dynamic_slice no לבקר שוב no כן no
תקליטים כן כן בלתי אפשרי no כן
הקטנה כן לבקר שוב כן לבקר שוב כן
reduce_precision כן כן כן כן כן
reduce_scatter כן לבקר שוב no no כן
reduce_window כן לבקר שוב כן no כן
שארית כן כן כן כן כן
replica_id כן כן כן כן כן
לשנות את הצורה כן כן בלתי אפשרי כן כן
return no לבקר שוב בלתי אפשרי כן כן
הפוך כן כן כן כן כן
ארנג כן כן כן כן לבקר שוב
rng_bit_generator כן לבקר שוב בלתי אפשרי כן לבקר שוב
round_nearest_afz כן כן כן כן כן
round_nearest_even כן כן כן כן כן
RSqrt כן כן כן כן כן
scatter כן לבקר שוב כן no כן
בחירה כן כן כן כן כן
select_and_scatter כן לבקר שוב כן no כן
שליחה כן כן כן no כן
set_dimension_size no כן* כן* כן no
shift_left כן כן כן כן כן
shift_right_arithmetic כן כן כן כן כן
shift_right_logical כן כן כן כן כן
סמל כן כן כן כן כן
סינוס כן כן כן כן כן
פרוסה (slice) כן כן כן no כן
מיון כן כן כן no כן
sqrt כן כן כן כן כן
חיסור כן כן כן כן כן
טן כן כן כן כן כן
torch_index_select no לבקר שוב no no לבקר שוב
trace no לבקר שוב no כן לבקר שוב
להחליף כן כן כן כן כן
triangular_solve כן לבקר שוב כן no לבקר שוב
tuple כן כן כן כן כן
unary_einsum no לבקר שוב no כן לבקר שוב
uniform_dequantize כן כן כן כן no
uniform_quantize כן לבקר שוב בלתי אפשרי כן no
בזמן כן לבקר שוב כן לבקר שוב כן
Xor כן כן כן כן כן