این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

گویشهای MLIR

بررسی اجمالی

برای جدا کردن اهداف سخت افزاری و نرم افزاری مختلف ، MLIR دارای "گویش" است ، از جمله:

  • TensorFlow IR ، که تمام موارد ممکن در نمودارهای TensorFlow را نشان می دهد.
  • XLA HLO IR ، که به منظور استفاده از توانایی های تلفیقی XLA (با خروجی از جمله موارد دیگر TPU) طراحی شده است.
  • گویش اکتشافی آزمایشی ، که بر بازنمایی و بهینه سازی های چند کلیسایی متمرکز است .
  • LLVM IR که یک نقشه برداری 1: 1 بین آن و نمایندگی خود LLVM دارد و به MLIR اجازه می دهد تا از طریق LLVM کد GPU و CPU را منتشر کند.
  • TensorFlow Lite ، که به کد در حال اجرا در سیستم عامل های تلفن همراه ترجمه می شود.

هر گویش شامل مجموعه ای از عملیات تعریف شده است که متغیرها را روی آنها قرار داده است ، مانند: "این یک عملگر باینری است ، و ورودی ها و خروجی ها انواع مشابهی دارند."

افزودن به MLIR

MLIR هیچ لیست ثابت / داخلی درمورد عملیات های شناخته شده در سطح جهان (بدون "ذات") ندارد. گویشها می توانند انواع کاملاً سفارشی را تعریف کنند ، به این ترتیب MLIR می تواند چیزهایی مانند سیستم نوع LLVM IR (که دارای مصالح درجه یک است) مدل سازی کند ، انتزاع دامنه برای شتابدهندههای بهینه شده ML مانند انواع کمی ، و حتی سیستمهای نوع Swift یا Clang (که در آینده در مورد گره های اعلامیه Swift / Clang ساخته شده اند.

اگر می خواهید یک کامپایلر سطح پایین جدید متصل شوید ، می توانید یک گویش جدید و حروف کوچک را بین گویش TensorFlow Graph و گویش خود ایجاد کنید. این مسیری را برای سازندگان سخت افزار و کامپایلر هموار می کند. شما حتی می توانید لهجه ها را در سطوح مختلف در همان مدل هدف قرار دهید. بهینه سازهای سطح بالاتر به قسمتهای ناآشنا IR احترام می گذارند و منتظر سطح پایینتری برای رسیدگی به آن خواهند بود.