דף זה תורגם על ידי Cloud Translation API.
Switch to English

MLIR

סקירה כללית

MLIR, או ייצוג ביניים רב-דרגתי, הוא פורמט ייצוג וספריה של כלי קומפיילר היושב בין ייצוג הדגם לבין מהדרים / מפיצים ברמה נמוכה המייצרים קוד ספציפי לחומרה.

MLIR היא, בליבה, תשתית גמישה עבור מהדרים מיטביים מודרניים. משמעות הדבר היא שהיא מורכבת מפרט לייצוגים בינוניים (IR) וערכת כלים לקוד כדי לבצע טרנספורמציות על אותו ייצוג. (בסטנדרט מהדר, כאשר אתה עובר מייצוגים ברמה הגבוהה יותר לייצוגים ברמה נמוכה יותר, ניתן לכנות טרנספורמציות אלה "הורדות").

MLIR מושפע מאוד מ- LLVM ומשתמש ללא בושה ללא רעיונות גדולים ממנו. יש לו מערכת מסוג גמיש, והיא מאפשרת ייצוג, ניתוח והפיכה של גרפים המשלבים מספר רמות הפשטה באותה יחידת קומפילציה. הפשטות אלה כוללות פעולות של TensorFlow, אזורי לולאה פוליהדרליים מקוננים, ואפילו הוראות LLVM ופעולות וסוגי חומרה קבועים.

אנו מצפים מ- MLIR שיהיה עניין לקבוצות רבות, כולל:

  • חוקרים ומיישמים מהדרים המחפשים למטב את הביצועים וצריכת הזיכרון של דגמי למידת מכונה
  • יצרני חומרה המחפשים דרך לחבר את החומרה שלהם ל- TensorFlow, כגון מכשירי TPU, חומרה עצבית ניידת בטלפונים ומכשירי ASIC מותאמים אישית אחרים.
  • אנשים כותבים כריכות שפה שרוצים לנצל אופטימיזציה של מהדרים ותאוצת חומרה.

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

תרשים סקירה של MLIR