ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

لهجات MLIR

نظرة عامة

لفصل أهداف الأجهزة والبرامج المختلفة ، تحتوي MLIR على "لهجات" ، بما في ذلك:

  • TensorFlow IR ، الذي يمثل كل الأشياء الممكنة في الرسوم البيانية لـ TensorFlow.
  • XLA HLO IR ، الذي تم تصميمه للاستفادة من قدرات تجميع XLA (مع الإخراج ، من بين أمور أخرى ، TPU).
  • لهجة أفينية تجريبية ، تركز على التمثيل المتعدد السطوح والتحسينات.
  • LLVM IR ، الذي يحتوي على تعيين 1: 1 بينها وبين تمثيل LLVM الخاص ، مما يسمح لـ MLIR بإصدار رمز GPU و CPU من خلال LLVM.
  • TensorFlow Lite ، الذي سيترجم إلى تشغيل الكود على منصات الهواتف المحمولة.

تتكون كل لهجة من مجموعة من العمليات المحددة التي وضعت عليها ثوابت ، مثل: "هذا عامل ثنائي ، والمدخلات والمخرجات لها نفس الأنواع."

إضافة إلى MLIR

لا تحتوي MLIR على قائمة ثابتة / مضمنة للعمليات المعروفة عالميًا (لا توجد "عناصر جوهرية"). يمكن أن تحدد اللهجات أنواعًا مخصصة تمامًا ، وهي الطريقة التي يمكن بها لـ MLIR وضع نماذج لأشياء مثل نظام نوع LLVM IR (الذي يحتوي على تجميعات من الدرجة الأولى) ، وملخصات المجال المهمة للمسرعات المحسنة لـ ML مثل الأنواع الكمية ، وحتى أنظمة نوع Swift أو Clang (التي مبنية حول عقد إعلان Swift / Clang) في المستقبل.

إذا كنت ترغب في توصيل مترجم جديد منخفض المستوى ، فيمكنك إنشاء لهجة جديدة والخفض بين لهجة TensorFlow Graph ولهجتك. هذا ينعم المسار لصانعي الأجهزة والمترجم. يمكنك حتى استهداف اللهجات على مستويات مختلفة في نفس النموذج ؛ سيحترم محسنو المستوى الأعلى الأجزاء غير المألوفة من IR وينتظرون مستوى أقل للتعامل معها.